signingKey 和 encryptionKey 设置的目的是什么

What is the purpose of signingKey and encryptionKey settings

这个问题与this one有关,但我决定分开。
我的 grails spring saml 配置中有 signingKeyencryptionKey 设置。他们的目的是什么?我看了spring-security-saml doc and grails saml plugin doc,还是有点不明白。谁能解释一下它们的实际用法?

您可以将它们视为:

signingKey = 出站请求

encryptionKey = 入站数据:

即您将用于签署出站请求(例如 AuthnRequest)的密钥与您的集成合作伙伴将用于加密发送给您的断言的密钥。

SAML metadata standard 中,它们可以是相同的值,或者您可以为每个指定不同的键:

2.4.1.1 The element provides information about the cryptographic key(s) that an entity uses to sign data or receive encrypted keys

use [Optional] Optional attribute specifying the purpose of the key being described. Values are drawn from the KeyTypes enumeration, and consist of the values encryption and signing