设为首页 加入收藏

TOP

HTTPS心得笔记之OpenSSL生成root CA及签发证书(二)
2018-11-20 22:09:38 】 浏览:557
Tags:HTTPS 心得 笔记 OpenSSL 生成 root 签发 证书
nyZDrj
IHxBbqPNzeiqLCFLFPGgJPa0cH8DdovBTesvu7wr/ecsf8CYyUCdEwGkZh9DKtdU
HFa9H8tWW2mX6uwYeHCnf2HTw0E8vjtOb8oYQxlQxtL7dpFyMgrpPOoOVkZZW/P0
NQIDAQAB
-----END PUBLIC KEY-----


三、获取权威机构颁发证书步骤


        获取权威机构颁发的证书,需要先得到私钥的key文件(.key),然后使用私钥的key文件生成sign req 文件(.csr),最后把csr文件发给权威机构,等待权威机构认证,认证成功后,会返回证书文件(.crt)。


A:生成私钥key。


        与第二节使用openssl生成RSA密钥对的步骤A一致。使用命令:openssl genrsa -aes128 -out fd.key 2048



B:私钥的key文件生成sign req 文件(.csr)


      生成csr文件时,需要填写一些关于待签人或者公司的一些信息,比如国家名,省份名,组织机构名,主机名,email名,有些信息可以不填写,使用.标识。


        使用命令:openssl req -new -key fd.key -out fd.csr。过程如下:         


$ openssl req -new -key fd.key -out fd.csr
Enter pass phrase for fd.key: ****************
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) [AU]:GB
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:London
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Feisty Duck Ltd
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:www.feistyduck.com
Email Address []:webmaster@feistyduck.com


Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:


C、把csr文件发给权威机构,等待权威机构认证,交费获取证书即可。


四、OpenSSL生成root CA及签发证书


        有时候,使用SSL协议是自己内部服务器使用的,这时可以不必去找第三方权威的CA机构做证书,可以做自签证书(自己创建root CA(非权威))主要有以下三个步骤。


A:创建openssl.cnf在使用default-ca时需要使用的SSL的工作目录(第一次必须要设置)。


        1、查看openssl的配置文件:


openssl version -a
OpenSSL 1.0.1e-fips 17 Nov 2016
built on: Fri Nov 18 16:28:23 CST 2016
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rdrand dynamic


 


        2、找到OPENSSLDIR: "/etc/pki/tls"的配置文件openssl.cnf


        根据配置文件下的[ CA_default ]节点默认值,创建对应文件夹和文件。



        按顺序在/etc/pki/CA下执行以下命令创建文件夹和文件:



        其中,certs:存放已颁发的证书;newcerts:存放CA指令生成的新证书;private:存放私钥;crl:存放已吊销的整数;index.txt:penSSL定义的已签发证书的文本数据库文件,这个文件通常在初始化的时候是空的;serial:证书签发时使用的序列号参考文件,该文件的序列号是以16进制格式进行存放的,该文件必须提供并且包含一个有效的序列号。


        执行完后,当前目录为:


[tt@SWEBMYVMM000210 /etc/pki/CA]$ll
total 20
drwxrwxrwx 2 root root 4096 Mar 12 11:08 certs
drwxrwxrwx 2 root root 4096 Nov 18  2016 crl
-rwxrwxrwx 1 root root    0 Mar 12 11:06 index.txt
drwxrwxrwx 2 root root 4096 Nov 18  2016 newcerts
drwxrwx

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python多线程批量插入数据小结 下一篇Lambda表达式 List排序进阶

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目