web-dev-qa-db-ja.com

Chrome)のSSL証明書「秘密鍵がありません」

Chromeに基づく Googleからのこれらの指示 )にクライアント証明書をインストールしようとしています。証明書はVPN用であり、RSA暗号化を使用し、次の1つの修飾子を満たしています。そのドキュメント(RSAのみ)。これは、OpenVPNネットワークで使用するためにeasy-rsaによって生成され、サードパーティのソフトウェア(「OpenVPN接続」)を使用して1年の大部分で正常に機能しましたが、最近は不思議なことに DNSの問題を引き起こし始めました1 だから私は今、代わりにChrome組み込みを試しています。

ただし、chrome://settings/certificatesに移動してクライアント証明書(「認証局」の下に既にインストールされているCA証明書)をインポートしようとすると、「の秘密鍵このクライアント証明書がないか無効です」。キーは、同じディレクトリ内の同じベース名と拡張子.keyの別のファイルにありますが、Chromeファイルピッカーにはありません。

キー(キーと証明書の両方がPEMにある)を証明書に追加しようとしましたが、違いはありませんでした。


  1. 注VPNはインターネットのトンネリングに使用されていません。つまり、私のデフォルトルートはまだローカルwifiルーターを経由しています。 VPNルートは、そのプライベートサブネット上の他のノード専用です。サーバー構成もクライアント構成もDNSに関連する設定をプッシュしません。しかし、これはすべて私の質問とはあまり関係がありません。
1
goldilocks

Chromeは、ほとんどのブラウザと同様に、秘密鍵が公開証明書とともにPKCS#12ファイルに安全に保存されることを期待しています。

持っている2つのファイルを1つのPKCS#12ファイル(PFXファイルと呼ばれることもあります)に変換する必要があります。

OpenSSLを使用して以下を変換できます。

openssl pkcs12 -export -out myCert.p12 -inkey myCert.key -in myCert.crt -certfile caCert.crt

注:証明書が.pemまたは.cerで終わるファイルに保持されている場合があります。適切なファイル名を使用するには、上記のコマンドを変更するだけです。

これで、ブラウザにインポートできるようになります。

3
garethTheRed