Jarsigner - 别名包含变音符号

问题描述 投票:0回答:1

这是我在这里发表的第一篇文章。我想寻求帮助。

我在签署 .jar 应用程序时遇到问题。我不知道如何在 jarsigner 命令中指定别名,其中包含变音符号。 我有代码签名证书。我的别名 (Pa Zówka) 包含 ó 字母 - 带有锐音的拉丁文小写字母 O。 我使用的是 JDK 8u121。 我尝试了很多组合,但每次我都会收到错误消息:

jarsigner: key associated with <my alias>. not a private key

我尝试将我的别名转换为 Unicode:

\u0050\u0061 \u007a\u00f3\u0077\u006b\u0061

或仅替换这个有问题的字母:

Pa Z\u00f3wka

我已将 Windows 命令行的代码页更改为 65001、852 和 1252。仍然是相同的错误。 这是我的命令:

jarsigner -keystore NONE -certchain subca.pem -tsa "http://server.time.pl" -storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg "provider.cfg" "fileToSign.jar" "Pa Z\u00f3wka"

证书存储在智能卡上,这就是我使用 PKCS11 和 -keystore NONE 的原因。 Provider.cfg 包含智能卡的插槽设置。

我也有相同的证书,没有任何变音符号,存储在另一张卡上并且可以正常工作。

任何建议都非常感谢。

digital-signature signing pkcs#11 jarsigner
1个回答
0
投票

这不会起作用。您需要编辑证书中的 CKA_LABEL 字段,使其仅包含 ASCII 字符。 在 Windows 上,您可以使用 PKCS11Admin 实用程序来执行此操作,在 Linux 上,您可以使用 pkcs11-tool。 只有这样它才会起作用。 有关如何使用 PKCS11Admin 执行此操作的说明如下(从第 11-12 页开始):https://www.files.certum.eu/documents/manual_en/Code-Signing-signing-the-code-using-tools-类似-Singtool-and-Jarsigner_v2.3.pdf

© www.soinside.com 2019 - 2024. All rights reserved.