我正在使用openssl asn1parse
工具 over ,当我尝试使用以下命令解析消息时,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 手册页需要-genconf
一个 openssl 特定序列化格式的文件:
-genstr 字符串,-genconf 文件
使用格式基于字符串、文件或两者生成编码数据
ASN1_generate_nconf
。如果仅存在文件,则使用名称 asn1 从默认部分获取字符串。编码数据通过 ASN1 解析器传递并打印出来,就好像它来自文件一样,因此可以使用 out 选项检查内容并将其写入文件。
另外,不应该与, cf-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 结构