OpenSSL创建生成CA证书、服务器、客户端证书及密钥

Stella981
• 阅读 2361

使用OpenSSL创建生成CA证书、服务器、客户端证书及密钥

目录

  • 使用OpenSSL创建生成CA证书、服务器、客户端证书及密钥
    • (一)生成CA证书
    • (二)生成服务器证书
    • (三)生成客户端证书

说明:

  • 对于SSL单向认证:

    服务器需要CA证书、server证书、server私钥,客户端需要CA证。

  • 对于SSL双向认证:

    服务器需要CA证书、server证书、server私钥,客户端需要CA证书,client证书、client私钥。


(一)生成CA证书

1、创建CA证书私钥

openssl genrsa -aes256 -out ca.key 2048

2、请求证书

证数各参数含义如下:

  • C-----国家(Country Name)

  • ST----省份(State or Province Name)

  • L----城市(Locality Name)

  • O----公司(Organization Name)

  • OU----部门(Organizational Unit Name)

  • CN----产品名(Common Name)

  • emailAddress----邮箱(Email Address)

    openssl req -new -sha256 -key ca.key -out ca.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=CA/emailAddress=admin@test.com"

3、自签署证书

openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer

(二)生成服务器证书

1、创建服务器私钥

openssl genrsa -aes256 -out server.key 2048

2、请求证书

openssl req -new -sha256 -key server.key -out server.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=SERVER/emailAddress=admin@test.com"

3、使用CA证书签署服务器证书

openssl x509 -req -days 36500 -sha256 -extensions v3_req  -CA  ca.cer -CAkey ca.key  -CAserial ca.srl  -CAcreateserial -in server.csr -out server.cer

(三)生成客户端证书

1、生成客户端私钥

openssl genrsa -aes256 -out client.key 2048

2、申请证书

openssl req -new -sha256 -key client.key  -out client.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=CLIENT/emailAddress=admin@test.com"

3、使用CA证书签署客户端证书

openssl x509 -req -days 36500 -sha256 -extensions v3_req  -CA  ca.cer -CAkey ca.key  -CAserial ca.srl  -CAcreateserial -in client.csr -out client.cer

ends…

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
前端尾随者 前端尾随者
2年前
sourceTree 添加 ssh key 方法
1.使用git客户的生成公私钥:id\rsa、id\rsa.pub1.1设置Git的username和email:$gitconfigglobaluser.name"xxx"$gitconfig\globaluser.email"xxx.mail@xxx.com"1.2.生成SSH密钥过程:1.2.1.检查是不是已经存在密钥(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
java访问Https服务的客户端示例
关于证书1、每个人都可以使用一些证书生成工具为自己的https站点生成证书(比如JDK的keytool),大家称它为“自签名证书”,但是自己生成的证书是不被浏览器承认的,所以浏览器会报安全提示,要求你手动安装证书,提示风险,是否继续等。只有通过权威的CA机构付费获得的证书才能被浏览器承认。2、证书(无客户端服务端之分)保存着IP信息、证书过
Stella981 Stella981
3年前
Linux CA
CA(CertificateAuthority)证书颁发机构主要负责证书的颁发、管理以及归档和吊销。证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。证书主要有三大功能:加密、签名、身份验证。1.什么是CA认证?CA认证,即CA认证机构,为电子签名相关各方提供真实性、可靠性验证
Wesley13 Wesley13
3年前
MySQL8开启ssl加密
1概述MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl:!在这里插入图片描述(https://imgblog.csdnimg.cn/20200325131703934.png)另外,ssl加密需要密钥与证书,可以使用openssl手动生成或使用my
Stella981 Stella981
3年前
Apache httpd服务
!(https://oscimg.oschina.net/oscnet/fe6d1798e33674a302b8ff67a7312ca2a67.png)https的实现​1)CA服务器端,生成自签证书root@ca~cd/etc/pki/CA/root@caCA(umask077;
Stella981 Stella981
3年前
Kubernetes集群安装(自己搭过,已搭好)
k8s安装目录1\.组件版本&&集群环境组件版本etcd集群&&k8smaster机器&&k8snode机器集群环境变量2\.创建CA证书和密钥安装
Stella981 Stella981
3年前
Kubernetes集群部署之二CA证书制作
创建TLS证书和秘钥kubernetes系统的各组件需要使用TLS证书对通信进行加密,本文档使用CloudFlare的PKI工具集cfssl来生成CertificateAuthority(CA)和其它证书.1\.下载并安装CFSSL:root@k8smaster~cd/usr/local/src
Wesley13 Wesley13
3年前
Java使用SSLSocket通信
JSSE(JavaSecuritySocketExtension)是Sun公司为了解决互联网信息安全传输提出的一个解决方案,它实现了SSL和TSL协议,包含了数据加密、服务器验证、消息完整性和客户端验证等技术。通过使用JSSE简洁的API,可以在客户端和服务器端之间通过SSL/TSL协议安全地传输数据。首先,需要将OpenSSL生成根证书CA及签