自签名的情况,RSA的公钥私钥只有一对,用私钥对公钥证书做签名。而我们的场景是,自己做CA,有一个CA的公钥私钥对。 而socket的服务端也有一个公钥私钥对。 用CA的私钥对socket服务端的公钥证书做签名。
1、创建key,没有用des3加密

openssl genrsa -out ca.key 1024

2、需要在提示之下输入许多信息,包括国家代码,省份,城市,公司机构名等

openssl req -new -x509 -days 36500 -key ca.key -out ca.crt

3、生成server端的私钥key:

openssl genrsa -out server.key 1024

4、生成server端的req文件(这一步生成的req文件,包含公钥证书,外加身份信息,例如国家,省份,公司等。用它提交给ca,让ca来对它做签名 ):

openssl req -new -key server.key -out server.csr

5、用CA的私钥对server的req文件做签名,得到server的证书:

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt