声明:笔者菜鸟一枚,可能由于理解不足,文章多有偏颇,欢迎各种批评。
 

先简单的说几个小笔记:

openssl enc -des3 -salt -a -in inittab -out inittab.des3
 命令 子命令 加密算法 密钥salt信息(有无皆可) base64编码处理数据 对哪个文件 输出到哪个文件
openssl enc -des3 -d -salt -a -in inittab1.des3 -out inittab
 -d为解密,其他同上
 
(umask 077;openssl genrsa -out test.rsa 1024) 私钥
  创建私钥,rsa为genrsa
openssl rsa -in test.rsa -pubout 公钥
  在已创建的私钥中,提取公钥

现在,要求做一个内部的CA服务端

总体步骤就是:
1、得有个CA内部机构(服务端)
2、这个CA服务端为了声明自身合法,得先自签署个证书出来
3、然后客户端,得有私钥,然后私钥生成个可以被签署的文件
4、客户端把这个需要签署的文件,传递给CA服务端
5、CA服务端成功签好了,把签好的文件,传给客户即可,大致就这么个意思.
############操作加注释如下:##################
CA服务端:
1、vim /etc/pki/tls/openssl.cnf
dir=/etc/pki/CA
 默认为相对路径,修改为绝对路径,保证无误
2、cd /etc/pki/CA
# mkdir certs newcerts crl
# touch index.txt
# echo 01 > serial
 创建配置文件所需的目录和文件,注意cd命令,甭忘了...
3、自签证书
# (umask 077; openssl genrsa -out private/cakey.pem 2048)
# openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3650
 x509生成自签证书必备选项,有效期为3650天
 然后依次输入:国家、省、城市、公司、部门、主机名、邮件地址

证书申请方:
1、为vsftpd服务生成密钥:此处对vsftpd不做细说,仅示例openssl的内部CA服务器功能
# cd /etc/vsfptd/
# mkdir ssl
# cd ssl
# (umask 077; openssl genrsa 1024 > vsftpd.key) #生成私钥文件
# openssl req -new -key vsftpd.key -out vsftpd.csr
 以私钥中的公钥信息,生成需csr(证书签署请求)文件,此步骤为申请方必须的操作
 此次生成的文件基于之前生成的私钥文件,尾部无硬规定为.csr,但是这么起名,便于理解
 然后依次输入:国家、省、城市、公司、部门、主机名、邮件地址、密码、用户
 注意:私有CA机构签发,除了主机名和邮件地址,其他必须保持和服务器一致.

2、将此请求通过某方式传递给CA服务器
 可以ftp,scp...但是服务端签署后,必须要把签署生成的*.crt再传递回来
3、CA签署证书(在CA服务器上操作)
# openssl ca -in vsftpd.csr -out vsftpd.crt -days 365
openssl x509 -text -in vsftpd.crt 查看已签署的证书信息