Python 中的 ASN1 和规范八位位组编码规则 (COVER)
ASN1 and canonical octect encoding rules (COER) in Python
我在 ASN1 中有一些消息数据结构表示。这些消息必须使用规范的八位字节编码规则 (COER) 发送。我目前为 python 使用 asn1c,但是不支持 coer。我如何创建实例然后在 python 中进行编码?
恐怕你有麻烦了。 COER 看起来是最近才标准化的(请记住,ASN.1 已有 30 多年的历史了),而且我认为很多工具还没有跟上。
OSS Nokalva 的工具似乎支持 COER,但他们不进行 Python 绑定,而且他们的工具相当昂贵(但非常好)。
对于 Python,“goto”一直是 pyasn1 库,它似乎不执行 COER(甚至 PER,这真是可惜)。
Objective 系统,也很好,现在做一个 Python ASN.1 compiler(胜过 pyasn1 的代码优先方法),但还没有做 COER。
最简单的事情可能是抱怨,拿出 OSS Nokalva 工具,并使用 Iron Python 与他们的 C# 库和工具互操作。这似乎是一种昂贵的方式,但如果您的项目是在固定的时间范围内进行的,那么这可能是实现您想要的目标的风险最低的方式。您可能不必编写任何代码来“执行”COER,而是可以专注于应用程序本身,避免编写您自己的 COER 实现,因为维护起来很麻烦,最终会被其他 ASN 超越.1 工具。
我在 ASN1 中有一些消息数据结构表示。这些消息必须使用规范的八位字节编码规则 (COER) 发送。我目前为 python 使用 asn1c,但是不支持 coer。我如何创建实例然后在 python 中进行编码?
恐怕你有麻烦了。 COER 看起来是最近才标准化的(请记住,ASN.1 已有 30 多年的历史了),而且我认为很多工具还没有跟上。
OSS Nokalva 的工具似乎支持 COER,但他们不进行 Python 绑定,而且他们的工具相当昂贵(但非常好)。
对于 Python,“goto”一直是 pyasn1 库,它似乎不执行 COER(甚至 PER,这真是可惜)。
Objective 系统,也很好,现在做一个 Python ASN.1 compiler(胜过 pyasn1 的代码优先方法),但还没有做 COER。
最简单的事情可能是抱怨,拿出 OSS Nokalva 工具,并使用 Iron Python 与他们的 C# 库和工具互操作。这似乎是一种昂贵的方式,但如果您的项目是在固定的时间范围内进行的,那么这可能是实现您想要的目标的风险最低的方式。您可能不必编写任何代码来“执行”COER,而是可以专注于应用程序本身,避免编写您自己的 COER 实现,因为维护起来很麻烦,最终会被其他 ASN 超越.1 工具。