openssl创建CA并签发证书

一、创建私有CA根证书

1、创建CA目录

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro# mkdir -pv  /etc/pki/CA/{private,certs,crl,newcerts}
mkdir: created directory '/etc/pki/CA'
mkdir: created directory '/etc/pki/CA/private'
mkdir: created directory '/etc/pki/CA/certs'
mkdir: created directory '/etc/pki/CA/crl'
mkdir: created directory '/etc/pki/CA/newcerts'

2、新建数据库文件并初始化

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro# touch /etc/pki/CA/{serial,index.txt}
root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro# echo 01 > /etc/pki/CA/serial

3、创建CA私钥

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro# openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
........................................++++
....................................................................................................................................................................................................................................................................++++
e is 65537 (0x010001)

4、创建自签CA根证书

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:sc
Locality Name (eg, city) []:cd
Organization Name (eg, company) [Internet Widgits Pty Ltd]:tsinghua-eiri
Organizational Unit Name (eg, section) []:xxxx
Common Name (e.g. server FQDN or YOUR name) []:xxxxxx
Email Address []:

二、签发证书

1、创建客户私钥

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro/client# openssl genrsa -out client0001.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
....+++++
....+++++
e is 65537 (0x010001)

2、提取客户公钥(备用)

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro/client# openssl rsa -in client0001.key -pubout -out client0001.pub
writing RSA key

3、生成客户证书请求

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro/client# openssl req -new -key client0001.key -out client0001.csr -days 3650
Ignoring -days; not generating a certificate
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:sc
Locality Name (eg, city) []:cd
Organization Name (eg, company) [Internet Widgits Pty Ltd]:tsinghua-eiri
Organizational Unit Name (eg, section) []:scu
Common Name (e.g. server FQDN or YOUR name) []:jackwang
Email Address []:Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

4、签发客户请求

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro/client# openssl ca -in client0001.csr -out /etc/pki/CA/certs/client0001.crt -days 3650
Using configuration from /usr/lib/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:Serial Number: 1 (0x1)ValidityNot Before: Feb 16 09:03:43 2022 GMTNot After : Feb 14 09:03:43 2032 GMTSubject:countryName               = CNstateOrProvinceName       = scorganizationName          = tsinghua-eiriorganizationalUnitName    = scucommonName                = jackwangX509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier:D3:38:BA:C9:C5:50:C9:51:14:E0:1A:F2:7C:42:70:50:70:F5:92:81X509v3 Authority Key Identifier:keyid:4D:1E:75:EE:8A:DD:69:3E:6C:FE:FB:D2:AA:34:2D:91:48:8D:D7:55Certificate is to be certified until Feb 14 09:03:43 2032 GMT (3650 days)
Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

5、查看证书信息

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro/client# openssl x509 -in client0001.crt -noout -text
Certificate:Data:Version: 3 (0x2)Serial Number: 1 (0x1)Signature Algorithm: sha256WithRSAEncryptionIssuer: C = CN, ST = sichuan, L = cd, O = tsinghua-eiri, OU = eiri-iot, CN = rootValidityNot Before: Feb 16 09:03:43 2022 GMTNot After : Feb 14 09:03:43 2032 GMTSubject: C = CN, ST = sc, O = tsinghua-eiri, OU = scu, CN = jackwangSubject Public Key Info:Public Key Algorithm: rsaEncryptionRSA Public-Key: (2048 bit)Modulus:00:94:c6:ca:08:6e:08:26:47:39:6d:78:92:d6:a5:6f:3e:3b:cc:b7:0d:fa:9c:eb:dd:5f:12:87:40:0f:ad:c1:21:83:fe:7e:b8:c0:6c:a6:30:d4:e9:03:99:4a:03:b5:88:59:11:12:ef:8b:f1:62:f1:f1:ee:d0:f8:f2:03:35:12:16:b9:44:14:bb:69:89:83:c3:44:9d:17:49:32:de:10:43:49:cb:70:2e:89:33:07:57:f7:ed:da:06:1d:25:45:dc:ad:b9:da:55:30:05:02:9f:e1:63:51:8a:cb:39:30:a1:71:86:5a:8e:a3:b3:c7:71:50:19:74:f8:93:da:1b:9d:0a:b5:de:27:c8:55:14:f8:e6:9b:02:2c:ea:75:bf:44:d6:08:49:3c:9b:a1:b4:97:1e:a8:88:cf:23:83:eb:03:b6:6d:e6:be:74:60:f8:88:29:0e:a7:7f:1a:ec:2e:c4:ff:4d:2f:f2:6b:53:0e:a9:35:99:d1:0f:cc:ed:ef:41:eb:a8:b2:27:7a:4c:d1:e9:b7:1c:1b:29:80:a6:b2:b8:9f:1f:3a:35:e0:05:05:f6:a9:77:a0:bd:98:51:e2:0b:38:9d:ca:3c:48:c2:02:5d:7b:ba:01:cd:5c:48:8b:ef:38:03:f2:ed:ee:90:c5:31:b8:dd:40:49:c4:ce:79Exponent: 65537 (0x10001)X509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier:D3:38:BA:C9:C5:50:C9:51:14:E0:8A:F2:7C:45:70:50:70:F5:92:81X509v3 Authority Key Identifier:keyid:4D:BE:75:EE:8A:DD:69:3E:6C:FE:FB:D2:AA:34:2D:91:48:8D:D7:55Signature Algorithm: sha256WithRSAEncryption45:1c:29:cd:ad:18:10:6d:9f:50:f6:2c:08:1e:22:3a:90:fd:36:36:c3:fa:ea:01:89:34:e3:c5:2b:e0:04:3f:39:c2:62:87:a7:29:24:9a:40:47:d6:77:b3:49:53:c8:3f:1e:6c:b1:a0:0a:26:36:d5:df:f7:f6:97:54:46:75:6b:97:2e:f5:7c:60:2f:96:af:1c:65:94:58:30:22:3f:b5:31:30:f4:76:10:57:a6:12:51:96:f7:ab:88:18:07:44:b7:d4:7a:4e:d7:bd:35:ec:4f:ec:00:45:50:57:75:8c:1a:d1:9b:fb:81:9c:f0:d3:13:f6:75:06:1a:65:b9:1e:51:8d:ec:d1:52:b2:e2:07:b7:6c:66:b2:66:e9:79:3a:fc:eb:11:7d:c8:23:2c:c4:d6:f6:62:c4:a9:c3:87:a7:fa:68:a1:1c:d4:28:d6:e1:bd:fa:7e:f0:00:f4:40:6d:45:7f:d7:66:32:06:16:22:16:61:84:f4:a1:90:8e:29:2a:c7:07:7f:4f:73:09:6b:da:d9:0a:80:bd:da:ba:a2:77:b9:c4:2a:3c:fd:69:b3:0b:ac:d9:16:12:a3:f1:cd:3d:2f:21:3f:ca:78:d3:f0:9d:7b:ac:80:51:0f:c3:2a:9b:80:73:ef:ab:e3:98:d4:c8:e3:e2:a8:ff:dc:15:c9:00:ef:74:83:ca:68:71:e8:a4:62:dc:6c:3d:32:95:aa:ac:f2:d8:a6:ae:3a:23:35:a6:df:95:ed:d6:05:0e:03:e6:7b:d0:bf:c5:c2:0b:5f:b9:53:83:be:83:87:af:86:4b:b1:a7:c5:36:17:29:d8:9f:9f:5e:4d:ff:05:4b:75:0d:fe:e5:fe:cf:33:cd:8f:37:4a:c3:01:1c:22:11:e0:7c:f4:ae:5c:42:5f:b2:69:b3:14:d1:f2:d2:5e:7f:77:53:1f:96:b2:df:e7:cd:10:79:5b:2c:d9:1c:af:95:a3:bf:dc:6b:ea:21:c2:4f:d4:5c:ff:df:3c:8a:6b:ce:9b:0b:c6:3f:2b:02:a6:5a:78:a5:4d:14:c1:fa:1a:0e:3c:91:bd:de:c0:09:e4:5d:19:1c:c1:b6:3d:aa:e5:ea:41:fb:ea:67:ed:14:ae:52:76:95:cd:d3:da:6a:9b:ce:e7:4f:f5:3f:de:4f:e9:7c:48:f9:8d:18:ff:8a:16:a2:1c:3f:a5:48:d9:81:ad:a4:2f:ae:d4:a9:8b:4a:a5:8d:83:2d:92:b9:90:f3:0f:23:f0:62:5c:00:26:cd:b7:72:7c:98:c4:6b:98:bc:ab:13:a6:3c:d7:c8:34:bf:9c:e2:06:26:ca:62:ec:dc:c9:49:4a:58:db:07:c0:80:46:6d

三、目录结构

root@DESKTOP-JP3S3AN:/home/wsl/openssl_pro/client# tree /etc/pki/CA
/etc/pki/CA
├── cacert.pem
├── certs
│   └── client0001.crt
├── crl
├── index.txt
├── index.txt.attr
├── index.txt.old
├── newcerts
│   └── 01.pem
├── private
│   └── cakey.pem
├── serial
└── serial.old4 directories, 9 files

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[react] react中的setState和replaceState的区别是什么?

[react] react中的setState和replaceState的区别是什么? setState:更新状态 replaceState:替换状态 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

栅格像元做地理坐标映射后的坐标值是像元中心点还是其他位置?

做了下实验,GDAL做完映射后像元(x,y)--->(lat,lon),得到的坐标值是像元左上角的坐标值。 下面这个看到更清楚:(其实我做了一个替换,实际我求的是左上点和右下点(通过&…

TCP的FIN、ACK、SYN、URG、PSH及攻击方式

From: http://www.hackbase.com/tech/2009-10-08/56746.html 三次握手Three-way Handshake  一个虚拟连接的建立是通过三次握手来实现的  1. (B) –> [SYN] –> (A)  假如服务器A和客户机B通讯. 当A要和B通信时,B首先向A发一个SYN (Synchronize) 标记的…

QT Openssl no OPENSSL_Applink 解决

QT5.15.2安装时候选择了openssl1.1.1库,在开发过程中出现OPENSSL_Applink。 解决办法:将openssl include文件下的applink.c 添加到工程中,即可。

Java学习----运算符与表达式

一.运算符 1.算术运算符 - * / % -- public class Test7 {public static void main(String[] args) {int x 10;int y 3;float f 3.5f;System.out.println(x/y); // 3System.out.println(x%y); // 1System.out.println(x/f); // 2.857143 x隐式转换成floatSystem…

Tomcat 6 数据源配置

近来换了TOMCAT6&#xff0c;配置MYSQL数据库的数据源&#xff0c;在网上查找相关解决方案&#xff0c;后调试解决如下&#xff1a; 修改$CATALINA_HOME/conf/context.xml文件&#xff0c;加入如下代码&#xff1a;<Context reloadable"true"> <Watche…

OpenSSL签发证书时编码UTF8STRING PRINTABLESTRING不匹配

问题如下&#xff1a; Check that the request matches the signature Signature ok The countryName field is different between CA certificate (CN) and the request (CN) 可以看出&#xff0c;CA和REQ的DN内容是一致的&#xff0c;依旧报错。其实是编码的问题。 使用以下…

[react] 请说说react中Portal是什么?

[react] 请说说react中Portal是什么&#xff1f; 核心API是ReactDOM.createPortal(ReactNode, DOMContainer)&#xff0c;返回值是一个ReactNode。返回的ReactNode需要在组件的render函数(函数式组件的返回值)中进行渲染&#xff0c;createPortal接受的ReactNode将会挂载到DOM…

在Windows下编译zlib1.2.5

zlib1.2.5下载地址 &#xff1a; http://www.winimage.com/zLibDll/zlib125.zip 下载后解压到&#xff1a;E:\software\OpenSource\zlib-1.2.5src 参考文章&#xff1a;http://demon.tw/software/compile-zlib-on-windows.html 编译方法总结如下&#xff1a; 方法一&#…

Solr学习总结(一)Solr介绍

最近一直在搞Solr的问题&#xff0c;研究Solr 的优化&#xff0c;搜索引擎的bug修改等&#xff0c;这几天终于有时间&#xff0c;闲下来总结分享&#xff0c;以便大家参考&#xff0c;与大家一起来共同学习。 Solr是一个基于Lucene的全文搜索引擎&#xff0c;同时对其进行了扩展…

SSL 多线程通信 linux openSSL C API编程

一、环境 需要提前准备好服务端和客户端的证书和私钥&#xff0c;以及CA的证书。 OpenSSL 1.1.1f 31 Mar 2020 built on: Wed Nov 24 13:20:48 2021 UTC platform: debian-amd64 options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr) Thread model: posix gcc version …

分享一个CSS3和jQuery实现的模糊显示效果 - 帮助你的访问用户更好的阅读内容

为什么80%的码农都做不了架构师&#xff1f;>>> 日期&#xff1a;2011/12/20 来源&#xff1a;GBin1.com 在线演示 本地下载 这 个教程将实现一个页面部分内容突出显示效果&#xff0c; 大家可能经常见到一些页面组成内容比较多&#xff0c;可能会分散用户的…

[react] 说说你是怎么理解react的业务组件和技术组件的?

[react] 说说你是怎么理解react的业务组件和技术组件的&#xff1f; 业务组件即代码逻辑紧贴业务&#xff0c;如ajax请求&#xff0c;一些特定的需求特性等&#xff1b; 技术组件即使比较通用性的组件&#xff0c;如对loading的处理、ajax的hoc等 个人简介 我是歌谣&#xf…

查看静态库(.lib)和动态库(.dll)的导出函数的信息

From&#xff1a; http://blog.csdn.net/sunliangyuan/article/details/8075808 一般情况下&#xff0c;我们需要查看一个DLL或EXE中的包含的函数或是依赖的函数之类的信息&#xff0c;可以使用VS自带的工具dumpbin&#xff1b; 可以直接在命令行下输入dumpbin就可以查看他的…

Cracked me --1--Acid_burn

结合ida和od结合效果最好。 打开程序&#xff0c;首先是一个nag窗口&#xff08;去除nag&#xff09; 常用方法&#xff0c;一寻找字符串&#xff0c;发现和以往的 不同&#xff0c;不是对话框句柄的形式。只能第二种方法&#xff0c;单步找到对话框出现的位置。0042fd97-->…

QT 开发openSSL CSR证书请求工具

1、环境 QT 5.15.2 MinGW8.1.0 64Bit OpenSSL 1.1.1f 31 Mar 2020 built on: Wed Nov 24 13:20:48 2021 UTC platform: debian-amd64 options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 本机的OpenSSL是随QT安装的。 2、QT使用openSSL 2.1 项目文件添加以下依赖 …

Twitter Storm 序列化

序列化这篇文章是关于序列化方法在storm 0.6.0版及之前版本中是如何工作的。0.6.0版之前&#xff0c;storm使用一种不同的序列化方法&#xff0c;参见 Serialization (prior to 0.6.0)。 元组可由任何一种类型的对象组成。由于storm是一个分布式系统&#xff0c;当对象在任务之…

VC 打开目录对话框

From: http://blog.sina.com.cn/s/blog_790bb7190100yxm7.html 对于文件选择对话框和目录选择对话框。在VC中打开文件选择对话框比较简单&#xff0c;使用CFileDialog就可以。打开目录选择对话框就稍微麻烦一些。需要使用API函数SHBrowseForFolder来实现。 该函数原型为: …

[react] 说说你对Error Boundaries的理解

[react] 说说你对Error Boundaries的理解 错误边界是React16新推出的一种错误处理的方式&#xff0c;在v16之前&#xff0c;React的抛错会导致页面显示的错误&#xff0c;v16修改这种方式成了组件如果产生了错误&#xff0c;那么从这个组件到根组件都会因为错误而崩溃掉&#…

pwd命令

Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说&#xff0c;每当你在终端进行操作时&#xff0c;你都会有一个当前工作目录。 在不太确定当前位置时&#xff0c;就会使用pwd来判定当前目录在文件系统内的确切位置。 1&#xff0e;命令格式&#xff1a; pwd […