openssl命令
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,openssl组件:libcrypto, libssl主要开发者使用;openssl: 多用途命令行工具; openssl: 从多子命令 分为三
千家信息网最后更新 2026年11月01日openssl命令
openssl
组件:
libcrypto, libssl主要开发者使用;
openssl: 多用途命令行工具;
openssl: 从多子命令 分为三类: 标准命令: 消息摘要命令(dgst子命令) 加密命令(enc子命令) 对称加密: 工具:openssl enc 支持的算法:3des,aes,blowfish,towfish 加密命令 enc命令: 实例: 加密~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext 解密~]# openssl enc -d -des3 -a -salt -out fstab -in fstab.ciphertext 单向加密: 工具:openssl dgst, md5sum, sha1sum, sha224sum,.... dgst命令: ~]# openssl dgst -md5 fstab MD5(fstab)= f24b68951add3236d19dff63f0c92206 生成用户密码: 工具: passwd, openssl passwd ~]#openssl passwd -1 -salt 随机数(123456789) 实例: [root@localhost ~]# openssl passwd -1 -salt $(openssl rand -hex 10) Password: $1$9727a8fa$Ir21xFr8gVZJFK1trPohf. 生成随机数: 工具:openssl rand 实例: [root@localhost ~]# openssl rand -hex 10 8a7f0ab5316d5c0f2aba [root@localhost ~]# openssl rand -base64 10 G8mVfr06RCHmhQ== 公钥加密: 加密解密: 算法:RSA, ELGamal 工具:openssl rsautl, gpg 数字签名: 算法:RSA, DSA,ELGamal 密钥交换: 算法:DH 生成密钥: 生成私钥: ~]# (umask 077; openssl genrsa -out /tmp/mykey.private 2048) 提出公钥:~]# openssl rsa -in /tmp/mykey.private -pubout linux系统上的随机数生成器: /dev/random:仅从熵池返回随机数;随机数用尽,阻塞; /dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数,非阻塞; 伪随机数不安全; 熵池中随机数的来源; 硬盘IO中断时间间隔; 键盘IO中断时间间隔; CA: 公共信任的CA,私用CA; openssl 命令: 配置文件:~]# cat /etc/pki/tls/openssl.cnf `**构建私有CA:` 在确定配置为CA的服务上生成一个自签证书,并为CA提供所需要的目录及文件即可; 步骤: 1.生成私钥: ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) 2.生成自签证书: -new:生成新证书签署请求; -x509:生成自签格式证书,专用于创建私有CA时; -key:生成请求时用到的私有文件路径; -out:生成的请求文件路径;如果自签操作将直接生成签署过的证书; -days:证书的有效时长,单位是day; ~]# 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) [XX]:CN State or Province Name (full name) []:guangdong Locality Name (eg, city) [Default City]:shenzhen Organization Name (eg, company) [Default Company Ltd]:itxuezhe Organizational Unit Name (eg, section) []:ops Common Name (eg, your name or your server's hostname) []:ca.itxuezhe.com Email Address []:caadmin@itxuezhe.com [root@localhost ~]# ls /etc/pki/CA/ caert.pem certs crl newcerts private 3.为CA提供所需的目录及文件; ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts} ~]# touch /etc/pki/CA/{serial,index.txt} ~]# echo 01 > /etc/pki/CA/serial **要用到证书进行通信的服务器,需要向CA请求签署证书:
步骤:(以httpd主机为例) 1.用到证书的主机生成证书签署请求; ~]# mkdir /etc/httpd/ssl ~]# cd /etc/httpd/ssl ssl]# (umask 077; openssl genrsa -out httpd.key 2048) 3.2.生成证书签署请求 [root@localhost ssl]# openssl req -new -key httpd.key -out httpd.csr -days 365 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) [XX]:CN State or Province Name (full name) []:guangdong Locality Name (eg, city) [Default City]:shenzhen Organization Name (eg, company) [Default Company Ltd]:itxuezhe Organizational Unit Name (eg, section) []:ops Common Name (eg, your name or your server's hostname) []:www.itxuezhe.com Email Address []:web@itxuezhe.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: [root@localhost ssl]# ll 总用量 8 -rw-r--r--. 1 root root 1078 12月 10 11:24 httpd.csr -rw-------. 1 root root 1679 12月 10 11:20 httpd.key 3.将请求通过可靠方式发送给CA主机; ssl]# scp httpd.csr root@192.168.80.16:/tmp/ root@192.168.80.16's password: httpd.csr 4.在CA主机上签署证书; [root@localhost ~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 Using configuration from /etc/pki/tls/openssl.cnf Check that the request matches the signature Signature ok Certificate Details: Serial Number: 1 (0x1) Validity Not Before: Dec 10 03:29:20 2019 GMT Not After : Dec 9 03:29:20 2020 GMT Subject: countryName = CN stateOrProvinceName = guangdong organizationName = itxuezhe organizationalUnitName = ops commonName = www.itxuezhe.com emailAddress = web@itxuezhe.com X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: D9:B4:2D:FB:4C:5B:EC:8D:5E:90:9F:1B:C6:61:65:0C:FB:94:59:8C X509v3 Authority Key Identifier: keyid:44:C1:C1:A7:B5:5F:15:15:06:8B:3B:7C:15:CB:5E:B4:A6:19:FD:5E Certificate is to be certified until Dec 9 03:29:20 2020 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated 证书签署成功 ~]# cd /etc/pki/CA/ CA]# cat index.txt V 201209032920Z 01 unknown/C=CN/ST=guangdong/O=itxuezhe/OU=www.itxuezhe.com/CN=www.itxuezhe.com/emailAddress=web@itxuezhe.com 将签署成功的证书发送给申请证书的主机 CA]# scp certs/httpd.crt root@192.168.80.17:/etc/httpd/ssl/ The authenticity of host '192.168.80.17 (192.168.80.17)' can't be established. ECDSA key fingerprint is SHA256:iyMPO9k4t5oUNnOcDCOkJTLBLOSBKKPRuR9AugKmftM. ECDSA key fingerprint is MD5:73:2e:7e:37:b4:48:b9:45:3e:96:f1:ec:6a:9a:59:fd. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.80.17' (ECDSA) to the list of known hosts. root@192.168.80.17's password: httpd.crt 查看证书中的信息: [root@localhost ssl]# openssl x509 -in httpd.crt -noout -serial -subject serial=01 subject= /C=CN/ST=guangdong/O=itxuezhe/OU=www.itxuezhe.com/CN=www.itxuezhe.com/emailAddress=web@itxuezhe.com 吊销证书: 步骤: 1.客户端获取要吊销的证书的serial (在使用证书的主机执行); [root@localhost ssl]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -seral -subject 2.CA主机吊销证书 先根据客户端提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致; 吊销: [root@localhost CA]# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem [root@localhost CA]# openssl ca -revoke /etc/pki/CA/newcerts/01.pem 其中的SERIAL要换成证书真正的序列号; 3.生成吊销证书的吊销编号(第一次吊销证书时执行) CA]# echo 01 > /etc/pki/CA/crlnumber 4.更新证书吊销列表 CA]# openssl ca -gencrl -out thisca.crl 查看crl文件: ]# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text
证书
生成
命令
随机数
主机
加密
工具
文件
算法
实例
步骤
私有
成功
信息
公钥
客户
客户端
密钥
时间
目录
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
互联网是第几次科技革命的成果
互联网科技公司的优势
今日互联网科技
奇酷互联网络科技公司
万达互联网科技
一五八零互联网科技
深圳前海聚择互联网科技有限公司
新兴科技互联网创新大赛颁奖典礼
链环科技传统企业怎么转型互联网
明优互联网科技有限公司
互联网时代的科技公司
上海科技产业互联网平台
互联网金融科技公司的优势
互联网科技融合创新
广州互联网高科技取餐柜
互联网硬科技公司
陕西彩京云互联网科技有限公司
互联网科技大会大佬
利用互联网等科技手段
精品咖啡豆
北京互联网科技
互联网科技logo
富国互联网科技创新基金
中国科技互联网公司收入
阿里互联网科技公司
阿里互联网科技企业
好易买互联网科技
互联网科技大佬云集
宁波允成互联网科技有限公司