OpenSSL 证书请求和自签名命令req详解(3)

/*生成自签名证书,与req参数一样,只需要把req修改为x509即可*/ linuxidc@linuxidc:~/test$ openssl req -x509 -newkey rsa:1024 -out client.cer -keyout RSA.pem -batch -nodes Generating a 1024 bit RSA private key .........++++++ ..++++++ writing new private key to 'RSA.pem' ----- /*查看证书文件*/ linuxidc@linuxidc:~/test$ openssl x509 -in client.cer -noout -text Certificate: Data: Version: 3 (0x2) ..... Signature Algorithm: sha1WithRSAEncryption 5b:d7:f5:fd:18:3a:a9:22:2a:d9:f1:fc:00:3a:cf:23:ff:d1: 82:e5:2d:3f:7e:97:a8:38:32:e6:88:7a:ce:9f:31:cc:ea:60: 06:d1:96:bb:c8:42:ec:ef:26:73:4e:3b:2d:fa:0f:16:c2:25: 30:1b:a5:ca:35:bd:9b:dd:4b:41:d4:8b:95:3a:d4:7c:aa:8d: 0d:2d:e7:f3:95:33:d2:4a:5a:7f:a2:5d:cc:48:60:9f:ca:2d: 77:d9:ed:e9:09:f3:a1:18:96:1d:91:c6:1c:2b:7a:c1:d6:5d: 81:87:25:0d:32:6a:55:d2:89:95:c5:32:44:cc:9d:e7:68:6f: d8:80 linuxidc@linuxidc:~/test$

4、查看证书请求内容

/*生成证书请求*/
linuxidc@linuxidc:
~/test$ openssl req -new -newkey rsa:1024 -out client.req -keyout RSA.pem -batch -nodes
Generating a
1024 bit RSA private key
...............................................................
++++++
......................
++++++
writing
new private key to 'RSA.pem'
-----
/*查看证书请求内容,subject指定输出主体*/
linuxidc@linuxidc:
~/test$ openssl req -in client.req -noout -text -subject
Certificate Request:
    Data:
        Version:
0 (0x0)
        Subject: C
=AU, ST=Some-State, O=Internet Widgits Pty Ltd
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public
-Key: (1024 bit)
                Modulus:
                ... 
            Exponent:
65537 (0x10001)
        Attributes:
        Requested Extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            X509v3 Key Usage:
                Digital Signature, Non Repudiation, Key Encipherment
    Signature Algorithm: sha1WithRSAEncryption
...
  subject
=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd

5、校验证书请求文件

/*指定verify指令,校验证书请求文件,其操作时提取请求文件中的公钥来验证签名信息*/ linuxidc@linuxidc:~/test$ openssl req -verify -in client.req -noout verify OK linuxidc@linuxidc:~/test$

4、小结

req命令参数纷繁多杂,上文中没有完全介绍,而且还涉及到openssl.cnf配置文件的内容,是一个复杂而强大的指令。

为了方便记忆,不妨就记住它了两个主要功能:生成证书请求文件和生成自签名证书,对比上述的主要参数定义,足可以应付大多数场景。

更多OpenSSL相关内容可以查看以下的有用链接: 

使用 OpenSSL 命令行构建 CA 及证书 

Ubuntu安装OpenSSL 

通过OpenSSL提供FTP+SSL/TLS认证功能,并实现安全数据传输

Linux下使用OpenSSL生成证书

利用OpenSSL签署多域名证书

在OpenSSL中添加自定义加密算法 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c2ba72561e366e8ee1107b0eb90a02a1.html