配置Linux1为CA服务器,为Linux主机颁发证书。证书颁发机构有效期10年,公用名为Linux.skills.com。申请并颁发一张·供linux服务器使用的证书,证书信息:有效期=5年,公用名=skillls.com,国家=CN,省=Beijing,城市=Beijing,组织=skills,组织单位=systemct,s使用者可选名称=*.skills.com和skills.com将证书skills.crt和私钥skills.key复制到需要证书的linux服务器/etc/sssl目录。浏览器·访问https网站时,不出现证书警告信息
时间: 2025-06-14 10:13:37 浏览: 29
<think>好的,用户想配置Linux作为CA服务器并颁发证书,确保HTTPS访问时没有警告。我需要根据提供的引用内容,结合他的具体要求来解答。
首先,用户需要配置一个有效期10年的根证书,公用名是Linux.skills.com。根据引用[2]中的步骤,应该创建目录、复制文件、修改openssl.cnf,生成私钥和自签名根证书。这里要注意有效期参数,根证书是10年,所以要用- days 3650。然后,用户需要为服务器申请证书,有效期5年,公用名skills.com,SAN包括两个条目。这里需要生成CSR时包含扩展信息,可能需要在openssl.cnf中配置或者使用命令行参数指定SAN。引用[1]里提到申请证书时的一些详细信息,比如国家、省、组织等,这些都需要在生成CSR时填写。
接下来,颁发证书时需要注意正确引用扩展配置,确保SAN被包含进去。引用[2]中的步骤用了openssl ca命令,可能需要调整配置文件中的策略,允许SAN扩展。然后将证书和私钥复制到目标服务器的/etc/ssl目录,这可能指的是/etc/pki/tls或者其他路径,但用户指定了/etc/ssl,可能需要调整目录结构或者权限。最后,确保浏览器信任根证书,这样才能避免警告,所以需要将根证书导入到受信任的存储中。
需要检查openssl.cnf的配置是否正确,特别是与CA相关的部分,如dir路径、策略设置,以及是否启用了copy_extensions,以便在签发时包含CSR中的扩展。另外,生成服务器证书时,可能需要使用-extfile来指定包含SAN的文件,或者在CSR生成阶段就包含这些信息。可能还需要注意文件权限,私钥应该保持安全,比如600权限。
用户的问题可能涉及到证书链的正确性,如果根证书没有正确安装到客户端,浏览器仍然会不信任服务器证书。所以步骤中需要强调将根证书csk-ca.pem导入到客户端的信任库中。另外,目标服务器的Apache或Nginx配置需要正确指向证书和私钥文件,并重启服务,这部分可能也需要简要提及,但用户没有提到,可能需要假设他们已经配置好Web服务器。
总结步骤:配置CA服务器,生成根证书,创建服务器CSR,签发带SAN的证书,复制文件到目标位置,安装根证书到客户端。</think>根据任务要求,以下是分步配置指南(所有操作需在root权限下执行):
一、配置CA服务器并生成根证书(有效期10年)
```shell
mkdir /csk-rootca
cp -p /etc/pki/CA/* /csk-rootca/
vim /etc/pki/tls/openssl.cnf # 修改dir = /csk-rootca
cd /csk-rootca
openssl genrsa -out private/csk-ca.pem 2048
openssl req -new -x509 -days 3650 -key private/csk-ca.pem -out csk-ca.pem \
-subj "/C=CN/ST=Beijing/L=Beijing/O=skills/OU=system/CN=linux.skills.com"
```
二、准备服务器证书请求(CSR)
```shell
# 生成私钥
openssl genrsa -out skills.key 2048
# 创建证书请求(包含SAN扩展)
openssl req -new -key skills.key -out skills.csr \
-subj "/C=CN/ST=Beijing/L=Beijing/O=skills/OU=system/CN=skills.com" \
-reqexts SAN \
-config <(cat /etc/pki/tls/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:*.skills.com,DNS:skills.com"))
```
三、颁发服务器证书(有效期5年)
```shell
echo 01 > serial
touch index.txt
openssl ca -in skills.csr -out skills.crt -days 1825 \
-extensions SAN \
-config <(cat /etc/pki/tls/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:*.skills.com,DNS:skills.com"))
```
四、部署证书到目标服务器
```shell
mkdir -p /etc/ssl/certs /etc/ssl/private
cp skills.crt /etc/ssl/certs/
cp skills.key /etc/ssl/private/
chmod 600 /etc/ssl/private/skills.key
```
五、客户端配置(消除证书警告)
将`csk-ca.pem`导入浏览器受信任的根证书颁发机构[^2]
验证证书有效性:
```shell
openssl x509 -in skills.crt -text -noout # 查看SAN扩展和有效期
```
阅读全文
相关推荐














