要在CentOS 8上自建一个证书颁发机构(CA)并为用户sangfor创建证书,可以按照以下步骤进行操作: 步骤一:搭建OpenSSL:在CentOS 8上安装OpenSSL工具,使用以下命令: 步骤二:创建CA目录结构:首先,创建用于存储CA相关文件的目录结构。例如,可以执行以下命令: mkdir private#私钥目录 certs#公钥(证书)目录 newcerts crl csr(证书请求目录) echo "1000" > serial 用于跟踪和管理已签署的证书序列号 cp /etc/pki/tls/openssl.cnf ~/ca/openssl.cnf 复制配置文件
步骤三:编辑该文件修改一些后续会用到的文件名和路径 步骤四:创建根密钥和根公钥(证书):使用以下命令生成CA的根密钥和自签名的根证书: openssl genpkey -algorithm RSA -out private/ca.key.pem 生成根证书私钥 chmod 400 private/ca.key.pem openssl req -new -x509 -key private/ca.key.pem -sha256 -out certs/ca.cert.pem 生成根证书公钥,注意,此处的common name设置为任意域名即可,不要与用户证书的common name一致,此处因为截图丢失使用用户证书截图
步骤五:创建用户sangfor的密钥和证书请求:为用户sangfor生成私钥和证书请求(CSR),执行以下命令: openssl genpkey -algorithm RSA -out private/sangfor.key.pem 生成用户sangfor私钥 chmod 400 private/sangfor.key.pem openssl req -new -key private/sangfor.key.pem -out csr/sangfor.csr.pem 生成用户sangfor证书请求,除了common name为用户名之外,其余参数尽量与生成根证书公钥时填写的参数一致
步骤六:CA为用户签名并生成公钥: openssl ca -batch -config openssl.cnf -extensions usr_cert -days 365 -notext -md sha256 -in csr/sangfor.csr.pem -out certs/sangfor.cert.pem 自建CA根据sangfor的csr请求生成sangfor的公钥/证书 chmod 444 certs/sangfor.cert.pem
步骤七:导出用户证书(公钥+私钥)为pfx文件,并设置在PC导入用户证书的密码并导出至PC openssl pkcs12 -export -out ./sangfor_certificate.pfx -inkey ./private/sangfor.key.pem -in ./certs/sangfor.cert.pem
步骤八:将CA公钥转换格式并导入到atrust cp certs/ca.cert.pem ./ca.crt并导出该crt文件 上传证书并新增目录,并设置用户证书的CN字段对应用户名
步骤九:用户导入证书 此处的颁发给,就是用户证书生成阶段的 Common Name,并且颁发者为CA公钥生成阶段的Common Name
5.登录提示失败,因为创建CA认证服务器时候创建的目录中并没有该用户 |