颁发证书这里我们将分成两个环节介绍,分别是 子CA证书机构向根CA证书机构申请证书以及普通用户向子CA证书机构申请证书。
子CA证书机构向根CA申请证书A 在需要使用证书的主机上生成证书请求
首先在B主机上生成私钥,这一个过程与前面根CA机构生成私钥的过程是一致的。
# 这次我们修改了私钥的长度 # 并且没有采用加密的方式生成 # 因为主机B是要作为子CA机构的形式存在,他也是一个CA,所以生成私钥的时候,就应该按照配置文件中指定的内容,生成cakey.pem [root@CentOS6 pki]$(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 1024) Generating RSA private key, 1024 bit long modulus ......++++++ ..............++++++ e is 65537 (0x10001) # 查看私钥文件可以发现,没有了加密的标识 # 同时因为生成时指定了1024的长度,私钥的长度明显的变短了。 [root@centos6 ~]$cat /etc/pki/CA/private/cakey.pem -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQCxLyAKQCkysisrsuou6oJFJHs/Gk9L406x6sON1a2JX3516FJ2 ·····中间省略······ R1ogCVEZq36sgNYUwaT55gLKk5Ik5T6YQimy0bsvo5oQuw== -----END RSA PRIVATE KEY-----利用私钥文件,生成证书申请文件。
# 其实这里的时间是没有必要指定的。 # 因为证书的时间,是由颁发机构指定的,因此申请机构填写了时间也没用 # 其中有些信息必须要与根证书的内容相同因为在根证书的openssl.cnf文件中已经指定。 [root@centos6 tls]$openssl req -new -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/tls/subca.csr 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) [XX]:CN State or Province Name (full name) []:shandong Locality Name (eg, city) [Default City]:qingdao Organization Name (eg, company) [Default Company Ltd]:pojun.tech Organizational Unit Name (eg, section) []:opt Common Name (eg, your name or your server's hostname) []:subca.pojun.tech Email Address []: # 这里的两步 默认也可以不用填 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:123456 An optional company name []:magedu.comB 将证书的申请文件,传递给根CA