
ユーザー向けに x.509 証明書認証を使用した IPSec VPN 接続を作成しようとしています。
以下は動作させるためのテストであり、安全な実装ではありません。動作を確認したら信頼できるソースから証明書を取得しますが、その間は自己署名証明書を使用します。
私はWindows 10 20H2を使用しています
1- XCA を使用してルート証明書を作成します。
2- たとえば、最初の VPN ユーザー用の証明書署名要求を作成します。
3- XCAでリクエストに署名する
4- XCAからのリクエストをPEM形式でエクスポートします
5- OpenSSLをインストールし、インストールフォルダのopenssl.cfgに環境変数OPENSSL_CONFを設定します。https://slproweb.com/products/Win32OpenSSL.html(64ビット) W10 上の openSSL 用
6- 楽しいことが始まります。
私の理解では、スナップイン証明書追加ウィザードを使用して、コマンド ラインで MMC 経由で Windows マシンに証明書を追加する必要があります。pem 形式は受け入れられず、crt が必要です。
次に、OpenSSLを参照してフォーマットを変換します。
x509 -in CERT.pem -out CERTII.crtと入力すると
次のエラーが発生します:
Can't open CERT.pem for reading, No such file or directory
15732:error:02001002:system library:fopen:No such file or directory:crypto\bio\bss_file.c:69:fopen('CERT.pem','r')
15732:error:2006D080:BIO routines:BIO_new_file:no such file:crypto\bio\bss_file.c:76:
unable to load certificate
error in x509
かなり調べてみましたが、このエラーの正確な意味がわからず、実行可能な代替手段として髪の毛を一本ずつ抜くことを考えています。
編集 2020-12-11 1600
.crt に名前を変更してローカル証明書に追加するとエラーが発生しました:
file type is not recognizable. Select another file.
また、管理者権限で openssl cli にフルパスを指定しても、エラーが発生します。
たとえば、証明書を OpenSSL フォルダーにコピーし、コマンド「openssl x509 -in CERT.pem -out CERT.crt」を実行すると、次のエラーが発生します。
"unable to load certificate
15252:error:0909006C:PEM routines:get_name:no start line:crypto\pem\pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
error in x509"
編集 2020-12-10 1610 - 証明書の抜粋
-----BEGIN CERTIFICATE REQUEST-----
MIIDGjCCAgICAQAwgaExCzAJBgNVBAYTAkNBMQ8wDQYDVQQIEwZRVUVCRUMxEjAQ
....
hfz1ew0RTMxZv2hMlN/wn5Y0EZKpRr5jMrgZprG7
-----END CERTIFICATE REQUEST-----
リクエストとしてではなく、署名された証明書としてリストされる必要があると思いますか?
編集 2020-12-10 1626 EST
UnNamed が私の問題を解決してくれました。彼らに感謝の意を表します。
XCA では、リクエストに署名するときに、別のタブ (証明書) からエクスポートする必要があることがすぐにはわかりません。
ユーザー証明書の署名に使用されたルート証明書の下に、署名されたユーザー証明書のドロップダウンがあります。証明書のカスタム ビューを作成した後、問題なくエクスポートして mmc に追加することができました。
ここから VPN の設定を続けます。
答え1
証明書は と同じディレクトリに配置するopenssl.exe
か、 のような完全/絶対パスを指定する必要がありますC:\temp\cert.pem
。
crt ファイル拡張子は Windows 用で、コンテンツは base64 PEM 形式です。コンテンツを「変換」する必要はありません。ファイル拡張子を から に変更するだけ.pem
です.crt
。