openssl部署构建CA及签发证书

来源:互联网 发布:免费自动拨号软件 编辑:程序博客网 时间:2024/04/28 11:44
1)部署openssl

在运行目录下创建ca文件夹
#mkdir ca
#cd ca

将openssl.cfg拷贝到运行目录下

#cp /vendor/openssl/openssl-1.0.0/apps/openssl.cfg .
修改openssl.cfg,修改CA_default默认路径dir为./ca,修改certificate为$dir/ca_cert.pem,修改private_key为$dir/ca_key.pem
[ CA_default ]
dir = ./ca # Where everything is kept
certificate = $dir/ca_cert.pem # The CA certificate
private_key = $dir/ca_key.pem# The private key

新建./ca/index.txt空文件

新建./ca/serial文件,设置其内容为014A

在./ca下创建newcerts目录存放新证书
#mkdir newcerts

2)签发ca证书
#openssl req -x509 -newkey rsa:1024 -keyout ca/ca_key.pem -out ca_cert.pem -outform PEM -config openssl.cnf
产生一个1024位的RSA私钥“ca_key.pem”,并用他自签发出来一个证书“ca_cert.pem”。这个证书将来用来当作CA根证书。
会要求用户填入相应的信息,首先是ca_key.pem的加密口令,接下来是CA根证书的相应信息。

3)签发测试证书
openssl req -newkey rsa:1024 -keyout ca/testkey.pem -keyform PEM -out ca/testreq.pem -outform PEM -config openssl.cnf
openssl ca -in ca/testreq.pem -out ca/testres.pem -config openssl.cnf 

4)使用测试证书加/解密
加密
openssl rsautl -encrypt -in ca/test.txt -inkey ca/testres.pem -certin -out ca/test.en -config openssl.cnf
解密
openssl rsautl -decrypt -in ca/test.en -inkey ca/testkey.pem -out ca/test.de -config openssl.cnf

FAQ
1)调用PEM_read_bio_PrivateKey等函数失败
请检查是否调用了OpenSSL_add_all_algorithms();对openssl进行了初始化

原创粉丝点击