要导入的证书和私钥必须以 PEM 或 DER 编码的 X.509 证书和私钥形式存在。此外,必须先将任何将您的签名证书与证书颁发机构证书相关联的中间或“链”证书导入到软件包密钥库中,然后才能对软件包进行签名。
各证书颁发机构可能会颁发不同格式的证书。要将证书和私钥从 PKCS12 文件提取到 PEM 编码的 X.509 文件(适于导入到软件包密钥库),请使用免费软件转换实用程序,例如 OpenSSL。
如果您的私钥进行了加密(通常应该如此),系统将提示您输入口令短语。此外,还将提示您输入口令以保护生成的软件包密钥库。您可以选择不提供任何口令,但是这样做会导致软件包密钥库不会加密。
以下过程介绍了证书格式正确时,如何使用 pkgadm 命令导入证书。
导入在 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> |
检验证书是否在软件包密钥库中。
例如,要在密钥库中查看在上一步骤中创建的证书,应键入以下内容:
$ pkgadm listcert -k ~/mykeystore |