SAML SSO中密钥库证书的重要性

3

我对证书和密钥库不太了解。

密钥库和证书在SAML SSO中的重要性和工作原理是什么(就Spring Boot SAML SSO的上下文而言)?

我看到使用了.jks.pem.cer.der等。这些是什么?

1个回答

5

KeyStore和证书在Spring Boot SAML SSO中的重要性和工作原理是什么?

  • 这些用于签署SAML断言、SAML协议请求和响应的安全影响。
  • SAML SSO中的证书将用于对SAML断言/请求/响应进行数字签名,而KeyStore是持久存储密钥/证书的地方。
  • 由声明方签署的断言支持断言完整性,将声明方身份验证给SAML依赖方,并且如果签名基于SAML授权机构的公钥-私钥对,则支持源不可否认性。

  • 由消息发起者签署的SAML协议请求或响应消息支持消息完整性,将消息源身份验证给目标,如果签名基于发起者的公钥-私钥对,则支持源不可否认性。

  • 证书也用于建立安全通道(SSL/TLS)。

.jks, .pem, .cer, .der等是什么?

  • .jks是JAVA专有的KeyStore(JKS)格式的扩展名。JKS是私钥和相关证书或证书链的数据库格式。在JAVA 8之前,默认情况下,如java.security文件中所指定的那样,keytool使用JKS作为密钥和证书数据库(KeyStore和TrustStores)的格式。自JAVA 9起,默认KeyStore格式已更改为PKCS12(扩展名.pkcs)。

.pem、.cer、.der是证书/密钥类型/扩展名:

  • .PEM: PEM扩展名用于包含以“-----BEGIN…”行为前缀的ASCII(Base64)装甲数据的不同类型的X.509v3文件。
  • .DER: DER扩展名用于二进制DER编码证书。这些文件也可能具有CER或CRT扩展名。适当的英语用法应该是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
  • .CRT: CRT扩展名用于证书。证书可以编码为二进制DER或ASCII PEM格式。CER和CRT扩展名几乎是同义词。在*nix系统中最常见。
  • CER:.crt的备用形式(Microsoft约定)。您可以使用MS将.crt转换为.cer(.cer均为DER编码,或base64[PEM]编码)。IE还将.cer文件扩展名识别为运行MS cryptoAPI命令(具体来说是rundll32.exe cryptext.dll,CryptExtOpenCER),从而显示导入和/或查看证书内容的对话框。
  • .KEY:KEY扩展名用于公共和私有PKCS#8密钥。密钥可以编码为二进制DER或ASCII PEM格式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接