XiPKI开源 PKI 实现

联合创作 · 2023-09-30 08:45

XiPKI (eXtensible sImple Public Key Infrastructure) 是一个高度可伸缩和高性能的开源 PKI 实现(CA and OCSP responder).

要求:

  • OS:Linux、Windows、MacOS
  • JRE/JDK 8 (build 162+),9、10、11、12、13
  • 数据库:DB2、MariaDB、MySQL、Oracle、PostgreSQL、H2、HSQLDB

特性:

  • CA (Certification Authority)

    • X.509 Certificate v3 (RFC 5280)
    • X.509 CRL v2 (RFC 5280)
    • EdDSA Certificates (RFC 8410, RFC 8032)
    • Diffie-Hellman Proof-of-Possession Algorithms (RFC 6955)
    • SCEP (draft-gutmann-scep-00, draft-nourse-scep-23)
    • EN 319 411 (eIDAS)
    • EN 319 412 (eIDAS)
    • 支持的数据库:DB2, MariaDB, MySQL, Oracle, PostgreSQL, H2, HSQLDB
    • Direct 和 indirect CRL
    • FullCRL 和 DeltaCRL
    • 定制扩展以在CRL中嵌入证书
    • CMP (RFC 4210 和 RFC 4211)
    • 用于指定自定义证书配置文件的API
    • 支持基于JSON的证书配置文件
    • 用于指定自定义发布者的API,例如LDAP和OCSP响应者
    • OCSP响应者的发布者支持
    • 证书的公钥类型
      • RSA
      • EC
      • DSA
      • Ed25519, Ed448
      • X25519, X448
      • SM2
    • 证书的签名算法
      • Ed25519, Ed448
      • SM3withSM2
      • SHA3-*withRSA: where * is 224, 256, 384 and 512
      • SHA3-*withRSAandMGF1: where * is 224, 256, 384 and 512
      • SHA3-*withECDSA: where * is 224, 256, 384 and 512
      • SHA3-*withDSA: where * is 224, 256, 384 and 512
      • SHA*withRSA: where * is 1, 224, 256, 384 and 512
      • SHA*withRSAandMGF1: where * is 1, 224, 256, 384 and 512
      • SHA*withECDSA: where * is 1, 224, 256, 384 and 512
      • SHA*withPlainECDSA: where * is 1, 224, 256, 384 and 512
      • SHA*withDSA: where * is 1, 224, 256, 384 and 512
  • X.509扩展的本机支持(通过将其配置为blob,可以支持其他扩展)

    • AdditionalInformation (German national standard CommonPKI)
    • Admission (German national standard CommonPKI)
    • AuthorityInformationAccess (RFC 5280)
    • AuthorityKeyIdentifier (RFC 5280)
    • BasicConstraints (RFC 5280)
    • BiometricInfo (RFC 3739)
    • CertificatePolicies (RFC 5280)
    • CRLDistributionPoints (RFC 5280)
    • CT Precertificate SCTs (RFC 6962)
    • ExtendedKeyUsage (RFC 5280)
    • FreshestCRL (RFC 5280)
    • InhibitAnyPolicy (RFC 5280)
    • IssuerAltName (RFC 5280)
    • KeyUsage (RFC 5280)
    • NameConstraints (RFC 5280)
    • OcspNoCheck (RFC 6960)
    • PolicyConstrains (RFC 5280)
    • PolicyMappings (RFC 5280)
    • PrivateKeyUsagePeriod (RFC 5280)
    • QCStatements (RFC 3739, eIDAS standard EN 319 412)
    • Restriction (German national standard CommonPKI)
    • SMIMECapabilities (RFC 4262)
    • SubjectAltName (RFC 5280)
    • SubjectDirectoryAttributes (RFC 3739)
    • SubjectInfoAccess (RFC 5280)
    • SubjectKeyIdentifier (RFC 5280)
    • TLSFeature (RFC 7633)
    • ValidityModel (German national standard CommonPKI)
    • GM/T 0015 IdentityCode (个人身份标识码, Chinese Standard GM/T 0015-2012)
    • GM/T 0015 InsuranceNumber (个人社会保险号, Chinese Standard GM/T 0015-2012)
    • GM/T 0015 ICRegistrationNumber (企业工商注册号, Chinese Standard GM/T 0015-2012)
    • GM/T 0015 OrganizationCode (企业组织机构代码, Chinese Standard GM/T 0015-2012)
    • GM/T 0015 TaxationNumber (企业税号, Chinese Standard GM/T 0015-2012)
  • 在一个软件实例中管理多个CA

  • 支持数据库集群

  • 同一CA的多个软件实例(都可以处于活动模式)

  • 通过嵌入式OSGi命令对CA管理的本地支持

  • 用于指定CA管理的API,例如GUI

  • 数据库工具(导出和导入CA数据库)简化了数据库的切换,XiPKi的升级以及从其他CA系统到XiPKI CA的切换。

  • 客户端注册,撤销,撤销和​​删除证书,以生成和下载CRL

  • 除了数据库的配置外,CA的所有配置都保存在数据库中

  • OCSP Responder

    • OCSP Responder (RFC 2560 and RFC 6960)
    • 支持Common PKI 2.0
    • 管理多个证书状态源
    • 支持基于XiPKI CA数据库的证书状态源
    • 支持XiPKI CA发布的基于OCSP数据库的证书状态源
    • 支持证书状态源CRL和DeltaCRL
    • 支持EJBCA发布的证书状态源
    • 支持专有证书来源的API
    • 支持未签名和已签名的OCSP请求
    • 同一OCSP签名者和证书状态源的多个软件实例(都可以处于活动模式)。
    • 支持的数据库:DB2,MariaDB,MySQL,Oracle,PostgreSQL,H2,HSQLDB
    • 数据库工具(导出和导入OCSP数据库)简化了数据库的切换,XiPKi的升级以及从其他OCSP系统到XiPKI OCSP的切换。
    • 客户端发送OCSP请求
  • SCEP

    • 支持的SCEP版本
      • draft-gutmann-scep-00
      • draft-nourse-scep-23
  • 工具包(适用于PKCS#12和PKCS#11令牌)

    • 生成令牌中的RSA,EC和DSA密钥对
    • 从令牌中删除密钥对和证书
    • 更新令牌中的证书
    • 生成CSR(PKCS#10请求)
    • 从令牌导出证书
  • 对于CA和OCSP响应者

    • 支持PKCS#12和JCEKS密钥库
    • 支持PKCS#11设备,例如HSM
    • 使用自定义密钥类型的API,例如智能卡
    • 高性能
    • 支持健康检查
  • 对于CA,OCSP响应程序和工具包

    • 解析密码的API
    • 支持PBE(基于密码的加密)密码解析器
      • 所有密码均可通过主密码进行加密
    • 支持OBF(如码头)密码解析器
浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报