我是靠谱客的博主 繁荣飞机,这篇文章主要介绍使用OpenSSL生成自签名SSL证书使用OpenSSL生成自签名SSL证书,现在分享给大家,希望可以做个参考。

文章目录

  • 使用OpenSSL生成自签名SSL证书
    • 参考文档
    • 一键生成自签名SSL证书和私钥
    • 检查OpenSSL
    • 生成自签名的SSL证书和私钥
      • 第一步:生成私钥
      • 第二步:去除私钥中的密码
      • 第三步:生成CSR(证书签名请求)
      • 第四步:生成自签名SSL证书
    • 在Server中配置
    • 在浏览器中访问
    • 注意

使用OpenSSL生成自签名SSL证书

参考文档

  • https://www.linuxtweaks.in/create-a-self-signed-ssl-certificate-with-openssl/
  • https://www.cnblogs.com/hnxxcxg/p/7610582.html

一键生成自签名SSL证书和私钥

参见 create_self_signed_cert.sh:

复制代码
1
2
./create_self_signed_cert.sh "/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn"

检查OpenSSL

检查是否已经安装openssl:

复制代码
1
2
openssl version

一般在CentOS7上,openssl已经默认安装好了。

生成自签名的SSL证书和私钥

第一步:生成私钥

复制代码
1
2
3
4
5
6
# genra 生成RSA私钥 # -des3 des3算法 # -out server.key 生成的私钥文件名 # 2048 私钥长度 openssl genrsa -des3 -out server.pass.key 2048

输入一个4位以上的密码。

第二步:去除私钥中的密码

复制代码
1
2
openssl rsa -in server.pass.key -out server.key

注意:有密码的私钥是server.pass.key,没有密码的私钥是server.key

第三步:生成CSR(证书签名请求)

复制代码
1
2
3
4
5
6
7
# req 生成证书签名请求 # -new 新生成 # -key 私钥文件 # -out 生成的CSR文件 # -subj 生成CSR证书的参数 openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn"

subj参数说明如下:

字段字段含义示例
/C=Country 国家CN
/ST=State or Province 省Guangdong
/L=Location or City 城市Guangzhou
/O=Organization 组织或企业xdevops
/OU=Organization Unit 部门xdevops
/CN=Common Name 域名或IPgitlab.xdevops.cn

第四步:生成自签名SSL证书

复制代码
1
2
3
# -days 证书有效期 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

X.509证书包含三个文件:key,csr,crt。

  • key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
  • csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
  • crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息

备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。

在Server中配置

在Server中配置:

  • 声明开启HTTPS (SSL认证)
  • 声明侦听443端口(并确保已在防火墙上打开443端口)
  • 复制已签名的SSL证书和私钥到指定位置,并设置正确的文件权限
  • 配置已签名的SSL证书(.crt)的位置
  • 配置已签名的SSL证书私钥(.key)的位置
  • 配置将HTTP请求都重定向到HTTPS

在浏览器中访问

在浏览器中打开https://<domain_name>来访问。

在Firefox浏览器中可以添加Security Exception来忽略HTTPS错误警告。

Chrome浏览器可以尝试通过导入CA证书的方式来忽略HTTPS错误警告。

注意:Chrome浏览器可能有导入CA证书后仍然无法访问的问题;不同浏览器对自签名SSL证书的检查和限制也有所区别。

注意

自签名的SSL证书存在安全隐患,在生产环境上需要购买和使用经权威机构认证和颁发的证书。

最后

以上就是繁荣飞机最近收集整理的关于使用OpenSSL生成自签名SSL证书使用OpenSSL生成自签名SSL证书的全部内容,更多相关使用OpenSSL生成自签名SSL证书使用OpenSSL生成自签名SSL证书内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部