Openssl asn1parseツールを使用したASN.1メッセージのデコード

Openssl asn1parseツールを使用したASN.1メッセージのデコード

私はopenssl asn1parseこのツールを使い続けており、RHEL次の独自のASN.1抽象構文ファイルを持っています。TestModule.asn1

openssl asn1parse -inform DER -genconf TestModule.asn1 -in CDRMessage -out test.txt

次のエラーが発生します。

Error on line 1 of config file 'TestModule.asn1'
140411047393096:error:0E079065:configuration file routines:DEF_LOAD_BIO:missing equal sign:conf_def.c:362:line 1

構成ファイルを確認しましたが、エラーはありません。

修正する:

以下はTestModule.asn1ファイルの最初の10行のリストです。

--      File : TestModule.asn1
--

CDRMSG_GA_1040 {iso(1) member-body(2) bsi(826) disc(0) vndr(1249)
Domain (0) charge (5) cDRMSG (1) asn1Module (0)}

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

どんな助けでも大変感謝します。

答え1

この openssl コマンドは ASN.1 アーキテクチャをサポートしません。

見ているopenssl asn1parse のマニュアルページ-genconfopenssl特定のシリアル化形式のファイルが必要です。

-genstr 文字列、-genconf ファイル

フォーマットを使用して、文字列、ファイル、またはその両方に基づいてエンコードされたデータを生成しますASN1_generate_nconf。ファイルのみが存在する場合は、asn1という名前を使用して基本セクションから文字列を取得します。エンコードされたデータはASN1パーサーを介して渡され、ファイルからのように印刷されるため、outオプションを使用して内容を調べてファイルに書き込むことができます。

-genconfまた、参照とともに使用しないでください。-inマニュアルページの例:

openssl asn1parse -in file.pem

そして:

openssl asn1parse -genconf asn1.cnf -noout -out asn1.der

おそらくいくつかの混乱は、用語のさまざまな使用から来るでしょう。厳密に言えば、ASN.1はパターン言語です。したがって、ASN.1構造はスキーマの一部です。スキーマは有効な文書の構造を指定します。 ASN.1は、いわゆるエンコーディングルール(BER - >デフォルトエンコーディングルール、DER - >差別化可能なエンコーディングルール)と呼ばれるさまざまなドキュメントエンコーディングをサポートしています。

一部の人々はこれを区別しません。たとえば、エンコードされたファイルはASN.1ファイルとも呼ばれます。またはDERタグをASN.1構造と呼びます。 asn1parse のマニュアルページを例に挙げます。

asn1parseコマンドは、ASN.1構造を解析できる診断ユーティリティです。

関連情報