- 时间:2022-08-29 00:09 编辑: 来源: 阅读:295
- 扫一扫,手机访问
摘要:OpenSSL生成HTTPS自签名证书
《源码交易》
OpenSSL以前在Windows上用Perl编译过,但是只需要它的两个静态库。这一次,当我们设置https服务器时,我们需要使用它来生成自签名证书。我的配置文件在openssl/apps/openssl.cnf,openssl.exe编译后在openssl/out32/openssl.exe。编写过程可以在网上查,资料还挺多的。 OpenSSL默认加载配置文件路径是/usr/local/ssl/openssl.cnf,所以需要设置' OPENSSL_CONF '环境变量:d:\ code \ OpenSSL \ apps >;设置OpenSSL _ conf = d:\ code \ OpenSSL \ apps \ OpenSSL . CNF后,可以根据自己的需要生成密钥和证书。关于SSL/TLS的原理这里就不多赘述了,它包括多种非对称加密和对称加密算法。下面将列出生成CA、服务器和客户端证书的步骤,但是当只进行单向身份验证时,客户端证书是不必要的。 CA :D:\ Code \ OpenSSL \ apps & gt;OpenSSL gen rsa-out ies/ca-key . PEM 1024生成RSA私钥,1024位长模数.............++++++.....................++++e是65537(0x 10001)D:\ Code \ OpenSSL \ apps & gt;OpenSSL req-new-out ies/ca-req . CSR-key ies/ca-key . PEM系统将要求您输入将合并到您的证书申请中的信息。您将要输入的是所谓的可分辨名称或DN。有相当多的字段,但你可以留下一些空白,有些字段会有一个默认值,如果你输入“.”,该字段将留空。-国家名称(2个字母的代码)[AU]:cn州或省名称(全名)[Some-State]:Shan-dong locality Name(例如,城市)[]:jinano organization Name(例如,公司)[Internet wid gits Pty Ltd]:ieslaboration Unit Name(例如,部门)[]:SKCommon Name(例如,服务器FQDN或您的姓名)[]:www . iesk . com email Address[]:sorata _ kasugano @ QQ . com请输入以下“额外”属性,以便与您的证书请求一起发送质询密码[]::.可选的公司名称[]:。d:\ Code \ OpenSSL \ apps & gt;OpenSSL x509-req-in ies/ca-req . CSR-out ies/ca-cert . PEM-sign key ies/ca-key . PEM-days 3650 signature ok subject =/C = CN/ST = Shan-Dong/L = Jian/O = iESLab/OU = SK/CN = www . iesk . com/email address = sorata _ kasugano @ QQ . com获取私钥d:\ Code \ OpenSSL \ apps & gt;OpenSSL pkcs12-Export-clcerts-in ies/ca-cert . PEM-in key ies/ca-key . PEM-out ies/ca . p12输入导出密码:验证-输入导出密码:服务器:D:\ Code \ OpenSSL \ apps & gt;OpenSSL gen rsa-out ies/server-key . PEM 1024生成RSA私钥,1024位长模数......++++++.++++e是65537(0x 10001)D:\ Code \ OpenSSL \ apps & gt;OpenSSL req-new-out ies/server-req . CSR-key ies/server-key . PEM系统将要求您输入将纳入您的证书申请的信息。您将要输入的是所谓的可分辨名称或DN。有相当多的字段,但你可以留下一些空白,有些字段会有一个默认值,如果你输入“.”,该字段将留空。-国家名称(2个字母的代码)[AU]:cn州或省名称(全名)[Some-State]:Shan-dong locality Name(例如,城市)[]:jinano organization Name(例如,公司)[Internet wid gits Pty Ltd]:ieslaboration Unit Name(例如,部门)[]:SKCommon Name(例如,服务器FQDN或您的姓名)[]:www . iesk . com email Address[]:sorata _ kasugano @ QQ . com请输入以下“额外”属性,以便与您的证书请求一起发送质询密码[]::.可选的公司名称[]:。d:\ Code \ OpenSSL \ apps & gt;OpenSSL x509-req-in ies/server-req . CSR-out ies/server-cert . PEM-sign key ies/server-key . PEM-CA ies/CA-cert . PEM-CAkey ies/CA-key . PEM-cacreate serial-days 3650 signature ok subject =/C = CN/ST = Shan-Dong/L = Jinan/O = iESLab/OU = SK/CN = www . iesk . com/email address = sorata _ kasugano @ QQ . com获取私钥获取CAOpenSSL pkcs12-Export-CLC ERTs-in ies/server-cert . PEM-in key ies/server-key . PEM-out ies/server . p12输入导出密码:验证-输入导出密码:客户端:D:\ Code \ OpenSSL \ apps & gt;OpenSSL gen rsa-out ies/client-key . PEM 1024生成RSA私钥,1024位长模数......................++++++...............++++e是65537(0x 10001)D:\ Code \ OpenSSL \ apps & gt;OpenSSL req-new-out ies/client-req . CSR-key ies/client-key . PEM系统将要求您输入将纳入您的证书申请的信息。您将要输入的是所谓的可分辨名称或DN。有相当多的字段,但你可以留下一些空白,有些字段会有一个默认值,如果你输入“.”,该字段将留空。-国家名称(2个字母的代码)[AU]:cn州或省名称(全名)[Some-State]:Shan-dong locality Name(例如,城市)[]:jinano organization Name(例如,公司)[Internet wid gits Pty Ltd]:ieslaboration Unit Name(例如,部门)[]:SKCommon Name(例如,服务器FQDN或您的姓名)[]:www . iesk . com email Address[]:sorata _ kasugano @ QQ . com请输入以下“额外”属性,以便与您的证书请求一起发送质询密码[]::.可选的公司名称[]:。d:\ Code \ OpenSSL \ apps & gt;OpenSSL x509-req-in ies/client-req . CSR-out ies/client-cert . PEM-sign key ies/client-key . PEM-CA ies/CA-cert . PEM-CAkey ies/CA-key . PEM-cacreate serial-days 3650 signature ok subject =/C = CN/ST = Shan-Dong/L = Jian/O = iESLab/OU = SK/CN = www . iesk . com/email address = sorata _ kasugano @ QQ . com获取私钥获取CAOpenSSL pkcs12-export-CLC ERTs-in ies/client-cert . PEM-inkey ies/client-key . PEM-out ies/client . p12输入导出密码:验证-输入导出密码:流程相同。先生成为1024位RSA私钥,然后生成证书请求文件(。csr)。csr文件由CA私钥签名生成公钥(即X.509证书),如果需要,可以导出为其他格式,如PKCS#12证书(. p12)。