https OpenSSL如何生成根CA及签发证书

  

https OpenSSL如何生成根CA及签发证书,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一、OpenSSL简介

,,,openssl才能是目前最流行的SSL密码库工具,其提供了一个通用,健壮,功能完备的工具套件,用以支持SSL/TLS协议的实现。官网:      https://www.openssl.org/source/,其中有3个主要的用途:1,密码算法库(建立RSA, DH, DSA密钥参数,计算消息摘要,使用各种密码加密/解密)2,密钥和证书封装管理功能(建立x证书,证书签名请求(CSR)和利用(证书回收列表));3,SSL通信API接口(SSL/TLS客户端以及服务器的测试,处理S/MIME或者加密邮件)。

二、安装openssl (linux CentOS7 32位)

,,,,如果使用的是unix操作系统,可能安装系统的时候,这个库就已经有且存在的了。但是在使用前,需要注意下当前openssl的库的版本只,以前,

<> openssl 版本   OpenSSL  1.0.1  14, Mar  2012

,,,因才能为版本1.0.1是一个很重要的风水岭版本。因为1.0.1是第一个支持TLS1.1和1.2的版本。支持新的协议。操作系统的选择也很重要,比如Ubuntu 12.04 LTS,客户端不支持SSL2。这里安装以CentOS7系统为例:

,下载openssl库文件:https://www.openssl.org/source/,

B,将下载的压缩包放在根目录下,解压缩,进入解压缩文件(得到openssl-openssl-1.0.0文件夹)cd  openssl-1.0.0

C,编译前配置openssl,执行命令:。/config ——prefix=/usr/地方/openssl,其中,(),——prefix 参数为欲安装之目录,也就是安装后的档案会出现在该目录下。

D编译openssl,执行命令:,使install 

1,问题描述:安装完成,查看版本信息的时候报错了,缺少一个库文件libssl.so.1.1。

 [root@b6e4cbd27773 /usr/地方/openssl/, loading  shared 库:,libssl.so只文件:,No  such  file 或是目录
  2,解决方法有依赖没装libssl。在/etc/ld.so.conf文件中写入openssl库文件的搜索路径,使用修改后的设计及其生效即可:
 echo “/usr/地方/lib64",在祝辞,/etc/ld.so.conf 
 ldconfig  - v 

三、使用openssl生成RSA密钥对

,,,,,,使用openssl的私钥产生公钥前,需要了解以下几点:

1,关键算法:openssl支持生成RSA、DSA, ECDSA的密钥对,但是RSA是目前使用最普遍的。

2,关键长度:RSA的2048是公认较比较安全的键长度。

3,密码(密码):在关键上使用密码是一个可选值,但是一般都是强烈建议的(官网这样写的,实际项目中很多都没有设置口令),这样每次使用钥匙文件时,都需要输入这个密码才能使用,增强了其安全性,但是随之而来的易用性也会变差,

,,,,才能使用genrsa命令来生成RSA密钥(,产生DSA其他算法的关键文件,可以直接参考学习官网教程,在此处以常用的为例),2步骤能完成:

,生成私钥:

,,,,,使用命令:openssl genrsa -aes128治疗fd。关键。2048年以下输入了为这个键值设置了密码,且密码使用aes128加密保存。

openssl 美元;genrsa  -aes128  -out  fd.key  2048

Generating  RSA  private 关键,,2048,bit  long 模量

 .... ................................................................................... + + + + + + e  is  65537, (0 x10001)
  Enter  pass  phrase  for  fd.key:, * * * * * * * * * * * * * * * * Verifying 作用;Enter  pass  phrase  for  fd.key:, * * * * * * * * * * * * * * * * 

,,,,,这个关键文件就是私钥文件。可以查看下文件内容:

cat 美元;fd.key

——-BEGIN  RSA  PRIVATE 关键——-Proc-Type: 4、加密
  DEK-Info: aes - 128 - cbc, 01 ec21976a463ce36e9db59ff6af689a
  vERmFJzsLeAEDqWdXX4rNwogJp + y95uTnw + bOjWRw1 + O1qgGqxQXPtH3LWDUz1Ym
  mkpxmIwlSidVSUuUrrUzIL + V21EJ1W9iQ71SJoPOyzX7dYX5GCAwQm9Tsb40FhV/[21, lines 删除…]
  4 phgtprenewrffrnyrt7khqwrjhnsw6tttthmhx/UCJdpQdaLW/TuylaJMWL1JRW
  i321s5me5ej6Pr4fGccNOe7lZK + 563 d7v5znax + Wo1C + F7YgF + g8LOQ8emC + 6 avv
  - - - - -最终获得;RSA  PRIVATE 关键- - - - - - 

, B,生成公钥:

,,,,才能使用命令:openssl rsa - fd。关键-pubout治疗fd-public.key

<>之前openssl  rsa 拷贝;fd.key  -pubout  -out  fd-public.key   Enter  pass  phrase  for  fd.key:, * * * * * * * * * * * * * * * *

,,,,,查看这个关键文件,就是公钥:

<>之前,美元cat  fd-public.key   - - - - - -BEGIN  PUBLIC 关键——-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnlccwQ9FRyJYHM8sFNsY   PUHJHJzhJdwcS7kBptutf/L6OvoEAzCVHi m0qAA4QM5BziZgnvv + FNnE3sgE5pz   iovEHJ3C959mNQmpvnedXwfcOIlbrNqdISJiP0js6mDCzYjSO1NCQoy3UpYwvwj7   0 ryr1f + abARehlts/Xs/PtX3VamrljiJN6JNgFICy3ZvEhLZEKxR7oob7TnyZDrj   IHxBbqPNzeiqLCFLFPGgJPa0cH8DdovBTesvu7wr/ecsf8CYyUCdEwGkZh9DKtdU   HFa9H8tWW2mX6uwYeHCnf2HTw0E8vjtOb8oYQxlQxtL7dpFyMgrpPOoOVkZZW/P0   NQIDAQAB   - - - - -最终获得;PUBLIC 关键- - - - - -

https OpenSSL如何生成根CA及签发证书