en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Java代码签名指南

本指南将帮助您开始使用 OV / IV or EV 来自SSL.com的代码签名证书。 这些说明假定您的计算机上已安装Java开发工具包(JDK),并且 keytooljarsigner 命令包含在您的 PATH 中。 Yubikey 代码签名说明假定您的证书安装在 a 的插槽 9a 中 YubiKey FIPS 令牌,因为它们由SSL.com发行。

从1年2023月XNUMX日开始,SSL.com 的组织验证 (OV) 和个人验证 (IV) 代码签名证书已通过联邦信息处理标准 140-2 (FIPS 140-2) USB 令牌或通过我们的 eSigner 云代码签名服务颁发。 本次变更符合规定 符合证书颁发机构/浏览器 (CA/B) 论坛的新密钥存储要求,以提高代码签名密钥的安全性。

如果您还没有代码签名证书,并且不确定所需的类型,请阅读 这个FAQ.

SSL.com的 OV / IV代码签名 证书是保护您的代码免遭未经授权的篡改和破坏的一种经济方法,并且证书的使用期限仅为 $ 64.50每年.

马上订购

OV/IV 代码签名(仅适用于 1 年 2023 月 XNUMX 日之前颁发的 OV/IV 证书)

配置

方法1:生成 CSR 和浏览器中的PFX文件

快速开始使用Java代码签名的最简单方法是生成一个 CSR 和从SSL.com检索证书并将其安装在新的Java密钥库中的PFX文件。

请注意: 也可以签署您的 .jar 通过添加未转换的PFX文件直接添加文件 -storetype pkcs12 标记到 jarsigner 命令。
  1. 请按照 订购和检索代码签名证书 订购证书并使用证书和私钥下载PFX文件。
  2. 使用以下命令将PFX导入到具有相同密码的新密钥库中。 (更换 MY-CERTIFICATE.p12MY-KEYSTORE.jks 以及您的PFX文件的实际名称和您要提供给密钥库的文件名。 另请注意 destalias 是任意的,如果需要,您可以使用另一个别名。)
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias代码签名
    请注意: 的价值 -srcalias 从SSL.com下载的PFX文件通常应为 1,但是您可以通过运行以下命令来确认 keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 并检查显示的值 Alias name.
  3. 系统将提示您输入目标密钥库的密码,然后输入源密钥库的密码(创建PFX时输入的密码)。 您可能还会看到一条以以下内容开头的警告消息 Warning: The JKS keystore uses a proprietary format。 您可以放心地忽略此消息。

方法2:生成密钥对和 CSR 用Java

如果您希望生成密钥对,并 CSR 对于Java,请遵循本节中的步骤。 该过程与创建一个 CSR 为 SSL /TLS 证书 在Java中。

创建密钥库和密钥对
  1. 首先,我们将创建一个密钥库和公用/专用密钥对。 Java使用带有扩展名的文件 .jks (Java KeyStore)来存储证书和加密密钥。 输入以下命令以生成密钥库和3072位RSA密钥对。 (更换 MY-KEYSTORE.jks 以及您想要文件具有的名称。)
    keytool -genkeypair-别名编码-keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. 您将看到一系列提示。 首先,创建并验证密钥库的密码,然后输入并验证请求的信息。 (用您自己的信息替换所有大写字母中显示的值。)
    输入密钥库密码:重新输入新密码:您的名字和姓氏是什么? [未知]:FIRSTNAME LASTNAME 您的组织名称是什么? [未知]:公司 您所在城市或地区的名称是什么? [未知]:CITY 您所在的州或省的名称是什么? [未知]:STATE 本机的两个字母国家代码是什么? [未知]:US CN=FIRSTNAME LASTNAME、OU=DEPARTMENT、O=COMPANY、L=CITY、ST=STATE、C=US 是否正确? [否]:是的
  3. 密钥库文件已生成,您可以创建一个 CSR.
产生 CSR
  1. 输入以下命令以生成一个 CSR 从我们刚刚创建的密钥库中。 (更换 MY-KEYSTORE.jks 与您在创建密钥库时使用的值和 MY-CSR.csr 与您要用于的名称 CSR.)
    keytool -certreq -alias codesigning -file MY-CSR.csr -keystore MY-KEYSTORE.jks
  2. 输入您在生成密钥库时创建的密码。
    输入密钥库密码:
  3. CSR 已经被创造了。 如果您准备从SSL.com订购证书,请在文本编辑器中打开文件以将其复制并粘贴到 CSR 订购时输入字段。 该文件的内容类似于以下示例:
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD
    VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U
    MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA
    A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L
    kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0
    ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM
    4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r
    YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE
    lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B
    CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B
    AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM
    wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw
    8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg
    VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS
    mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM
    MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w==
    -----END NEW CERTIFICATE REQUEST-----
订购和取回证书
  1. 请按照 订购和检索代码签名证书 通过步骤24。而不是立即单击 产生证书 按钮,选中标记为 我有我自己的 CSR.
    我有我自己的 CSR
  2. 贴上你的 CSR 进入表单字段,然后点击 产生证书 按钮。
    酱 CSR 并生成证书
  3. 点击 下载 按钮并保存 .crt 文件与生成密钥库的位置相同。
    下载
将证书导入密钥库
  1. 使用以下命令将证书导入到Java密钥库文件中。 (将MY-CERTIFICATE.crt和MY-KEYSTORE.jks替换为实际的文件名。)
    keytool -importcert-文件MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias代码签名
  2. 出现提示时输入密钥库密码。
    输入密钥库密码:  
  3. 您的证书已安装在密钥库中,您可以开始对文件进行签名了。
    证书回复已安装在密钥库中

用Jarsigner签名文件

  1. 使用以下命令将带有时间戳的数字签名添加到 .jar 文件。 (更换 /PATH/TO/MY-KEYSTORE.jksMY-JAR.jar 与您使用的实际文件名。 如果在设置密钥库时使用了其他别名,请用它代替 codesigning 在命令中。)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar代码签名
    注意:也可以在 .jar 通过添加未转换的PFX文件直接添加文件 -storetype pkcs12 标记到 jarsigner 命令。

    请注意: 默认情况下,SSL.com 支持来自 ECDSA 密钥的时间戳。

    如果您遇到此错误: The timestamp certificate does not meet a minimum public key length requirement,您应该联系您的软件供应商以允许来自 ECDSA 密钥的时间戳。

    如果您的软件供应商无法允许使用普通端点,您可以使用此旧版端点 http://ts.ssl.com/legacy 从 RSA 时间戳单元获取时间戳。
  2. 在提示符下输入密钥库密码。
    输入密钥库的密码: 
  3. 文件已签名。 您可以使用以下命令来验证签名:
    jarsigner-verify-verbose MY-JAR.jar
  4. 如果文件已成功签名,则命令的输出应包含以下行:
    s =签名已验证
    

 

使用 YubiKey 进行 IV、OV 和 EV 代码签名

SSL.com的 EV代码签名 证书可提供Windows 10内核模式代码签名和即时SmartScreen信誉提升,所有这些低至 $ 240.00每年。 他们安全地交付 YubiKey FIPS 具有两因素身份验证的USB令牌。

马上订购

配置

安装PKCS#11驱动程序并创建eToken.cfg文件

Windows
  1. 按照OpenSC的说明安装OpenSC Windows快速入门.
  2. 找到OpenSC PKCS#11驱动程序。 默认安装位置是 C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. 创建配置文件并将其保存在方便的位置(例如您的主目录)。 文件名是任意的,但是在本指南中,我们将使用 yubikey-pkcs11-java.cfg。 该文件应包含以下信息:
    名称= OpenSC-PKCS11描述=通过OpenSC库的SunPKCS11 = C:\ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macos
  1. Install 安装 OpenSC。 如果你使用 家酿 作为软件包管理器,您可以使用以下命令安装OpenSC:
    酿造安装opensc
  2. 找到OpenSC PKCS#11驱动程序。 如果使用Homebrew安装,则该文件应位于以下位置: /usr/local/lib/opensc-pkcs11.so.
  3. 创建配置文件并将其保存在方便的位置(例如您的主目录)。 文件名是任意的,但是在本指南中,我们将使用 yubikey-pkcs11-java.cfg。 该文件应包含以下信息:
    名称= OpenSC-PKCS11描述=通过OpenSC库的SunPKCS11 = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

用Jarsigner签名文件

  1. 使用以下命令将带有时间戳的数字签名添加到 .jar 文件。 (更换 MY-JAR.jar 以及您正在使用的实际文件名。)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore无-storetype PKCS11 MY-JAR.jar“用于PIV身份验证的证书”
  2. 在密码提示下输入您的YubiKey PIN。
    输入密钥库的密码: 
  3. 文件已签名。 您可以使用以下命令来验证签名:
    jarsigner-verify-verbose MY-JAR.jar
  4. 如果文件已成功签名,则命令的输出应包含以下行:
    s =签名已验证
    
感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.

 

Twitter
Facebook
LinkedIn
Reddit
邮箱