Linux下导入SSL证书(配置用于Apache)

通过OpenSSL提供FTP+SSL/TLS认证功能,并实现安全数据传输

基于OpenSSL实现C/S架构中的https会话

OpenSSL:构建CA的过程并实现web服务基于https访问的网络架构

一、安装/升级OpenSSL
首先确认是否已安装过openssl
[root@openssl-1.0.1e]#openssl version -a
如果已经安装过,则根据需要版本看是否需要升级,如果没有安装过,则使用全新安装方法进行安装。
1、全新安装
[root@localhost media]#wget
[root@localhost media]#tar -xzvf openssl-1.0.1e.tar.gz
[root@localhost openssl-1.0.1e]#cd openssl-1.0.1e
[root@localhost openssl-1.0.1e]#./config -prefix=/usr/local/ssl //指定安装路径。不指定时,默认路径也为/usr/local/ssl
[root@localhost openssl-1.0.1e]#make
[root@localhost openssl-1.0.1e]#make install
安装完后确认
[root@openssl-1.0.1e]#openssl version -a
2、升级安装时
如果已经安装了OpenSSL,但需要升级时,操作如下:
a,按照全新安装步骤执行安装
b,更新关联文件
[root@localhost openssl-1.0.1e]#mv /usr/bin/openssl /usr/bin/openssl.OFF

[root@localhost openssl-1.0.1e]#mv /usr/include/openssl /usr/include/openssl.OFF //**根据安装方法不同,该文件夹的路径可能会不同,可能会是 /usr/lib64/openssl. **//

[root@localhost openssl-1.0.1e]#ln –s /usr/local/ssl/bin/openssl/usr/bin/openssl
[root@localhost openssl-1.0.1e]#ln –s/usr/local/ssl/include/openssl /usr/include/openssl
//**链接文件的路径[/usr/local/ssl]要和安装时指定的-prefix的路径是一致的。
c,配置库文件搜索路径
[root@localhost openssl-1.0.1e]#echo “/usr/local/ssl/lib” >>/etc/ld.so.conf //** [/usr/local/ssl]要和安装时指定的-prefix的路径是一致的。
[root@localhost openssl-1.0.1e]#ldconfig –v //**小写字母v
d,确认版本信息
[root@localhost openssl-1.0.1e]#opensslvision -a
确认出现的版本和安装日期和我们进行的最新信息相同


二、制作SSL证书
1、创建密钥文件存放位置
[root@localhost openssl-1.0.1e]#cd /usr/local/httpd-2.1.15/conf //rpm安装的Apache时,路径为/etc/httpd/conf/
[root@localhost conf]#mkdir ssl.crt
[root@localhost conf]#cp /usr/local/openSSL/ssl/misc/CA.sh ssl.crt/

2、制作根证书

a、[root@localhostssl.crt]#./CA.sh -newca

-------------------------------------------------------------

CAcertificate filename (or enter to create)
回车创建新文件,
MakingCA certificate ...
Generatinga 1024 bit RSA private key
....++++++
..++++++
writingnew private key to './demoCA/private/./cakey.pem'
EnterPEM pass phrase:
输入加密密码(ca.pem.password),确认密码后,填写证书信息:
CountryName (2 letter code) [AU]:CN
Stateor Province Name (full name) [Some-State]:XX
LocalityName (eg, city) []:XX
OrganizationName (eg, company) [Internet Widgits Pty Ltd]:XXX
OrganizationalUnit Name (eg, section) []:XX
CommonName (eg, YOUR name) []: XX
EmailAddress []:XX@XX
Pleaseenter the following 'extra' attributes
tobe sent with your certificate request
Achallenge password []:XXXX //可不输入
Anoptional company name []:XXX //可不输入
Usingconfiguration from /usr/local/ssl/openssl.cnf
Enterpass phrase for ./demoCA/private/./cakey.pem:
输入刚才输入的PEM密码(ca.pem.password),一定要一致,否则会出错。
Checkthat the request matches the signature
Signatureok
CertificateDetails:
Serial Number: 14351608714847615801(0xc72b28168be47b39)
Validity
Not Before: Apr 22 11:36:48 2013GMT
Not After : Apr 21 11:36:48 2016GMT
Subject:
countryName = CN
stateOrProvinceName = XX
organizationName = XX
organizationalUnitName = XX
commonName = XX
emailAddress = XX@XX
X509v3 extensions:
X509v3 Subject Key Identifier:
93:CE:87:82:F5:A6:69:1B:77:D9:CF:9E:97:95:FD:51:1B:31:6E:E2
X509v3 Authority Key Identifier:
keyid:93:CE:87:82:F5:A6:69:1B:77:D9:CF:9E:97:95:FD:51:1B:31:6E:E2
X509v3 Basic Constraints:
CA:TRUE
Certificateis to be certified until Apr 21 11:36:48 2016 GMT (1095 days)
Writeout database with 1 new entries
DataBase Updated
---------------------------------------------------------
创建完成。
CommonName :这个名称可以随便取。
生成结果:
demoCA/private/cakey.pem 是CA证书的私钥文件,
demoCA/cacert.pem 是CA证书。

b、制作用于CA签名的CA的私钥和公钥文件
[root@localhostssl.crt]#openssl genrsa -des3 -out ca.key 1024
//要求为key文件输入密码(ca.key.password,随便输入,可以和输入的PEM密码不同)
[root@localhostssl.crt]#openssl req -new -x509 -days 18250-key ca.key -out ca.crt
//要求输入密码以及证书信息。输入的密码要与使用的key文件的密码一致,否则会出错。

同时需要输入证书信息。以完成公钥生成。

3、制作服务器证书

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/12c058b1b69ee6570cf1fbdbac55eb51.html