专栏首页GetKnowledge+Linux下制作HTTPS证书

Linux下制作HTTPS证书

##更改一些默认配置

rm -rf /etc/pki/CA/*.old

touch /etc/pki/CA/index.txt

echo 01 > /etc/pki/CA/serial

echo 02 > /etc/pki/CA/serial

##准备证书生成目录

cd /home/cert/

rm -rf keys

mkdir keys

#1.生成【根证书】RSA私钥

openssl genrsa -out keys/RootCA.key 2048

#2.使用步骤1生成的 RSA 私钥生成自签名证书,证书有效期设置为3650(10年)

opensslreq -new -x509 -days 3650 -key keys/RootCA.key -out keys/RootCA.crt -subj "/C=CN/ST=SD/L=JN/O=DW/OU=DW/CN=RootCA"

#3.生成【二级证书】RSA私钥

openssl genrsa -out keys/secondCA.key 2048

openssl rsa -in keys/secondCA.key -out keys/secondCA.key

#4.生成【二级证书请求文件】secondCA.csr,-subj的值最好与根证书保持一致

openssl req -new -days 3650 -key keys/secondCA.key -out keys/secondCA.csr -subj "/C=CN/ST=SD/L=JN/O=DW/OU=DW/CN=SecCA"

#5.根证书【认证】二级证书

openssl ca -extensions v3_ca -in keys/secondCA.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/secondCA.crt -cert keys/RootCA.crt -keyfile keys/RootCA.key -batch

#6.生成【服务器】RSA私钥

openssl genrsa -out keys/server.key 2048

openssl rsa -in keys/server.key -out keys/server.key

#7.生成【服务器证书请求文件】server.csr 此处CN的值应填写服务器的IP

openssl req -new -days 3650 -key keys/server.key -out keys/server.csr -subj "/C=CN/ST=SD/L=JN/O=DW/OU=DW/CN=10.1.91.241"

#8.二级证书【认证】服务器证书

openssl ca -in keys/server.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/server.crt -cert keys/secondCA.crt -keyfile keys/secondCA.key -batch

#9.证书公钥转格式 crt转换为PEM

cd keys/

openssl x509 -in secondCA.crt -out second-cert.pem -outform PEM

openssl x509 -in RootCA.crt -out RootCA-cert.pem -outform PEM

#10.公钥合并,这一步的主要作用是构建证书链:根证书 => 二级证书 => 服务器证书

cat second-cert.pem >> server.crt

cat RootCA-cert.pem>> server.crt

#11.将服务器证书转换为电脑能够安装的P12格式 ,密码自定义,此处为666666

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12 - password pass:666666 -passin pass:666666 -passout pass:666666

##最后这两步使用keytool命令,执行前,确认服务器正确安装配置了JDK,建议1.8

#12.生成服务器配置用的 server.jks

keytool -importkeystore -srckeystore server.p12 -destkeystore server.jks -srcstoretype pkcs12 -deststoretype jks -srcstorepass 666666 -deststorepass 666666 -storepass 666666 -destalias server -srcalias 1

#13.根证书导入信任正式库,生成 servertrust.jks 服务器配置用

keytool -import -alias root -trustcacerts -file RootCA-cert.pem -keystore servertrust.jks -keypass 666666 -storepass 666666 -noprompt

本文分享自微信公众号 - GetKnowledge+(GetKnowledgePlus),作者:Learning_LB

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WebService_03_服务端实现方式一JWS

    JAX-WS(Java6引进) 是SOAP协议的一个Java的实现规范,这个新规范是为了简化基于SOAP的Java开发。JAX-WS规范其实就是...

    Learning_斌
  • Nginx的实际应用

    https://download.csdn.net/download/learning_lb/9921929

    Learning_斌
  • Weblogic下配置HTTPS

    制作配置https所需文件,server.jks servertrust.jks,上传至服务器

    Learning_斌
  • 什么?你竟然还没有用这几个chrome插件?

    其实18年之前写过一篇关于chrome插件的文章,里面安利了4个chrome插件。鉴于这已经是9102年了,之前觉得好用的chrome插件跟新了解到的比起来,还...

    SH的全栈笔记
  • 易观于揚:数据分析是人工智能的基础构件

    整理 | 明明、谷磊 2018年1月16日,全球最大中文 IT 社区 CSDN 在北京举办了“ AI 生态赋能2018论坛暨 CSDN AI 新战略发布会”。在...

    AI科技大本营
  • 易观于揚:数据分析是人工智能的基础构件

    ? 整理 | 明明、谷磊 2018年1月16日,全球最大中文 IT 社区 CSDN 在北京举办了“ AI 生态赋能2018论坛暨 CSDN AI 新战略发布会...

    小莹莹
  • MySQL数据库——数据库的设计(多表之间的关系与三大范式)与备份还原

    数据库中存放很多表,设计数据库就是设计表,而表就是对现实事物的抽象,设计数据库,需要明白表的关系,也要知道数据库的设计准则,即范式。数据库设计的好坏关系到项目开...

    Winter_world
  • 无人机可能又闯祸了:这次导致美国一架直升机坠毁

    这次,无人机可能又闯祸了。 近日,美国南卡罗莱纳州发生了一起直升机坠毁事件,罪魁祸首,很有可能是一架大疆无人机。倘若成因确认如此,将可能成为美国的第一起与无人机...

    量子位
  • spring学习笔记

    在以上的解决方案中 servlet和工厂类耦合。开发中的一种思想是高内聚,低耦合。

    拾点阳光
  • 学编程,学单词.....在学习中积累自己的单词(不断更新__ing)

    可以去肆意大话天下,可以去小民一般的言语,但是一定要清楚,知识的积累,至于心中,即便你说这粗俗的话,你的个性,气质依旧在那,比如北大的那啥教师(心中的典范),也...

    Gxjun

扫码关注云+社区

领取腾讯云代金券