【openssl】相关指令

熟悉下相关概念

  • x509:证书标准
  • pem和der:两种(包括公私钥、证书签名请求、证书等内容的)的格式,前者是文本形式,linux常用,后者是二进制形式,windows常用,仅仅是格式,不表明内容,如果作为后缀就像html起的效果一样。有时候用pem做公钥的后缀
  • crt和cer:常见的两种证书后缀名,前者大多数情况为pem格式,后者大多数情况为der格式
  • csr:证书签名请求文件(后缀一般都是.csr),包含了公钥、用户名等信息
  • key:常见的私钥的后缀名

创建私钥,公钥

openssl genpkey -algorithm RSA -out registry_private.key -pkeyopt rsa_keygen_bits:2048

openssl rsa -in registry_private.key -pubout -out registry_public.key 生产一个公钥信息文件

创建签名申请

生成证书签名请求 (CSR)

创建一个配置文件,内容如下:

root@master01 pki\]# cat crs.conf \[req

distinguished_name = req_distinguished_name

req_extensions = v3_req

prompt = no

req_distinguished_name

C = CN

ST = CKG

L = CKG

O = ITTest

OU = IT

CN = 192.168.2.222

v3_req

keyUsage = critical, digitalSignature, keyEncipherment

extendedKeyUsage = serverAuth

subjectAltName = @alt_names

alt_names

DNS.1=master00.com

DNS.2=bqs.master00.com

IP.1 = 192.168.2.222 # 这些dns名和ip 就是 表示后面生成的证书就是用来验证这些地址,如果生成的证书用于其他地址的,客户端就认为不证书不合法。

执行命令生成申请文件

openssl req -new -key registry_private.key -out registry.csr -config crs.conf

创建证书

生成自签名证书

openssl x509 -req -in registry.csr -signkey registry_private.key -out registry.crt -days 3650 -extfile crs.conf -extensions v3_req

-days 3650 指定证书的有效天数

查看证书信息

openssl pkey -in registry_private.key -text -noout 查看生成后的私钥信息

openssl x509 -in registry.crt -text -noout 查看证书

检验证书是否有某个根证书签名

openssl verify -CAfile rootCA.crt

-CAfile rootCA.crt 指定了根证书文件。

server.crt 是待验证的证书文件。

输出 server.crt: OK 说明server.crt就是被rootCA.crt签名的

相关推荐
人生苦短,菜的抠脚25 分钟前
Linux 内核IIO sensor驱动
linux·驱动开发
jz_ddk37 分钟前
[LVGL] 从0开始,学LVGL:进阶应用与项目实战(上)
linux·信息可视化·嵌入式·gui·lvgl·界面设计
ITKEY_42 分钟前
ssh中neovim无法复制文本 clipboard
运维·ssh
Bruce_Liuxiaowei1 小时前
Windows系统错误6118全面解决方案:修复此工作组的服务器列表当前无法使用
运维·服务器·windows·网络安全
望获linux1 小时前
【实时Linux实战系列】Linux 内核的实时组调度(Real-Time Group Scheduling)
java·linux·服务器·前端·数据库·人工智能·深度学习
云宏信息1 小时前
【深度解析】VMware替代的关键一环:云宏ROW快照如何实现高频业务下的“无感”数据保护?
服务器·网络·数据库·架构·云计算·快照
坐吃山猪1 小时前
zk02-知识演进
运维·zookeeper·debian
MC丶科1 小时前
【SpringBoot常见报错与解决方案】端口被占用?Spring Boot 修改端口号的 3 种方法,第 3 种 90% 的人不知道!
java·linux·spring boot
江公望1 小时前
ubuntu kylin(优麒麟)和标准ubuntu的区别浅谈
linux·服务器·ubuntu·kylin
Lynnxiaowen1 小时前
今天我们开始学习python语句和模块
linux·运维·开发语言·python·学习