在命令行提示符界面下查看 ASN.1 编码文件的层次结构

        在 Linux 平台上,可以使用 openssl 命令查看 ASN.1 编码文件的内部结构。如果在 Windows 平台上编译过 OpenSSL,也能使用该命令。如果文件内容是 DER 编码格式,查看命令如下:
openssl  ans1parse  -inform  DER  -i  -in  文件名
        如果文件内容是 PEM 格式,命令如下:
openssl  asn1parse  -i  -in  文件名
        其中 -i 参数表示在显示输出时做缩进处理。查看一个 PKCS#7 DigestedData 类型、DER 编码的文件,显示类似于下图:


        针对 X.509 数字证书这种特殊类型文件,可以使用命令:
openssl  X509  -inform  DER  DER格式的证书文件名  -noout -text

openssl  X509  -inform  PEM  PEM格式的证书文件名  -noout -text
        其中 -text 参数表示显示证书内容细节,包括公钥、签名算法、颁发者和持有者、序列号等,-noout 参数表示在末尾处不显示证书的Base64编码。由于证书包含内容较多,为了分屏显示,可以在命令结尾加上 | more 参数。查看一张 DER 编码的数字证书,显示类似于下图:


    如果不加上 -noout 参数,在显示证书内容的最后会包含证书的 Base64 编码,如下图所示:



    在 Windows 平台上,从 Win7 开始微软提供了一个名为 CertUtil.exe 的工具,使用它能够查看 DER 或 PEM 编码的文件内部结构,具体用法如下:
certutil  -asn  文件名
    用它查看一个 PKCS#7 DigestedData 类型、DER 编码的文件,显示类似于下图:


    用它查看数字证书文件,显示类似于下图:



注意:Linux 下有一个名为 certutil 的同名命令,但用法不一样。

猜你喜欢

转载自blog.csdn.net/henter/article/details/80093482
今日推荐