インポートする証明書と非公開鍵は、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 |