如何在bash或unix中从命令行检查X509公钥证书

问题描述:

如果使用普通编辑器查看公钥证书,那么X509公钥证书非常神秘。有没有任何标准的命令行工具,允许查看X509证书或至少列表并选择性地提取他们的字段?如果没有人会怎么做另一种方式呢?如何在bash或unix中从命令行检查X509公钥证书

+0

如何能向下投我的问题的人请提供这样我就可以编辑了一些建设性的意见。请。 – murungu

+0

我当然不打算开始一场关于哪种工具比其他工具更好的政治化辩论。任何遵从RFC的工具都会产生相同的输出。如果您在文本编辑器(如vim)中查看X509证书,则内容将无法识别,并且与RFCs几乎没有明显的相似之处。我只是问是否有一个标准的unix或bash实用程序,允许某人提取这些RFC中定义的字段的值。我只是试图检查证书并从中提取有用的信息,因为我没有编写自己的程序,因为我时间有限。 – murungu

OpenSSL的X​​509 -in $ CERTIFICATE_FILE -text

(有人可能会需要添加-inform参数,如果该证书不在PEM格式)

输出长相酷似的RFC介绍:

Certificate: 
    Data: 
     Version: 3 (0x2) 
     Serial Number: 1 (0x1) 
     Signature Algorithm: sha256WithRSAEncryption 
     Issuer: CN=765d52947c71fdd569321f117d5b3ea2618f41b9 
     Validity 
      Not Before: Sep 10 13:22:53 2013 GMT 
      Not After : Jul 1 00:00:00 2014 GMT 
     Subject: CN=ef2dea1c4e2d54acbe102b7b8c3bd4f542cda72c 
     Subject Public Key Info: 
      Public Key Algorithm: rsaEncryption 
      RSA Public Key: (2048 bit) 
       Modulus (2048 bit): 
        00:94:c8:0e:72:f8:63:f5:be:aa:6d:79:91:3b:f0: 
        bf:06:68:7e:c1:bc:f1:f 

...等等

+0

如果证书位于JKS或PKCS12密钥库中,则可以使用Java'keytool'命令查看内容:'keytool -list -v -storetype PKCS12 -keystore $ KEYSTORE_FILE'。如果它是一个JKS密钥库,则不需要'storetype'参数。 – gtrig

+0

感谢您的贡献。 – murungu