我们首先需要装上openssl(现在的Linux基本自带,没有的下一个装上)。
1)然后,找到openssl.cnf文件,这个文件保存着对openssl证书生成的默认值,她的位置一般为:
Debian: /etc/ssl/openssl.cnf
RedHat 7.x+: /usr/share/ssl/openssl.cnf
用编辑器打开,变量名目繁多,比较有用的有
"default_days",证书失效的天数,默认一般为365天,改为3650,这样十年才过期:)。
"default_bits",密钥长度,默认为1024,你可以改为2048,更安全,当然速度也更慢……
"req_distinguished_name",默认的信息设置,如果你和我一样闲每次去生成密钥的时候去填的麻烦,就改之。
2)建一个目录来放你的CA,我们这里用/root/ca,记的把他的权限设置为700,你不希望其他用户可以看到你的私钥吧。
3)找到"CA.sh"脚本的位置,在不同系统上稍有不同
Debian: /usr/lib/ssl/misc/CA.sh
RedHat 7.x+: /usr/share/ssl/misc/CA
编辑她,把DAYS="-days 365"的365改成你希望的数值,注意要比openssl.cnf中的"default_days"要大,当时也不要太大,一般为15年到20年就好了。
4)生成证书
~/ca$/usr/lib/ssl/misc/CA.sh -newca ;生成一个待签名的根证书,用她来给其他证书进行签名认证。默认生成在demoCA目录下的cacert.pem文件(在openssl.cnf中的 CA_default子段设置)下。输入的密码为用来生成其他证书的密码。-sign的时候用。
~/ca$openssl ca -gencrl -out crl.pem 生成一个与根证书相对应的crl文件
然后开始生成给主机用的证书
~/ca$/usr/lib/ssl/misc/CA.sh -newreq 生成待签名认证的证书,默认名字为newreq.pem,输入的密码用在填些/etc/ipsec.secrets中。
~/ca$/usr/lib/ssl/misc/CA.sh -sign 对证书进行签名认证,默认名字为newcert.pem
~/ca$/usr/lib/ssl/misc/CA.sh -verify 认证一下
然后重命名文件
~ca$mv newcert.pem melin.pem
~ca$mv newreq.pem melin.key //别搞反了,小的那个文件是key:),另外如果要生成的主机证书,填入的信息相同可能出错
用同样的方法生成right.pem和right.key文件。这样我们就有了同样的根证书生成的两个证书文件。
把文件拷贝到相应的位置:
在Left主机主机上
melin:~/ca#cp melin.key /etc/ipsec.d/private
melin:~/ca#cp melin.pem /etc/ipsec.d/certs
melin:~/ca#cp demoCA/cacert.pem /etc/ipsec.d/cacerts
melin:~/ca#cp crl.pem /etc/ipsec.d/crls/crl.pem
用安全的渠道(scp或软盘,别用ftp)把一下文件拷贝到right上
melin.pem
right.key
right.pem
demoCA/cacert.pem
crl.pem
也拷贝到正确的地方
melin#cp right.key /etc/ipsec.d/private
melin#cp right.pem /etc/ipsec.d/certs
melin#cp melin.pem /etc/ipsec.d/certs
melin#cp crl.pem /etc/ipsec.d/crls
melin#cp cacert.pem /etc/ipsec.d/cacerts/cacert.pem
阅读(3770) | 评论(0) | 转发(0) |