openssl 自建CA,并签发证书
2015-02-09 09:21
375 查看
第一部分:自建CA
注:为了更好管理自建CA,在下文中,为没有特殊说明的情况,CA根目录都是指的自建CA的根目录。
1. 创建CA根目录,并初始化一些文件:
2. 生成CA所需要的私钥及自签证书:
3. 生成CA签发证书的配置文件:
第二部分:生成SSL所需私钥及CA签发请求
第三部分:使用自建CA签发上面生成证书签发请求
第四部分:生成ssl所需的证书:
上述使用openssl 版本号:OpenSSL 1.0.0-fips 29 Mar 2010
注:为了更好管理自建CA,在下文中,为没有特殊说明的情况,CA根目录都是指的自建CA的根目录。
1. 创建CA根目录,并初始化一些文件:
mkdir $HOME/myca cd $HOME/myca mkdir certs private conf echo "01" > serial echo "" > index.txt cat > conf/gen_ca.cnf << EOF # CNF START HERE [req] default_keyfile = [my home]/myca/private/cakey.pem default_md = md5 prompt = no distinguished_name = myca_distinguished_name x509_extensions = myca_extentions [myca_distinguished_name] organizationName = myca_org organizationalUnitName = myca_unit commonName = myca_common emailAddress = myca@ca.com [myca_extentions] basicConstrains = CA:true # CNF END HERE EOF
2. 生成CA所需要的私钥及自签证书:
// 生成私钥,并自签 openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 365 -config conf/gen_ca.cnf //根据提示,输入相应的密码及其他内容 //查看上面生成的CA证书 openssl x509 -in cacert.pem -text -noout
3. 生成CA签发证书的配置文件:
cat > conf/myca.cnf << EOF # cnf start here [ca] default_ca = myca [myca] dir = [my home]/myca/ database = $dir/index.txt new_certs_dir = $dir/certs certificate = $dir/cacert.pem serial = $dir/serial private_key = $dir/private/cakey.pem RANDFILE = $dir/private/.rand default_days = 365 default_crl_days= 30 default_md = md5 unique_subject = no policy = my_policy [my_policy] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional # cnf ended here EOF
第二部分:生成SSL所需私钥及CA签发请求
mkdir $HOME/myssl cd $HOME/myssl openssl req -newkey rsa:2048 -keyout serverkey.pem -keyform PEM -out serverreq.pem -outform PEM #按照提示输入密码及其他相关信息,执行成功后,会输出serverkey.pem(私钥)和serverreq.pem(签发请求文件,需要给CA进行签发,然后得到相应的签发证书) #查看签发请求内容(与其他查看类似): openssl req -in serverreq.pem -text -noout
第三部分:使用自建CA签发上面生成证书签发请求
openssl ca -in serverreq.pem -out servercert.pem -config $HOME/myca/conf/myca.cnf #需要特别注意-config参数,指定了所使用的配置文件及CA,在配置文件中有自建CA的参数信息。具体看上面的配置文件
第四部分:生成ssl所需的证书:
mkdir $HOME/myssl cd $HOME/myssl #生成服务端私钥及签发请求,生成私钥 serverkey.pem;签发请求serverreq.pem openssl req -newkey rsa:2048 -keyout serverkey.pem -keyform PEM -out serverreq.pem -outform PEM #CA签发证书,生成证书文件servercert.pem openssl ca -in serverreq.pem -out servercert.pem -config $HOME/myca/conf/myca.cnf #生成客户端私钥及签发请求,生成私钥 clientkey.pem;签发请求clientreq.pem openssl req -newkey rsa:2048 -keyout clientkey.pem -keyform PEM -out clientreq.pem -outform PEM #CA签发证书,生成证书文件clientcert.pem openssl ca -in clientreq.pem -out clientcert.pem -config $HOME/myca/conf/myca.cnf SSL连接中,需要使用到的文件有: serverkey.pem servercert.pem cacert.pem clientkey.pem clientcert.pem cacert.pem cacert.pem是自建CA中自签得到的CA证书,在$HOME/myca/目录下。
上述使用openssl 版本号:OpenSSL 1.0.0-fips 29 Mar 2010
相关文章推荐
- OpenSSL 自建CA及签发证书
- 基于Openssl的 CA建立 证书签发
- CentOS6.5环境下OpenSSL实战:自己搭建CA中心,申请,签发,吊销,导入证书,SSL 握手详解
- 使用Openssl生成CA及签发证书方法
- 通过OpenSSL自签CA为Android服务器签发证书
- 基于 OpenSSL 的 CA 建立及证书签发
- 使用Openssl生成CA及签发证书方法
- openssl 自建ca,颁发客户端证书
- 加密解密概述及openssl应用及其创建CA和签发证书的实现
- Openssl生成CA及签发证书方法
- Linxu环境下如何使用Openssl搭建CA中心签发证书
- 用OpenSSL创建CA和签发证书,转换成java可以加载的jks
- 使用OpenSSL 自建CA 以及颁发证书
- 基于 OpenSSL 自建 CA 和颁发 SSL 证书
- 基于openssl的ca建立及证书签发
- 使用OpenSSL自建CA及颁发证书、吊销证书
- 基于 OpenSSL 的 CA 建立及证书签发
- 基于 OpenSSL 的 CA 建立及证书签发
- PKI架构的简介,如何使用OPENSSL完成加密与解密,如何自建CA完成证书的签署。
- 基于 OpenSSL 的 CA 建立及证书签发 【转】