将X.509证书从DER编码转换为PER编码

问题描述 投票:2回答:1

我们需要通过QR码(或任何2D条形码,尽管目前PDF-417似乎都无法存储足够的数据)来传输X.509证书。目前,我们将证书作为PEM编码(这是DER格式的X.509证书的base64编码的字符串表示形式,加上开始和结束标签)写入QR码。我们面临的问题是结果字符串太长。

虽然我们可以剥离开始和结束标签,但这并没有太大的区别,这就是为什么我进入Interwebs寻找压缩证书的方法的原因。

事实证明,DER只是一种可能的编码。根据Wikipedia,还有PER(具有UPER和APER的变体)。我下载了一些样本,如果证书的读者知道ASN.1模式(我们可以在这种情况下进行管理),那么我们似乎可以节省大约40-45%的字节。这足以使QR码再次可扫描。

但是,我找不到将DER转换为PER的方法。有人知道该怎么做吗?

或者有谁能更好地了解我们如何将X.509证书传输到用户的电话而不在中央存储库中提供它们?

x509 asn.1 asn1
1个回答
3
投票

找到同时支持DER和PER的ASN.1工具。使用该工具,编写一个小程序,将DER编码的值(即证书)解码为内部表示形式,然后将其重新编码为PER。

通常,PER Unaligned产生最紧凑的编码,但是我建议您同时尝试PER Unaligned和PER Aligned。

© www.soinside.com 2019 - 2024. All rights reserved.