openssl命令
发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,openssl组件:libcrypto, libssl主要开发者使用;openssl: 多用途命令行工具; openssl: 从多子命令 分为三
千家信息网最后更新 2024年10月20日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安全错误
数据库的锁怎样保障安全
北京net软件开发哪家正规
勤哲excel服务器表格锁定
提高网络安全的保护能力
企业网络技术论文前言
网络安全主要业绩阐述
网络安全安全事件
局域网常用网络技术
服务器带外管理口怎么配置
我的世界服务器有静态水
execsql数据库
枣庄市兴硕网络技术有限公司
数据库表的维护
韩服和英雄联盟哪个服务器好
数据库运维管理平台
怎么进阿里云服务器
逻辑根域名服务器
网吧服务器没网了怎么办
数据库grant
实况数据库维阿
云锐软件开发
怎么显示数据库的编码格式
厦门九零互联网科技有限公司
国服务器ip
舒兰软件开发
诛仙3单机数据库文件
安祎网络技术有限公司
数据库限制连接数
计算机二级数据库考试技巧
wins首选服务器
医疗软件开发公司新年贺词