4、查看证书请求内容
/*生成证书请求*/
linuxidc@linuxidc:~/test$ openssl req -new -newkey rsa:1024 -out client.req -keyout RSA.pem -batch -nodes
Generating a1024 bit RSA private key
...............................................................++++++
......................++++++
writingnew 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 及证书