2018-09-14 02:14 PM
こんにちは、ASA5545X + AnyConnect 4.5系でエンドユーザーにSSL-VPNサービスを提供しています。
サーバ証明書のエクスポートについて質問があります。
どなたかご回答いただけますでしょうか。
■概要
毎年、CSRを生成して、グローバルサイン社のような企業から証明書を発行してもらい適用しています。(1年更新)
適用した証明書をPKCS12形式(証明書+秘密鍵)でエクスポートして、
テスト機にインポートすると問題なく動作します。
CSR生成の時に使う秘密鍵は、General Purpose(エクスポートできない)として生成されたものを使用しています。
今年から、ASAからエクスポートした証明書を、別サーバに適用することを計画しています。
(SANsフィールドに別サーバー名/ドメイン名を列挙することで、別サーバにも適用可能という考え方です。
SANsフィールド追加に対してオプション料金を払うことで、ライセンス料に関する問題をクリアできます。)
■実施内容
ASAからエクスポートしたPKCS12形式の秘密鍵つき証明書から、秘密鍵だけ取得する要望が出てきました。
(ASAからPEM形式の証明書(秘密鍵なし)をエクスポートすることは、CLIまたはASDMから容易にできます。)
PKCS12形式のファイルをOpenSSLで処理しようとしたのですが、うまくいきません。
OpenSSL for Win32での実施例を抜粋します。(Linux OSで実行しても同じでした)
----------------------------------------------
C:\OpenSSL-Win32\bin>openssl.exe pkcs12 -in C:\OpenSSL-Win32\PKCS\[ファイル名].p12 -out [出力ファイル名]
892:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:crypto\asn1\tasn_dec.c:1129:
892:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:crypto\asn1\tasn_dec.c:289:Type=PKCS12
書式、フォーマットなどがOpenSSLが想定したものと異なるということのようです。
秘密鍵に対するパスフレーズの入力を求めることもしてきません。
----------------------------------------------
普段、Linux, Windows OSサーバで使用する証明書を扱う業務をしていないため、
「一般的な他のOSとここが違う」といった判断をすることができません。
■質問内容
・ASAからエクスポートしたPKCS12ファイルには、Windows、Linux OSの場合と比較して、何か独自仕様はあるのでしょうか?
・OpenSSLで秘密鍵だけ取得する方法はあるのでしょうか?
・ASAで生成したNon-Exportableの鍵をExportableに変換することはできないと思いますが、
一旦Non-Exportableで生成した鍵と同じ内容のものを、Exportableで再生成することは可能でしょうか?
鍵の再生成→CSR生成→証明書の発行依頼のやり直しまで戻ると、時間的に厳しいためです。。
よろしくお願いします。
2018-09-18 11:08 AM
エキスパートの回答、ステップバイステップガイド、最新のトピックなどお気に入りのアイデアを見つけたら、あとで参照できるように保存しましょう。
コミュニティは初めてですか?これらのヒントを活用してスタートしましょう。 コミュニティの活用方法 新メンバーガイド