数字证书怎么申请?
现在越来越多的网站需要安装ssl证书,不然就会提示不安全的风险,那么现在有没有好点的可靠的CA厂商呢?
好的会比较贵啊,像VeriSign、GlobalSign、GEOTrust
个人网站可以在阿里云,腾讯云等申请免费的证书,有效期一年,快到期了再重新申请更换证书。
进入到腾讯云的“控制台”,选择“SSL证书”- “证书管理”-“申请免费证书”,选择左侧的“免费版DV SSL证书”,点击确定。
填写基本信息,必填项“通用名称”(也就是你的域名)和“申请邮箱”,然后点击“下一步”。
选择“手动DNS验证”,点击“确认申请”,然后点击“查看证书详情”。
根据要求,要给你的域名添加一条解析记录, 打开“我的域名”,选择要解析的域名,点击“解析”。
点击“添加记录”,按照前面的证书操作指引,将指定的 “主机记录”、“记录类型”还有“记录值”添加进去,点击保存。接下来就等待SSL证书审核通过即可,一般会有短信通知。
SSL证书审核通过之后,打开“SSL证书管理”,找到对应的证书,点击“下载”,就会自动下载一个文件,里面有各种服务器类型的SSL证书。解压后的文件夹中有2个文件,一个是 证书文件:文件类型为PEM。另一个是密钥文件:文件类型为KEY。
你的服务器是什么类型的(比如Apache、Nginx等),就下载什么类型去部署就行。
安装SSL证书一般有两种方法,第一是手动命令行安装,对于新手会比较复杂,可以参考腾讯云的这篇文档教程:Nginx 服务器证书安装图文教程,个人觉得这个教程讲解的比较清晰明白。如果想通过手动安装SSL证书的朋友可以看看。
另外,建议新手朋友不要手动安装,以免出错,可以使用宝塔面板一键部署的方式,非常简单,只需要把文件信息复制到对应的设置栏里,点击保存,勾选“强制https”即可。跟上面手动安装的效果是一样的。宝塔面板安装SSL证书的方法如下图所示:流程是“网站”-“设置”-“SSL”-“其他证书”。如果没安装宝塔面板,可以参考这篇教程:宝塔面板一键部署wordpress网站
温馨提示:打开.PEM 和.KEY 文件的时候,建议使用notepad++这个软件打开后复制粘贴,以免出现格式问题。
SSL证书安装成功后,可以在浏览器地址栏打开自己的网站,看看效果,可以发现访问时地址栏已经出现“加锁”的标记。到这里我们就已经完成了SSL证书的安装部署。(不同的浏览器显示方式可能有所不同,比如有的就是显示绿色)
申请数字证书的过程主要包括以下几个步骤:
touch /etc/pki/CA/index.txt
指定第一个颁发证书的序列号:echo 01 > /etc/pki/CA/serial
生成CA私钥:
cd /etc/pki/CA/
生成私钥文件:openssl genrsa -out private/cakey.pem 2048
选择一个可靠的CA厂商进行申请:
关于选择可靠的CA厂商进行申请,以下是一些常见的CA厂商和他们的申请流程:
编码示例:
```markdown
import requests
def apply_symantec_certificate(common_name): # 构建API请求的URL url = "https://api.symantec.com/v1/certificate"
# 构建请求参数
params = {
"common_name": common_name,
"organization_name": "Your Organization Name",
"organization_unit_name": "Your Organization Unit Name",
"country": "Your Country",
"state": "Your State",
"city": "Your City",
# 其他可选参数...
}
# 发送POST请求
response = requests.post(url, data=params, auth=("your_api_username", "your_api_password"))
# 解析返回结果
result = response.json()
# 返回证书申请结果
if response.status_code == 200:
return result["certificate"]
else:
return result["error_message"]
```
Comodo:
编码示例:
```markdown
import requests
def apply_comodo_certificate(common_name): # 构建API请求的URL url = "https://api.comodo.com/v1/certificate"
# 构建请求参数
params = {
"common_name": common_name,
"organization_name": "Your Organization Name",
"organization_unit_name": "Your Organization Unit Name",
"country": "Your Country",
"state": "Your State",
"city": "Your City",
# 其他可选参数...
}
# 发送POST请求
response = requests.post(url, data=params, auth=("your_api_username", "your_api_password"))
# 解析返回结果
result = response.json()
# 返回证书申请结果
if response.status_code == 200:
return result["certificate"]
else:
return result["error_message"]
```
DigiCert:
编码示例:
```markdown
import requests
def apply_digicert_certificate(common_name): # 构建API请求的URL url = "https://api.digicert.com/v1/certificate"
# 构建请求参数
params = {
"common_name": common_name,
"organization_name": "Your Organization Name",
"organization_unit_name": "Your Organization Unit Name",
"country": "Your Country",
"state": "Your State",
"city": "Your City",
# 其他可选参数...
}
# 发送POST请求
response = requests.post(url, data=params, auth=("your_api_username", "your_api_password"))
# 解析返回结果
result = response.json()
# 返回证书申请结果
if response.status_code == 200:
return result["certificate"]
else:
return result["error_message"]
```
GlobalSign:
编码示例:
```markdown
import requests
def apply_globalsign_certificate(common_name): # 构建API请求的URL url = "https://api.globalsign.com/v1/certificate"
# 构建请求参数
params = {
"common_name": common_name,
"organization_name": "Your Organization Name",
"organization_unit_name": "Your Organization Unit Name",
"country": "Your Country",
"state": "Your State",
"city": "Your City",
# 其他可选参数...
}
# 发送POST请求
response = requests.post(url, data=params, auth=("your_api_username", "your_api_password"))
# 解析返回结果
result = response.json()
# 返回证书申请结果
if response.status_code == 200:
return result["certificate"]
else:
return result["error_message"]
```
这些示例只是展示了大致的代码结构和调用方式,实际使用时需要根据具体的API文档进行参数配置和错误处理。
请注意,每个CA厂商的申请流程和API接口可能会有所不同,以上代码示例仅供参考。同时,在使用API调用进行证书申请时,需要提前申请API访问权限并获得相应的API用户名和密码。
希望以上解决方案对您有所帮助。如果你还有其他问题,请随时提问。