XCA简易入门教程
本文最后更新于 862 天前,其中的信息可能已经有所发展或是发生改变。

引入:HTTPS、域名、证书

现在的大部分网站都会开启HTTPS (HTTP over TLS) ,当网站开启HTTPS后,浏览器地址栏会显示一把锁代表通讯经过加密,若查看证书路径则会出现如下信息(此处以Google主页为例):

通常情况下,最上面的是根证书 (root certificate) ,第二级到域名证书的前一级统称为中间证书/中级证书

HTTPS保护了通信的隐私和安全,但现在所有的证书签发都需要联网申请,且需要验证TXT记录,如果我们想在本地测试时使用HTTPS,或在业务系统中使用IP证书(通常情况下IP证书价格较为昂贵),自签名证书或许是个不错的选择,但每次使用都重新签发证书未免过于麻烦,所以,我们需要自签名一个根证书(最好还有中间证书)用来签发服务器证书,并将该证书安装在设备上,使得浏览器信任。

准备环境

XCA (X - Certificate and Key management)

本次我们将使用XCA进行密钥的统一管理,关于该软件的优势和特点可以在其官网查看:https://hohnstaedt.de/xca/

  • 在此处下载最新编译版本:https://hohnstaedt.de/xca/index.php/download
  • 安装完成后,点击“文件”→“新建数据库”,并为其设置一个您能记得住且有一定安全性的密码
    请把xdb数据库放在足够安全且容易访问的地方,每次重新打开XCA均需要重新载入

签发根证书

创建证书签名请求

  • 以上操作完成后,进入“证书签名请求”选项卡,点击“创建请求”
  • 在“unstructuredName”中填入你的根证书的名称(请谨慎命名,以后你的根证书会一直是这个名字)
  • 在“challengePassword”中填入密码(可以不同于数据库密码)
  • 模板选择“CA”,点击“应用模板所有信息”
  • 切换到“主体”选项卡
  • 按自己的喜好填入一下几个栏目(请谨慎填写,以后你的根证书主题信息会一直如此)
  • 点击下方的“生成密钥”

此处类型建议为以下三者之一(ECC由于密钥长度明显短于另外两者,理论上处理速度会更快)

- RSA 2048

- RSA 4096

- ECC P.256

  • “扩展”、“密钥用法”选项卡不建议更改
  • 确认“Netscape扩展”选项卡所显示的内容与下图相同(下面的几个链接可自定义)
  • 确定,此时XCA界面应该出现了一个未签发状态的签发请求

签发根证书

  • 右键该选项,签发
  • 此处选择“CA”+“应用模板所有信息”
  • 可以到扩展页面定义根证书有效期(更改后一定要点“应用”)
  • 确认
  • 切换到“证书”选项卡,应显示如下信息

签发中间证书

  • 右键“证书”列表中的根证书 - 创建
  • 按下图操作,切记:不要选择“签发证书签名请求”!!!
  • 填入以下字段,生成私钥
  • 后面所有选项卡设置保持与根证书相同
  • 签发

签发域名/IP证书

  • 在中间证书上右键 - “创建”
  • 打字打累了,看图吧
IP证书就在这里选“IP”
  • 签发

在服务器上安装证书

  • 导出服务器证书公钥
  • 切换到“私钥”选项卡,导出所对应的私钥

然后按照安装一般证书的方式安装即可。

在电脑上安装证书

只需要导出及安装根证书和中间证书

手机上安装方法请自行Google,apple我习惯通过邮件发送证书,安卓貌似只能插入U盘/下载后在用户凭据中导入

导出证书

安装证书

  • 右键根证书,打开方式选择“加密外壳扩展”
  • 安装
  • 导入为“受信任的根证书颁发机构”
  • 同样的方式打开中间证书,安装为“中间证书颁发机构”
  • 接下来你就可以在浏览器打开你的网站了,此时证书是可信的

评论

  1. ROYWANG
    Windows Chrome 89.0.4389.114
    3年前
    2021-4-07 23:13:00

    大佬牛逼!!!!!!

  2. Zikin
    博主
    Windows Chrome 89.0.4389.114
    3年前
    2021-4-08 17:41:28

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇