我正在使用ADFS 2.0进行OIOSAML。我需要对IdP响应进行签名和加密。以下是我对SAML请求和响应的签名和加密如何工作的理解:
- SP使用其自己的证书密钥(密钥1)对请求进行签名
- IdP使用SP的公钥(密钥1)验证请求
- IdP使用自己的证书密钥(密钥2)对响应进行签名
- IdP使用SP提供的证书密钥(密钥3)对响应声明进行加密
- SP使用IdP的公钥(密钥2)验证响应
- SP使用其自己的私钥(密钥3)解密响应断言
如果我保持键1和键3相同,则一切正常。因为我在OIOSAML中的密钥库只有一个密钥。
但是现在我想使用单独的密钥进行请求签名和响应加密。在这里失败。
- OIOSAML是否支持密钥库中的多个密钥?
- 如果是,那么如何区分签名密钥和加密密钥?