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にあります
ここで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
それをする必要があります
空の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