我有一堆.keystore文件,需要找到一个具有特定CN和别名的文件。有办法做到这一点与keytool, jarsigner或其他工具?我找到了一种方法来检查特定的密钥存储库是否用于对特定的apk进行签名,但是我还需要获得每个文件中的别名和证书名称。
当前回答
这将列出所有证书:
keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts"
其他回答
在类似bash的环境中,您可以使用:
keytool -list -v -keystore cacerts.jks | grep 'Alias name:' | grep -i foo
该命令由三部分组成。如上所述,第一部分将列出所有受信任的证书和所有详细信息,这就是为什么第二部分只过滤这些详细信息中的别名信息。最后在第三部分,你可以搜索一个特定的别名(或它的一部分)。-i打开不区分大小写模式。因此,给定的命令将产生包含'foo'、f.e. foo、123_FOO、fooBar等模式的所有别名。获取更多信息man grep。
您可以运行以下命令来列出您的密钥存储库文件的内容(以及别名):
keytool -v -list -keystore .keystore
如果你正在寻找一个特定的别名,你也可以在命令中指定它:
keytool -list -keystore .keystore -alias foo
如果没有找到别名,它将显示一个异常:
keytool错误:java.lang.Exception: Alias不存在
这将列出所有证书:
keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts"
我们可以使用简单的命令从Certs获取证书列表,并在结果输出中搜索您的别名。
keytool -list -keystore C:/swdtools/jdk1.7.0_67/jre/lib/security/cacerts
在Windows上:
Keytool -v -list -keystore my_keystore | findstr my_string
参考:
CMD搜索目录以查找文件中的字符串
推荐文章
- Manifest合并失败:uses-sdk:minSdkVersion 14
- 到底是什么导致了堆栈溢出错误?
- 为什么Android工作室说“等待调试器”如果我不调试?
- Java:路径vs文件
- 如何检查我的EditText字段是否为空?
- Android从图库中选择图像
- 后台任务,进度对话框,方向改变-有任何100%工作的解决方案吗?
- ExecutorService,如何等待所有任务完成
- Android:垂直对齐多行EditText(文本区域)
- Maven依赖Servlet 3.0 API?
- Android无尽列表
- 如何在IntelliJ IDEA中添加目录到应用程序运行概要文件中的类路径?
- getter和setter是糟糕的设计吗?相互矛盾的建议
- Android room persistent: AppDatabase_Impl不存在
- Java的String[]在Kotlin中等价于什么?