der2text

2025-12-11 0 369

der2text

将PEM-或DER编码的文件转换为人类和机器可读形式。可以对此表单进行编辑并馈入反向过程,以创建编辑的PEM或DER文件。

这对于检查和理解加密数据和设置需要特定形式的加密输入(例如创建异常或畸形证书)的测试很有用。

在所有情况下,假设文件为pem或der-格式,则以下往返过程应产生与输入相同的输出:

cat input | der2text | text2der > output

der2text实用程序

读取PEM或DER编码的输入,并产生可读且可编辑的输出。

用法:

der2text @latest
# add ~/go/bin/ to your $PATH
der2text /path/to/cert.pem\”>

go install github.com/syncsynchalt/ der2text /cmds/ der2text @latest
# add ~/go/bin/ to your $PATH
der2text /path/to/cert.pem

Text2der实用程序

读取der2text的“临时格式”输出,并从中创建PEM-或DER编码的数据。

用法:

der2text/cmds/text2der@latest
# add ~/go/bin/ to your $PATH
text2der /path/to/ der2text /output\”>

go install github.com/syncsynchalt/ der2text /cmds/text2der@latest
# add ~/go/bin/ to your $PATH
text2der /path/to/ der2text /output

临时格式

der2text生成一个临时文本文件,以输入到text2der。该文件旨在是人类可读和可编辑的,但也很容易使机器避开。格式是:

  1. 由零或更多空间组成的空白行或线,然后忽略“#”
  2. 第一行可以由pem编码{foo}的单词组成,其中{foo}是证书,证书请求,私钥等。这表示{foo}类型的PEM包装器。
  3. 带有空间的凹痕指示包含在上述构造类型或PEM编码中的项目。例如,在两个空间的凹痕上发生的构造集将包含所有由两个以上空间缩进的线。
  4. 缩进后,第一个单词通用,应用程序,特定于上下文或私有表示ASN.1类型类。该实用程序只能使类型的类型的类型的类型的通用人类可读,但可以保留所有其他类型的数据。
  5. 类型类别后,单词原始或构造的单词表示ASN.1原始类型的标志(内容代表此单一类型)与构造的(内容包含多个元素)。
    • 对于可以是原始或构建该实用程序的类型,仅代表人类可读形式的原始类型。在大多数情况下,DER编码规则也会实现这一点。在所有情况下,无论是原始的还是构造的,都保留了数据。
  6. 原始/构造标志之后,ASN.1类型标签和元素内容如下:
    • 结束,却一无所有
    • 整数随后是数字或内容数据
    • BOTSTRING,然后是正确的填充量(0-7位),然后是内容数据
    • OctetString随后是内容数据
    • 零是无关的
    • OID然后是ASN.1对象标识符
    • 对象描述后面是内容数据
    • 外部又是内容数据
    • 真实的内容是内容数据
    • 列举,然后是数字或内容数据
    • 嵌入式PDV随后是内容数据
    • UTF8String随后是内容数据
    • 相对底,然后是ASN.1对象标识符
    • NumericString随后是内容数据
    • PrintableString随后是内容数据
    • 集合之后是较高的压痕级别,该线表示该集合中的数据
    • 序列,然后是代表该集合中数据的较高压痕级的线
    • T61String随后是内容数据
    • videotexstring随后是内容数据
    • IA5String(ASCII字符串),然后是内容数据
    • utctime随后是内容数据
    • 广义时间,然后是内容数据
    • GraphicString随后是内容数据
    • Visiblestring随后是内容数据
    • 将军之后是内容数据
    • compersalstring(UTF-32BE字符串),然后是内容数据
    • 角色string随后是内容数据
    • BMPSTRING(UTF-16BE字符串),然后是内容数据
    • 未经用户标签= nn,然后是内容数据
      • 这代表了我们在不了解ASN.1架构的情况下无法以人为可读的方式显示的一种类型。保留了这些数据,但可能不透明我们对编辑它的愿望。
      • 如果构建构造,则内容数据将作为DER数据解析

在上面的列表中,“内容数据”包括:

  • 角色:随后将数据转换为成对的十六进制的数据,由newline终止
  • 角色'随后是由newline终止的数据。数据已修改如下:
    • 新线转换为\\ n
    • 马车回报转换为\\ r

最好将这些数据视为短暂的,以防将来的格式变化。换句话说,将数据保留为PEM或DER形式,并在应进行更改时将其转换为PEM或DER形式以进行存储。

示例输出

PEM ENCODED CERTIFICATE
  UNIVERSAL CONSTRUCTED SEQUENCE
    UNIVERSAL CONSTRUCTED SEQUENCE
      UNIVERSAL PRIMITIVE INTEGER :00F4B0DA1F5D4A2788
      UNIVERSAL CONSTRUCTED SEQUENCE
        UNIVERSAL PRIMITIVE OID 1.2.840.113549.1.1.11
        # Sha256WithRSAEncryption
        UNIVERSAL PRIMITIVE NULL
      UNIVERSAL CONSTRUCTED SEQUENCE
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.6
            # Country
            UNIVERSAL PRIMITIVE PRINTABLESTRING \'US
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.8
            # State
            UNIVERSAL PRIMITIVE UTF8STRING \'Colorado
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.7
            # Locality
            UNIVERSAL PRIMITIVE UTF8STRING \'Parker
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.10
            # OrganizationalUnit
            UNIVERSAL PRIMITIVE UTF8STRING \'Ülfheim
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.3
            # CommonName
            UNIVERSAL PRIMITIVE UTF8STRING \'testcertificate.example.com
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 1.2.840.113549.1.9.1
            # Email
            UNIVERSAL PRIMITIVE IA5STRING \'fenris@ulfheim.net
      UNIVERSAL CONSTRUCTED SEQUENCE
        UNIVERSAL PRIMITIVE UTCTIME \'180927171537Z
        # 2018-09-27 17:15:37 GMT
        UNIVERSAL PRIMITIVE UTCTIME \'190927171537Z
        # 2019-09-27 17:15:37 GMT
      UNIVERSAL CONSTRUCTED SEQUENCE
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.6
            # Country
            UNIVERSAL PRIMITIVE PRINTABLESTRING \'US
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.8
            # State
            UNIVERSAL PRIMITIVE UTF8STRING \'Colorado
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.7
            # Locality
            UNIVERSAL PRIMITIVE UTF8STRING \'Parker
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.10
            # OrganizationalUnit
            UNIVERSAL PRIMITIVE UTF8STRING \'Ülfheim
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 2.5.4.3
            # CommonName
            UNIVERSAL PRIMITIVE UTF8STRING \'testcertificate.example.com
        UNIVERSAL CONSTRUCTED SET
          UNIVERSAL CONSTRUCTED SEQUENCE
            UNIVERSAL PRIMITIVE OID 1.2.840.113549.1.9.1
            # Email
            UNIVERSAL PRIMITIVE IA5STRING \'fenris@ulfheim.net
      UNIVERSAL CONSTRUCTED SEQUENCE
        UNIVERSAL CONSTRUCTED SEQUENCE
          UNIVERSAL PRIMITIVE OID 1.2.840.113549.1.1.1
          # RSA Encryption
          UNIVERSAL PRIMITIVE NULL
        UNIVERSAL PRIMITIVE BITSTRING PAD=0 :3082010A0282010100B772CB8D8B8E85F833350439EDC6C55E3AB4686A83A0DCF6C80C6DBBF10CCEF5AC799CBD0F5A62D2467AB708C2A2C34016B25C6C3057256328A0A4B7780FC08333E3238CB0E8E290144589EDA87AAB74CE6970DA1B29366B7A32E1CAF010EA4BCC8344774C896A04EDEA7B1A0937F952130706925AA6F42EDE577C081C825BE75232500F17077D8596D26B955456EC2A6CA01943A5FC328442B3C43BD540D8A40A8A8088A677E298ED3C8F16860B2007D17073241B5DFFA5835BDE5D200EC0BEEC798AEDAC587BF532073AC4664AEE6D091C3B92298A6BC461F3F5C16987980B5F449B0339B56F3F36353D4EE505728687E6E5000B70093BF64953C61AB253AF0203010001
    UNIVERSAL CONSTRUCTED SEQUENCE
      UNIVERSAL PRIMITIVE OID 1.2.840.113549.1.1.11
      # Sha256WithRSAEncryption
      UNIVERSAL PRIMITIVE NULL
    UNIVERSAL PRIMITIVE BITSTRING PAD=0 :AFC3B8595D59E2EDB8CBB31486DE45FF89769215D6CE9FC46E43962BA77E8628FC68568AF7F6FB349CDC56D35CB318C2AB005BF22E2B3BF8DE1A38F6030BAB71135D1BD2F88222D7E5342794263A7C416689E69B90FF39C1CC54E8BAF1B0CDB92EF3A6F2B74AFA1985EDF095AD96C3A218F6C4B1E3449AE8D756BF23B059DCD35AB013DFC098CA4F8F44FCB76BE6E5BA003A0FC4CF0EDF39F85F7F1CBAF7F87C8479A168D24085F8EA705F245D9A7F9F91F27A73A18658243C7CE1B3E3F68BFDEDB4722621CBB21AA3B69511F078E741EB933B6457C13F08748361374ACDDAE5B00F757D3DE0D27A93C23908E967C5AE71D279D77264371DDB18CB200E44DBD9

下载源码

通过命令行克隆项目:

git clone https://github.com/syncsynchalt/der2text.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 der2text https://www.zuozi.net/35078.html

skeleton loader
上一篇: skeleton loader
EditIPA
下一篇: EditIPA
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务