11

我已经看过自己了,但今天我的 Google-fu 似乎不强。

我正在开发一种标准化协议,用于通过 Apache / PHP 服务器和微控制器上的嵌入式 C 代码之间的 TCP/IP 连接交换数据结构。

我们正在使用 ASN.1 表示法,而我真正想做的是有一段 PHP 代码可以解析 ASN.1 文档并使用它来解释传入的数据。它将生成一个基于 ASN.1 结构适当的 PHP 对象(或数组)。这里的目标是让 PHP 解析文档并创建与文档细节无关的对象(即不手动编码以匹配文档内容)。

或者,如果这不可能,是否存在可以让我生成简单的 PHP 数据传输对象类的东西,每次 ASN.1 协议文档更改时我都可以重新运行这些对象类?从效率的角度来看,这实际上可能更可取,因为您不必为每个传入请求重新解释 ASN.1。

谢谢!如果我能提供任何有助于回答这个问题的额外说明,请告诉我。

4

3 回答 3

5

以防万一其他人正在寻找这个问题的答案:您可以尝试PHPASN1作为纯 ASN.1 编码和解码库,或者也可以处理 ASN.1 的phpseclib,但它并不那么专注。

我是 FGrosse/PHPASN1 的开发者。

于 2012-10-03T09:48:36.907 回答
4

phpseclib 可以像 OpenSSL 的 asn1parse 一样解码 ASN.1 结构:

http://phpseclib.sourceforge.net/x509/asn1parse.php

如果您查看源代码,它需要一个 $asn1->decodeBER 返回的数组并将其呈现到显示的字符串中。但我认为它相同的事实证明了 phpseclib 的力量。

于 2013-03-23T21:23:03.257 回答
2

试试这个:https ://web.archive.org/web/20160305171509/http://phpkode.com/source/s/mistpark-server/library/asn1.php 。

它与其说是一个库不如说是一个脚本,但您可以像使用它一样使用它。

于 2011-06-09T22:02:04.713 回答