如何使用 XCA 创建 CA + 2 个证书 - 用于主机到主机 IPSec 身份验证(无 AD)

如何使用 XCA 创建 CA + 2 个证书 - 用于主机到主机 IPSec 身份验证(无 AD)

(这是一个关于使用XCAopenssl而不是 和 的问题是我的动力)

我创建了 CA、服务器和客户端证书:

  • 在 XCA 中,我是否需要以不同的方式创建这些证书?
  • 每个证书是否都有确切的密钥用途和扩展密钥用途必需列表(例如,所有必需品,没有多余的)
    • 客户端证书具有密钥用法Certificate Sign,但看起来不太好。


执行的步骤:

  1. 我安装了西卡来自 Microsoft Store:
  2. 我读过使用 XCA 创建证书来自 Fortinet 并创建:
    屏幕截图1

    1. 加州: RDP_CA

    2. IPSec 服务器: WS_RDP
      我想通过 RDP 访问的工作站
      截图2

    3. IPSec 客户端: PAW_RDP
      唯一不应拒绝的特权客户
      截图2

答案1

我找到了方法:

  1. 从 Windows 应用商店安装 XCA:
    (截至 2023 年 11 月 24 日,v2.5.0 使用 2023 年 8 月起的 OpenSSL v3.1.2.1)
    屏幕截图1

  2. 为 XCA 数据库准备一个干净的 USB 棒运行XCA

  3. 在 USB 上创建一个新的数据库:Home.xcd
    数据库有密码保护,因此需要选择一个以供将来使用
    截图2

  4. 标签:模板
    XCA 有四个默认模板,适用于任意、非特定的用例

    1. [default] Empty template
    2. [default] CA
    3. [default] TLS_Client
    4. [default] TLS_Server

  5. 新模板&更改模板编辑 XCA 模板对话
    对于 IPSec 证书,我生成了三个新模板

    1. IPSec_CA_Template (从 4.2 继承)
    2. IPSec_Client_Template (从 4.3 继承)
    3. IPSec_Server_Template (从 4.4 继承)
      截图3

  6. 标签:密钥用法
    选择密钥用法 (KU)、扩展 KU (EKU) 和关键(可选)
    在此处输入图片描述

    1. 加州:

      keyUsage=critical,digitalSignature, keyCertSign, cRLSign
      
    2. 客户:

      keyUsage=critical,digitalSignature, keyEncipherment
      extendedKeyUsage=critical,clientAuth
      
    3. 服务器:

      keyUsage=critical,digitalSignature, keyEncipherment, keyAgreement
      extendedKeyUsage=critical,serverAuth
      

  7. 标签:主题
    截图5

  8. 标签:网景
    取消全部选择并删除评论



一旦定制模板准备就绪 - 这是任何新证书的起点


创建新证书
我坚持使用 XCA 创建证书Fortinet 证书创建手册,但使用第 5 节中的自定义模板。由于自定义模板包含所有数据,包括SubjectExtensions,因此需要单击Apply All而不是Apply Extensions手册中写的。服务器证书示例:

在此处输入图片描述


[适用于客户端/服务器证书。不适用于 CA]
(标签 后的第二项Source)模板中唯一没有的是X509v3 Subject Alternative Name。它应该与颁发证书的实体的 和 一起输入。hostname由于它是启用 DHCP 的环境,因此不假定固定 IP,而是使用语法。请参阅domain
hostname.domain附录有关配置本地域的信息。

在此处输入图片描述




生成的 V3 配置文件:
以下是 X509v3 扩展(与此相比参考

  • 加州: (参考文献还有authorityKeyIdentifier:)

    basicConstraints=critical,CA:TRUE
    keyUsage=critical,digitalSignature, keyCertSign, cRLSign
    subjectKeyIdentifier=hash
    
  • 客户: (参考文献还有:authorityKeyIdentifiernonrepudiation(KU))

    subjectAltName=critical,DNS:DESKTOP-KGXWQ2R.home
    extendedKeyUsage=critical,clientAuth
    keyUsage=critical,digitalSignature, keyEncipherment
    subjectKeyIdentifier=hash
    basicConstraints=critical,CA:FALSE
    
  • 服务器: (参考文献还有:authorityKeyIdentifiernonRepudiation(KU))

    subjectAltName=critical,DNS:DESKTOP-24JFXST.home
    extendedKeyUsage=critical,serverAuth
    keyUsage=critical,digitalSignature, keyEncipherment, keyAgreement
    subjectKeyIdentifier=hash
    basicConstraints=critical,CA:FALSE
    
  • 根据以下评论,authorityKeyIdentifier “通常不是强制性的”nonRepudiation “不用于任何网络协议”



附录:本地域

对于本地域,home我必须配置我的路由器(仅接受该字段a-z-字符):

在此处输入图片描述


要验证计算机是否在home本地域内,请打开cmd.exe并输入:

ipconfig /all

如预期的: 在此处输入图片描述

相关内容