web-dev-qa-db-ja.com

コマンドラインからFirefoxにPKCS#12証明書をインストールします

Certutilを使用してクライアント証明書をFirefoxデータベースに追加しようとしています:この証明書の目的はサーバーで認証することです-サーバーは資格情報を要求します。この証明書には資格情報が含まれています。

certutil -A -n "My Certificate" -d /myfirefoxprofile/ -t "CT,," -a -i /mycertificate.pfx 

しかし、これは私にエラーを与えます:

certutil: could not obtain certificate from file: security library: improperly formatted DER-encoded message.

私は明らかに間違ったことをしていますか?

これはubuntu10.10にあります

5
Derek Ekins

ここでopensslスイッチを使用してPFXをPEM ...方向に変換する必要があるようです: http://support.citrix.com/article/CTX106028

明らかにどういうわけか私が混乱していたように明確にするために:

pfxからpemに変換してから、新しいファイルを使用してインポートコマンドを再実行します(編集:および以下の変更されたオプション)。 Firefoxの証明書のインポートがpfxファイルタイプで窒息しているように見えます(編集:適切なインポートオプションが指定されていませんでした)。リンク先の指示はFirefoxのインポート用ではなく、証明書の変換用です。

質問編集後の追加編集:

-tには、クライアント証明書として使用するuオプションが必要です。 -uフラグにはCオプションが必要です... certutilフラグはここに記載されています: http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

こちらもご覧ください: http://www.phocean.net/2008/11/16/how-to-stop-firefox-from-prompting-for-the-client-certificate.html
ブラウザが証明書の使用を促す場合があるため

certutil -A -n "My Certificate" -d/myfirefoxprofile/-t "CTu ," -u "c" -a -i /mycertificate.pem

それをする必要があります

4
RobotHumans

空のFirefoxプロファイルにクライアント証明書をインポートする方法は次のとおりです。

# convert pem and key file into a pkcs12
openssl pkcs12 -export -in /path/my-cert.pem -inkey /path/my-cert.key -out /tmp/my-cert.p12 

# create empty directory
mkdir /tmp/empty_profile

# populate dir with certificate databases
certutil -N -d sql:/tmp/empty_profile

# import p12 file into database
pk12util -d sql:/tmp/empty_profile -i /tmp/mycert.p12 -n my-cert-nickname 
1
schmudu