SAML SSO 密钥库证书的重要性

Gur*_*uru 3 saml x509certificate single-sign-on spring-boot spring-saml

我是证书和密钥库的新手。

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

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

Kis*_*hav 5

KeyStore 和 SAML SSO 证书(在 Spring boot SAML SSO 的上下文中)的重要性和工作原理是什么?

\n\n
    \n
  • 这些用于签署 SAML 断言、\nSAML 协议请求和响应的安全影响。
  • \n
  • SAML SSO 中的证书将用于对 SAML\nassertion/请求/响应进行数字签名,KeyStore 是用于存储密钥/证书的持久存储。
  • \n
  • 由断言方签名的断言支持断言完整性、断言方对 SAML 依赖方的身份验证,并且如果签名基于 SAML 授权机构\xe2\x80\x99s\n公私密钥对,则非否认原产地。

  • \n
  • 由消息发起者签名的 SAML 协议请求或响应消息支持消息完整性、消息发起者对目的地的身份验证,并且如果签名基于消息发起者的公私密钥对,则支持来源的不可否认性。

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

.jks、\xc2\xa0.pem、\xc2\xa0.cer、\xc2\xa0.der 等是什么?

\n\n
    \n
  • .jks 是 JAVA 专有的 KeyStore (JKS) 格式的扩展。JKS 是私钥和关联的\n证书或证书链的数据库格式。在 JAVA 8 之前,默认情况下,按照 java.security 文件中的指定,\xc2\xa0keytool\xc2\xa0 使用 JKS 作为密钥和证书数据库(KeyStore 和 TrustStores)的\n格式。\n从 JAVA 9 开始,使用默认的 KeyStore 格式已更改为\nPKCS12(扩展名.pkcs)。
  • \n
\n\n
\n

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

\n
\n\n
    \n
  • .PEM\xc2\xa0:PEM 扩展用于不同类型的 X.509v3 文件\n其中包含前缀为 \xe2\x80\x9c\xe2\x80\x94\xe2\x80\x93 的 ASCII (Base64) 装甲数据BEGIN\n\xe2\x80\xa6\xe2\x80\x9d 行。
  • \n
  • .DER\xc2\xa0:DER 扩展名用于二进制 DER 编码证书。\n这些文件也可能带有 CER 或 CRT 扩展名。\xc2\xa0\xc2\xa0 正确的\n英语用法为 \xe2\x80\ x9c我有 DER 编码证书\xe2\x80\x9d,而不是 \xe2\x80\x9c我有\na DER 证书\xe2\x80\x9d。
  • \n
  • .CRT\xc2\xa0:CRT 扩展名用于证书。证书\n可以编码为二进制 DER 或 ASCII PEM。CER 和 CRT\n扩展几乎是同义词。\xc2\xa0 在 *nix 系统中最常见。
  • \n
  • CER\xc2\xa0:.crt 的替代形式(Microsoft 约定)您可以使用 MS\n将 .crt 转换为 .cer(DER 编码的 .cer 或 base64[PEM] 编码的\n.cer)\xc2\xa0 \xc2\xa0.cer\xc2\xa0 文件扩展名也被 IE 识别为运行 MS cryptoAPI 命令(特别是 rundll32.exe\ncryptext.dll、CryptExtOpenCER)的命令,该命令显示用于导入\n和/或查看的对话框证书内容。
  • \n
  • .KEY\xc2\xa0:KEY 扩展名用于公共和私有 PKCS#8\n密钥。密钥可以编码为二进制 DER 或 ASCII PEM。
  • \n
\n