openssl命令

  

openssl
组件:
libcrypto, libssl主要开发者使用。
openssl:多用途命令行工具;

  
 <代码> openssl:
  从多子命令分为三类:
  标准命令:
  消息摘要命令(dgst子命令)
  加密命令(enc子命令) 
  <人力资源/>   
 <代码>对称加密:
  工具:openssl enc
  支持的算法:3 des、aes、河豚,拖鱼
  
  加密命令
  enc命,令:
  
  实例:
  加密~)# openssl enc - e -des3——盐——这个治疗fstab.ciphertext
  解密~)# openssl enc - d -des3——盐治疗的fstab——fstab.ciphertext  
  <人力资源/>   
 <代码>单向加密:
  工具:openssl dgst md5sum、sha1sum sha224sum, ....
  
  dgst命令:
  ~)# openssl dgst md5的fstab
  MD5 (fstab)=f24b68951add3236d19dff63f0c92206  
  <人力资源/>   
 <代码>生成用户密码:
  工具:passwd, openssl passwd
  
  ~]# openssl passwd 1盐随机数(123456789)
  
  实例:
  (root@localhost ~) # openssl passwd 1盐$ (openssl兰德十六进制10)
  密码:
  1美元Ir21xFr8gVZJFK1trPohf a8fa 9727美元。
  
  生成随机数:
  工具:openssl兰德
  
  实例:
  root@localhost ~ # openssl兰德十六进制10
  8 a7f0ab5316d5c0f2aba
  
  root@localhost ~ # openssl兰德base64 10
  G8mVfr06RCHmhQ== 
  <人力资源/>   
 <代码>公钥加密:
  加密解密:
  算法:RSA,困难问题
  工具:openssl rsautl gpg
  数字签名:
  算法:RSA、DSA、困难问题
  密钥交换:
  算法:DH
  生成密钥:
  生成私钥~):# (umask 077;openssl genrsa两级/tmp/mykey。私人2048)
  提出公钥~):# openssl rsa——/tmp/mykey。私人-pubout
  
  linux系统上的随机数生成器:/dev/random:仅从熵池返回随机数;随机数用尽,阻塞;/dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数,非阻塞;
  伪随机数不安全;
  
  熵池中随机数的来源;
  硬盘IO中断时间间隔;
  键盘IO中断时间间隔; 
  <人力资源/>   <人力资源/>   
 <代码> CA:
  公共信任的CA,私用CA;
  
  openssl命令:
  配置文件~):#猫/etc/pki/tls/openssl.cnf  
  <人力资源/>   <人力资源/>   
 <代码>
  “* *构建私有CA:“
  在确定配置为CA的服务上生成一个自签证书,并为CA提供所需要的目录及文件即可;
  
  步骤:
  1 .生成私钥:
  ~)# (umask 077;openssl genrsa治疗/etc/pki/CA/private/cakey.pem 4096)
  2 .生成自签证书:
  事:生成新证书签署请求;
  x509:生成自签格式证书,专用于创建私有CA时;
  关键:生成请求时用到的私有文件路径;
  治疗:生成的请求文件路径;如果自签操作将直接生成签署过的证书;
  天:证书的有效时长,单位是天;
  
  ~)# openssl点播- x509关键/etc/pki/CA/private/cakey.pem治疗/etc/pki/CA/cacert.pem天3655
  
  你将被要求输入信息将被整合
  到你的证书请求。
  你即将进入的是所谓的专有名称或一个DN。
  有相当多的领域但你可以留一些空白
  对于一些领域将会有一个默认值,
  如果你输入的。”字段留空。
  -----
  国家名称(2字母代码)(XX): CN
  州或省名称(全名)[]:广东
  地区名称(如城市)(默认城市):深圳
  组织名称(如公司)[默认有限公司]:itxuezhe
  组织单元名称(例如,部分)[]:运维
  常见的名字(例如你的名字或你的服务器的主机名)[]:ca.itxuezhe.com
  电子邮件地址[]:caadmin@itxuezhe.com
  
  # ls/etc/pki/CA/root@localhost ~
  caert。pem的crl newcerts私有的
  
  3 .为CA提供所需的目录及文件;
  ~)# mkdir pv/etc/pki/CA/{确实的事情,crl, newcerts}
  ~)#触摸/etc/pki/CA/{串行,index.txt}
  ~)#回声01比;/etc/pki/CA/serial * *
   
  <人力资源/>   

要用到证书进行通信的服务器,需要向CA请求签署证书:

  
 <代码>步骤:(以httpd主机为例)
  1 .用到证书的主机生成证书签署请求;
  ~ # mkdir/etc/httpd/ssl
  ~ # cd/etc/httpd/ssl
  ssl) # (umask 077;openssl genrsa治疗httpd。关键的2048)
  
  3.2。生成证书签署请求
  (root@localhost ssl) # openssl点播以及其他关键httpd。治疗httpd的关键。csr天365
  你将被要求输入信息将被整合
  到你的证书请求。
  你即将进入的是所谓的专有名称或一个DN。
  有相当多的领域但你可以留一些空白
  对于一些领域将会有一个默认值,
  如果你输入的。”字段留空。
  -----
  国家名称(2字母代码)(XX): CN
  州或省名称(全名)[]:广东
  地区名称(如城市)(默认城市):深圳
  组织名称(如公司)[默认有限公司]:itxuezhe
  组织单元名称(例如,部分)[]:运维
  常见的名字(例如你的名字或你的服务器的主机名)[]:www.itxuezhe.com
  电子邮件地址[]:web@itxuezhe.com
  
  请输入以下额外的属性
  发送你的证书请求
  一个挑战密码[]:
  一个可选的公司名称[]:
  
  (root@localhost ssl) #噢
  总用量8
  -rw-r——r。1078年12月10福音11:24 httpd.csr 1根根
  - - - - - - - -。1679年12月10日11:20 httpd.key 1根根
  
  3 .将请求通过可靠方式发送给CA主机;
  ssl) # scp httpd。csr root@192.168.80.16:/tmp/root@192.168.80.16的密码:
  httpd.csr
  
  4 .在CA主机上签署证书;
  (root@localhost ~) # openssl ca——/tmp/httpd。csr治疗/etc/pki/CA/certs/httpd.crt天365
  利用/etc/pki/tls/openssl.cnf配置
  检查请求匹配的签名
  签名好
  证书详细信息:
  序号:1 (0 x1)
  有效性
  不是之前:12月10 03:29:20 2019 GMT
  没有后:格林尼治时间2020年12月9日03:29:20
  主题:
  countryName=CN
  stateOrProvinceName=广东
  organizationName=itxuezhe
  organizationalUnitName=运维
  commonName=www.itxuezhe.com
  emailAddress=web@itxuezhe.com
  X509v3扩展:
  X509v3基本约束:
  CA:假
  网景的评论:
  OpenSSL生成证书
  X509v3主题关键标识符:
  D9: B4:2D: FB: 4 c: 5 b: EC: 8 d: 5 e: 90:9F: 1 b: C6:61:65:0C: FB: 94:59:8C
  X509v3权威关键标识符:
  keyid: 44: C1: C1: A7: B5:5F: 15:15:06:8B: 3 b: 7 c: 15: CB: 5 e: B4: A6:19: FD: 5 e
  
  证书注册到格林尼治时间2020年12月9日03:29:20(365天)
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

openssl命令