应用程序包开发者指南

Procedure如何将证书导入到软件包密钥库

要导入的证书和私钥必须以 PEM 或 DER 编码的 X.509 证书和私钥形式存在。此外,必须先将任何将您的签名证书与证书颁发机构证书相关联的中间或“链”证书导入到软件包密钥库中,然后才能对软件包进行签名。


注 –

各证书颁发机构可能会颁发不同格式的证书。要将证书和私钥从 PKCS12 文件提取到 PEM 编码的 X.509 文件(适于导入到软件包密钥库),请使用免费软件转换实用程序,例如 OpenSSL。


如果您的私钥进行了加密(通常应该如此),系统将提示您输入口令短语。此外,还将提示您输入口令以保护生成的软件包密钥库。您可以选择不提供任何口令,但是这样做会导致软件包密钥库不会加密。

以下过程介绍了证书格式正确时,如何使用 pkgadm 命令导入证书。

  1. 导入在 PEM 或 DER 编码的 X.509 证书文件中找到的所有证书颁发机构证书。

    例如,要导入在 ca.pem 文件中找到的所有证书颁发机构证书,应键入以下内容:


    $ pkgadm addcert -k ~/mykeystore -ty ca.pem
    

    输出可能如下所示:


    Trusting certificate <VeriSign Class 1 CA Individual \
    Subscriber-Persona Not Validated>
    Trusting certificate </C=US/O=VeriSign, Inc./OU=Class 1 Public \
    Primary Certification Authority
    Type a Keystore protection Password.
    Press ENTER for no protection password (not recommended): 
    For Verification: Type a Keystore protection Password.
    Press ENTER for no protection password (not recommended): 
    Certificate(s) from <ca.pem> are now trusted

    为了将您的签名密钥导入到软件包密钥库,必须提供别名,供以后签名软件包时使用。如果您要从软件包密钥库中删除密钥,也可能会使用该别名。

    例如,要从 sign.pem 文件中导入您的签名密钥,应键入以下内容:


    $ pkgadm addcert -k ~/mykeystore -n mycert sign.pem
    

    输出可能如下所示:


    Enter PEM passphrase:
    Enter Keystore Password: 
    Successfully added Certificate <sign.pem> with alias <mycert>
  2. 检验证书是否在软件包密钥库中。

    例如,要在密钥库中查看在上一步骤中创建的证书,应键入以下内容:


    $ pkgadm listcert -k ~/mykeystore