我们正在使用SAML在单点登录中进行加密/解密。为此,我们生成了自签名的公私钥对。
SP拥有公私钥对,并与IDP共享公钥,以便IDP可以加密SAML断言。
过程如下:
这部分成功完成。
现在,如果IDP修改了公共密钥(甚至是来自公共密钥文件(.txt格式)中的单个字符)并发送带有已修改的公共密钥的加密的断言,那么当SP接收到SAML响应并尝试使用私钥,然后它成功解密,我认为它不应解密SAML断言。因为公钥和私钥是成对计算的。一个公共密钥只能具有其对应的一个私有密钥。由于SAML声明是使用错误的公钥加密的,因此在这种情况下,私钥不应发生解密,而应抛出一些错误。
如果相应的公钥已被修改并且数据已被修改的公钥加密,那么如何仍然可以使用私钥进行解密?
我们正在使用 rsa-1_5 算法进行加密。另外,我们还使用OneLogin Java API来解密SAML断言。
如果我们错过了一些东西,请指导我们正确的方向。
谢谢。
答案 0 :(得分:0)
这不是我在实际应用中使用的实际公钥。公用文件的格式为.txt。以下是公钥文件的内容:
----- BEGIN证书----- MIIDUzCCAjugAwIBAgIEe6kzLTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwIwMTELMAkGA1UE CBMCVVAxDjAMBgNVBAcTBU5vaWRhMQ8wDQYDVQQKEwZKa3RlY2gxDDAKBgNVBAsTA0pLVDEPMA0G Z1UEAxMGU2hpbHBpMB4XDTE4MDExNzA2NTkzNloXDTE5MDExMjA2NTkzNlowWjELMAkGA1UEBhMC MDExCzAJBgNVBAgTAlVQMQ4wDAYDVQQHEwVOb2lkYTEPMA0GA1UEChMGSmt0ZWNoMQwwCgYDVQQL EwNKS1QxDzANBgNVBAMTBlNoaWxwaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ + v 78WG75zn2SdZ / pZX / efwztIjf7kv3rxfVhdWYMs7wtZMfuap2NfFlHmimcFsXAwnDpDXe7qgxx6K 8zzvwsjh8utp ++ R8DFDypaO + dfxjuaUcth6tTqArNO8inu / AMqrWIo8wi00F850BK787wNF6dGDI JEOG91hLI3JDwXE1d1x / d4ltl7IZAj6bCxsRkBswLOxuebebVooCh8lMkZANGi7ATh6ILBevLs3c gTqDVwulTYb45sOBFmZAQ0Gdx9GjDX054TZh7gI7Y1vqWIAsqPn4Kr3bpOf0YbJfN9pm7NzU / 8hz
-----结束证书-----