打开高级选项
上传申请者公钥(PEM格式):
上传申请者私钥(PEM格式):
CSR 说明
CSR(Certificate Signing Request,证书签名请求)是一种向证书颁发机构申请数字证书时生成的文件,其中包含申请者的公钥和相关身份信息。

CSR 结构

公共名称(CN)
公共名称(CN,即 Common Name)是证书中一个重要的字段,通常用于标识持有证书的实体。

服务器证书(如 SSL/TLS 证书)
公共名称通常是服务器的域名或子域名,如 "www.example.com"。

电子邮件证书
CN 通常填写为电子邮件地址,例如 user@example.com。

代码签名证书
CN 可以填写为开发者或组织的名称,这是开发者签名软件时常用的,例如 XXX Company。

客户端认证证书
CN 可以是用于唯一标识该用户的标识符,例如用户 ID 或用户名。

VPN 或其他加密通信
CN 可以是设备或用户的唯一标识符,例如设备名称或其 IP 地址。

企业内部证书
CN 通常是某个系统或服务的名称,以便内部识别。

高级选项
这些信息在证书中作为主体名称的一种补充,帮助识别和验证证书持有者的身份。

扩展
扩展是数字证书中用于添加额外属性或限制的信息,如使用目的、额外标识等,以增强其功能和安全治理。

Key Usage (KU) --- OID: 2.5.29.15 Key Usage(密钥用法):用于定义公钥在特定应用中的用途,提供对密钥使用的限制,从而确保其在遵循安全策略的情况下发挥正确作用。
(1) digitalSignature:用于数据的数字签名,例如用于身份认证和数据完整性验证。
(2) nonRepudiation:提供用户行为不可否认性,例如签署合同。
(3) keyEncipherment:用于加密密钥数据,比如在 SSL/TLS 握手中传输会话密钥。
(4) dataEncipherment:用于加密数据,确保机密性。
(5) keyAgreement:支持密钥交换协议,如 Diffie-Hellman。
(6) keyCertSign:用于签署其他证书的公钥,仅适用于 CA(证书颁发机构)证书。
(7) cRLSign:用于签署证书注销列表(CRL)。
(8) encipherOnly:只用于加密的密钥交换。
(9) decipherOnly:只用于解密的密钥交换。

Extended Key Usage (EKU) --- OID: 2.5.29.37 Extended Key Usage(扩展密钥用法):定义公钥的扩展用途,如服务器身份验证、客户端身份验证等。
(1) TLS Web Server Authentication:用于服务器身份验证,一般用于 HTTPS 网站服务器证书。
(2) TLS Web Client Authentication:用于客户端身份验证,一般用于 HTTPS 客户端证书。
(3) Code Signing:用于签名软件代码,确保代码的来源和完整性。
(4) Email Protection:用于电子邮件的加密和签名。
(5) Time Stamping:用于生成时间戳,以证明数据在特定时间点存在。
(6) OCSP Signing:用于在线证书状态协议(OCSP)响应的签名。
(7) IPSec End System:用于 IPSec 中的终端系统(客户端)。
(8) IPSec Tunnel:用于 IPSec 隧道设备。
(9) IPSec User:用于 IPSec 用户。
(10)Smartcard Logon:用于智能卡登录。

Subject Alternative Name (SAN) --- OID: 2.5.29.17 Subject Alternative Name(主题备用名称):用于指定证书持有者的其他名称或标识。SAN 允许在同一证书中包含多个域名或 IP 地址,提供更大的灵活性和兼容性。它是现代 SSL/TLS 证书的重要组成部分,广泛用于支持多域名和子域名的安全连接。

Issuer Alternative Name (IAN) --- OID: 2.5.29.18 Issuer Alternative Name(颁发者备用名称):指定证书颁发者的备用名称。与 Subject Alternative Name(SAN)类似,但用于标识颁发机构而不是使用者。

CRL Distribution Points (CDP) --- OID: 2.5.29.31 CRL Distribution Points(证书吊销列表分发点):指定证书吊销列表(CRL)的分发点。
(1) URI:指定 CRL 的通用资源标识符,可以是 HTTP、LDAP、FTP 等协议。例如,URI:http://crl.example.com/crl.pem。
(2) 目录名(Directory Name):用于指向某个目录服务中的 CRL 信息,这通常是在 LDAP 环境下使用。例如,Directory Name:cn=CRL,dc=example,dc=com。
(3) 常规名称(General Name):可以包含多个形式的名称,包括 DNS 名称、URI 等,通常它会以 URI 形式被广泛使用,因为这种方式最易于被大多数应用程序访问。

Authority Information Access (AIA) --- OID: 1.3.6.1.5.5.7.1.1 Authority Information Access(颁发机构信息访问):用于提供有关证书颁发机构(CA)及其服务的信息。AIA 扩展通常用于指定用户如何获取颁发者的证书以及提供在线证书状态协议(OCSP)的应答者地址。
(1) CA Issuers:指定获知颁发机构的证书位置,让用户可以下载证书链。如果用户需要更高一级的证书(例如中级 CA 或根 CA),通常通过在此处提供 URL 链接。格式一般为 URI:http://example.com/ca-cert.pem。
(2) OCSP:提供在线证书状态协议(OCSP)应答者的 URL,用于实时检查证书的状态。格式为 URI:http://ocsp.example.com。

Basic Constraints (BC) --- OID: 2.5.29.19 Authority Information Access(颁发机构信息访问):用于指示该证书是否可以用作证书颁发机构(CA)证书。它限制证书在信任链中的角色和使用情况。
(1) CA:指定证书是否为 CA 证书。这个字段是一个布尔值:
    1)TRUE:表示此证书是一个 CA 证书,可以用于签发子证书。
    2)FALSE:表示此证书是一个终端用户证书,不能用于签发其他证书。
(2) 路径长度限制(Path Length Constraint):指定从该 CA 证书开始,在信任链中可以出现的下一级 CA 证书的最大数量。这个值只在 CA 为 TRUE 时有意义。
    1)数字值:限制可以有多少级子 CA。比如,设置为 0 表示这个 CA 只能直接颁发终端用户证书,而不能有子 CA。
    2)不设置:如果不设置路径长度限制,则没有级数限制。

Certificate Policies (CP) --- OID: 2.5.29.32 Certificate Policies(证书策略):用来描述证书在特定应用中遵循的策略或规则。这个扩展对于组织来说很重要,因为它规定了证书的使用条件、责任、以及依赖双方的义务等,以明确定义证书的信任级别和使用范围。
(1) 策略对象标识符 (OID):每个证书策略都由一个唯一的对象标识符(OID)标识。例如,一个银行可能有一个特定的 OID 来标识只在金融交易中使用的证书策略。
(2) 路径长度限制(Path Length Constraint):除了 OID,有时还提供附加信息,例如:
    1)CPS (Certification Practice Statement) URI:链接到详细描述认证实践声明的 URI,说明 CA 颁发和管理证书的方法和惯例。     2)用户通知(User Notice):向证书的用户提供的一些文本信息或声明。

Policy Mappings (PM) --- OID: 2.5.29.33 Policy Mappings(策略映射);用于在不同的证书策略之间建立映射关系。它通常用于跨域信任的场景中,允许一个域的证书策略与另一个域的证书策略相对应。
(1) 颁发者策略(Issuer Domain Policy):这是颁发者域中的策略 OID,表示该域内的某个特定策略。
(2) 主题策略(Subject Domain Policy):这是主题域中的策略 OID,表示该域内的某个特定策略。

Name Constraints (NC) --- OID: 2.5.29.30 Name Constraints(名称约束):用于限制证书中可以使用的名称范围。它通常用于约束下级证书主体的名称,尤其是在中间 CA 证书中,以限制其签发的证书的主体名称范围,确保不会越权签发不应有的域名或地址范围的证书。
(1) Permitted Subtrees:指定允许的名称范围,只有在这些范围内的名称才是合法的。这可以包括:
    1)DNS 名称:允许的域,例如 example.com 表示只允许 example.com 或其子域。
    2)IP 地址范围:例如,192.168.0.0/16 表示允许的 IP 范围。
    3)电子邮件地址:允许的电子邮件域,例如 @example.com 表示只允许 example.com 的邮件地址。
    4)URI:允许的统一资源标识符范围。
(2) Excluded Subtrees:指定不允许的名称范围,即使它们在 Permitted Subtrees 中,也会被排除。这有助于进一步限制特定的名称:
    排除的 DNS 名称、IP 地址、电子邮件地址、URI 等。

Policy Constraints (PC) --- OID: 2.5.29.36 Policy Constraints(策略约束):用于指定有关证书策略的约束条件。它在证书链验证过程中,尤其是在处理不同组织或域之间的证书策略映射时,起到重要作用。通过设置策略约束,可以强制策略的应用,从而提高信任链的安全性和一致性。
(1) 上层策略映射禁止(RequireExplicitPolicy):设定在证书链中必须显式指定策略的深度。通过在某个特定的深度,强制链中的所有证书必须显式定义一个策略。
(2) 策略跳过禁止(InhibitPolicyMapping):指定在链中,达到这个深度时,要禁止策略映射的地点。这样的设定,用于阻止一些策略从CA策略互相映射,从而确保策略的一致性。

Authority Key Identifier (AKI) --- OID: 2.5.29.35 Authority Key Identifier(颁发者密钥标识符):用于标识签发该证书的颁发者的公钥。这一扩展帮助验证证书链的完整性和可靠性,确保每个证书都能准确关联到其颁发者的密钥。
(1) 密钥标识符(Key Identifier):这是颁发者公钥的标识符,通常通过对公钥进行哈希计算得出。这个标识符与证书链中下一个证书的 Subject Key Identifier (SKI) 对应,以验证密钥的连续性。
(2) 颁发者名称和颁发者序列号(Issuer Name and Serial Number):颁发者的独特名称和证书序列号的组合。这两个元素一起可以唯一识别 CA 证书。

Subject Key Identifier (SKI) --- OID: 2.5.29.14 Subject Key Identifier(主题密钥标识符):用于唯一标识证书中包含的公钥。SKI 在证书链中与其他证书的 Authority Key Identifier (AKI) 相对应,用于确保在证书信任链中应用正确的公钥。
(1) 唯一识别:SKI 是通过对证书的公钥进行哈希计算或其他算法处理生成的,有助于唯一地识别证书的公钥。
(2) 与 AKI 关联:证书链中的一个证书的 SKI 通常会与下一个证书的 AKI 匹配,用于建立清晰的信任关系和保证证书链的完整性。

Subject Directory Attributes (SDA) --- OID: 2.5.29.9 Subject Directory Attributes(主题目录属性):用于包含与证书主体相关的额外信息。这些信息可以用于提供关于证书持有者的更多上下文,通常在特定的目录服务或应用场景中使用。
(1) 用户角色:描述证书持有者在组织或应用中的角色和职责。
(2) 机构或单位信息:提供关于持有者所属机构或单位的详细信息,可能包括部门、位置等。
(3) 安全级别或权限:指定持有者的安全级别或在系统中享有的权限级别。

Inhibit Any-Policy (IAP) --- OID: 2.5.29.54 Inhibit Any-Policy(禁止任意策略):用于包含与证书主体相关的额外信息。这些信息可以用于提供关于证书持有者的更多上下文,通常在特定的目录服务或应用场景中使用。
(1) 限制策略的灵活性:通过禁止 anyPolicy,IAP 强制实施更为精确的策略匹配,提高证书链的安全性和确定性。
(2) 增强验证:在复杂的信任模型中使用 IAP,可以防止过于宽松的策略替代,从而确保只有明确定义的策略得到承认。
(3) 链验证深度:通过设置一个在链中的深度值,IAP 指定在多大的链长度下应该禁用 anyPolicy。

Certificate Transparency (CT) --- OID: 1.3.6.1.4.1.11129.2.4.2 Certificate Transparency(证书透明度):是一项互联网安全标准,旨在提高对颁发的 SSL/TLS 证书的监控和验证。CT 主要通过维护一个公开可查的证书日志系统,帮助识别和防止错误颁发或恶意颁发的证书。
(1) 公共审计日志:CT 记录所有颁发的 SSL/TLS 证书在公共日志中,这些日志可以被任何人查询和审计。
(2) 检测不当发行:通过让域名所有者和公众能够审核颁发给某个域名的所有证书,CT 有助于检测并迅速反应对任何不当或未经授权的证书发行。
(3) 增强信任根:浏览器和用户可以依赖 CT 日志来核实证书的合法性,提升整体互联网通信的信任性和安全性。

自定义扩展: 添加自定义的 OID 与 OID 值

签名算法
证书的签名算法是用于生成证书数字签名的加密算法,确保证书的完整性和真实性。通常通过 RSA-with-SHA256 或者 ecdsa-with-SHA256 进行签名。

+