【问题标题】:ASN1 and canonical octect encoding rules (COER) in Python [closed]Python中的ASN1和规范八位字节编码规则(FOR)[关闭]
【发布时间】:2020-09-04 22:36:44
【问题描述】:

我在 ASN1 中有一些消息数据结构表示。这些消息必须使用规范八位字节编码规则 (COER) 发送。我目前将 asn1c 用于 python,但是不支持 coer。如何创建实例,然后在 python 中进行编码?

【问题讨论】:

    标签: python encoding asn.1


    【解决方案1】:

    恐怕你会遇到麻烦。 COER 看起来是最近才标准化的(考虑到 ASN.1 已经有 30 多年的历史了),而且我认为很多工具还没有赶上。

    来自 OSS Nokalva 的工具似乎支持 COER,但他们不做 Python 绑定,而且他们的工具相当昂贵(但非常好)。

    对于 Python,“goto”是 pyasn1 库,它似乎没有做 COER(甚至 PER,这真是太可惜了)。

    Objective Systems 也非常出色,现在执行 Python ASN.1 compiler(胜过 pyasn1 的代码优先方法),但这还没有执行 COER。

    最简单的事情可能是 whince,使用 OSS Nokalva 工具,并使用 Iron Python 与他们的 C# 库和工具进行互操作。这似乎是一种昂贵的方式,但如果您的项目是在固定的时间范围内进行的,那么这可能是实现您想要的风险最低的方式。您可能不必编写任何代码来“执行”COER,相反,您可以专注于应用程序本身,避免编写自己的 COER 实现,这将难以维护,最终会被其他 ASN 超越.1 工具。

    【讨论】:

    • 你说的贵是什么意思?
    • @NikosIliakis 我的意思是,一个花费一些钱的软件工具最终可以为项目节省大量时间,因此即使该工具的价格昂贵,也可以节省大量资金。如果一个项目人力有限,但有购买工具的预算,那么有限的人力将更有效地用于项目的其他部分。这不是“开源”方式,一切都必须是免费的,但如果您的项目不是开源的,那么购买商业工具是一种可能的前进方式。
    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    相关资源
    最近更新 更多