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 关键- - - - - -