概述
Casdoor中的证书保存着用于签名和验证令牌(例如JWT)以及保障集成安全(SAML、支付提供商)的加密密钥。
证书属性
每个证书都具有:
- 所有者: 拥有证书的组织
- 名称: 证书的唯一名称
- 创建时间: 证书的创建时间
- 显示名称: 证书的可读名称
- 范围:证书的适用范围(例如,
JWT、SAML、支付) - 类型:证书的类型(例如,
x509、支付) - 加密算法:所使用的加密算法(例如,RSA 使用
RS256,ECDSA 使用ES256) - 位大小: 密钥的位数(例如:2048、4096)
- 有效期/年: 证书的有效期,单位为年
- 证书: 公共证书内容
- 私钥: 私钥内容(已安全存储)
SSL证书字段
类型为 SSL 的证书具有用于基于 ACME 的自动续订的附加字段:
| 字段 | 描述 |
|---|---|
| 到期时间 | 当前证书的到期时间戳(只读,自动填充) |
| 域名到期时间 | 域名注册的到期时间戳(只读,来自WHOIS查询) |
| 提供商 | 用于DNS-01 ACME挑战的DNS提供商:Aliyun或GoDaddy |
| 账户 | ACME账户邮箱地址 |
| AccessKey | DNS 提供商 API 密钥/访问密钥 ID |
| AccessSecret* | DNS 提供商 API 密钥 |
当您点击SSL证书上的续订时,Casdoor会联系ACME服务,通过已配置的DNS提供商完成DNS-01验证挑战,并自动存储颁发的证书和私钥。
证书适用范围
证书的使用方式因其适用范围而异:
JWT证书
JWT证书用于签名和验证JSON Web令牌。 当用户登录时,访问令牌会使用JWT证书的私钥进行签名。
Casdoor支持用于JWT令牌的RSA和ECDSA签名算法。 虽然RSA(RS256、RS384、RS512)一直是传统之选,但ECDSA算法(ES256、ES384、ES512)在同等安全级别下可提供更小的签名尺寸和更快的签名验证速度。 这有助于减小移动端的令牌大小,或在高吞吐量场景中提升性能。
对于JWT证书,请根据安全性和兼容性选择RSA或ECDSA。 配置Casdoor SDK时,请使用证书编辑页面上的公钥(复制或下载)。


创建JWT证书后,在您的应用设置中选择它:

SAML证书
SAML证书在单点登录集成中对SAML断言进行签名和加密。
用例:
- 基于SAML的SSO集成
- 签署SAML响应
- 为安全起见对SAML断言进行加密
对于SAML,为身份提供商(IdP)和服务提供商(SP)创建证书,以确保通信安全。
有关 SAML 配置的更多信息,请参阅【SAML 文档】(/docs/how-to-connect/saml/overview).
支付证书
支付证书可确保与支付提供商(例如支付宝、微信支付)的通信安全。
用例:
- 使用支付网关保护API通信
- 签署支付请求
- 验证支付回调
例如,为支付宝创建证书:
- 应用证书:包含应用程序的公钥证书和私钥
- 根证书:包含支付提供商的证书
