web-dev-qa-db-ja.com

OpenSSLはCisco ASA 55xxからエクスポートされたPKCS12を変換できません

ASA 5510から既存の証明書とキーをエクスポートしました。

asa5510(config)# crypto ca export MYTRUSTSTORE pkcs12 MYPASSWORD

出力をファイル(vpn-Cisco.pkcs12)に保存し、証明書とキーを次のように別々のファイルにプルしようとしています。

openssl pkcs12 -in Cisco-vpn.pkcs12 -nocerts -out privateKey.pem

私が受け取るエラー:

139708630054816:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1319:
139708630054816:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=PKCS12

openssl pkcs12 -info ...またはその他のコマンドを実行すると、同じエラーが発生します。

ファイルを再度エクスポートして、CLIの代わりにASDMを使用して比較しようとしましたが、ファイルはまったく同じです。

エラーのグーグルは、ファイルのエンコーディングが何らかの理由でオフになっている可能性があることを示しているだけで、具体的な詳細はありません。

4
dyasny

これは奇妙です。私は同じ問題を抱えており、この質問には答えがないことがわかりました。その後、さらに検索を行ったところ、回答が見つかり、この質問にリンクされている yaleman.org の投稿が見つかりました。それでも答えはありませんでした。それをさかのぼって修正する、完全な小道具をイエールマンに。

長短:pfxをBase64からopensslのバイナリ形式に変換する必要があります。

$ openssl enc -base64 -d -in certfile.pfx -out converted.pfx

次に、それをPEMに変換し、キーまたは証明書を個別に取得できます。

$ openssl pkcs12 -in converted.pfx -out bundle.pem -clcerts -nodes
5
8None1

デコードに問題がある場合は、ファイルを確認し、その中の空白行を削除してください。私たちのASAは先頭の空白でそれらを保存していましたが、opensslはそれが好きではありません。

1
Seth Randall