java Keytool,从JKS或PFX中检索字符串形式的别名值

zlhcx6iw  于 2023-01-15  发布在  Java
关注(0)|答案(2)|浏览(256)

我正在运行一个Powershell脚本,该脚本正在更新java应用程序中的属性文件,并使用Keytool将密钥从PFX转换为JKS格式。
我正在尝试将PFX转换为JKS。我不能指定-"destalias"而不指定"-srcalias"。证书是PFX,我不认为它有别名,而只有指纹。
然而,Keytool似乎看到PFX有一个别名,并使用该值自动填充JKS文件的别名值。
我需要别名的值作为一个字符串来更新我的属性文件。
问题:
是否有一种方法可以使用Keytool或Powershell从PFX或JKS获取别名值作为字符串值?
谢谢大家!

ou6hu8tu

ou6hu8tu1#

您可以使用以下命令
keytool -v -list -storetype pkcs12 -keystore x.pfx
要查看别名,通常它会是某个数字,如1或2,然后您可以在命令中使用它来执行“-srcalias”

lb3vh1jj

lb3vh1jj2#

您可以使用keytool -list从PFX中获取信息,并将Select-String与Regex表达式一起使用,以便从keytool中自动读取信息。

$alias = (
        keytool -list -keystore $pfxFile -storepass $pass -v |
        Select-String -Pattern "Alias name: (.+)"
    ).Matches.Groups |
    select -Skip 1 -First 1 -ExpandProperty Value;

这将查找以Alias name:开头的字符串,后跟一个组中的任何字符,然后获取第一个组,忽略外部匹配组。
检查$LASTEXITCODE -ne 0以查看它是否失败。

相关问题