当前位置: 首页 > 知识库问答 >
问题:

如果我有两个基于同一私钥的不同证书,我的令牌仍然可以验证吗?

漆雕和雅
2023-03-14

对于my Identity Server 4,我们设置了两个不同的服务器来承载应用程序。我要求我们的运营团队在两台服务器上安装相同的证书。但是,它们都收到了不同的指纹,并且在以下字段中,证书中的值是不同的:kid、x5t、n,当我加载时,x5c链中的值在两者之间也是不同的。众所周知的/openid配置/jwks地址。我已经把钥匙贴在下面了。这样行吗?我以为x5c的值是一样的。0值,如果它们基于相同的私钥。

第一个关键:

keys    
0   
kty "RSA"
use "sig"
kid "8366EB61F60720FE0FCC5C0E6BF3E5F8ACC98E2DRS256"
x5t "g2brYfYHIP4PzFwOa_Pl-KzJji0"
e   "AQAB"
n   "6sYPa_JNapDqcw3KgvlmtbrrCuYCd1sq3R_3Ao1aAW7bHjdN1isphP8eWsCA5WeTDmDSfE1GsN2ri0pyVY8LlqAYznEyqHI1FDVS_d601TMiq_WiMTapnQQKFdw0SF1xLNWVT13QsosgErYq0g7pJvlpYDRRXymU8Arw0LMya6nD2sMbFggYEpqMdT_j7KLiZ6oC_2G5v4VVaMdZOF8ppzUkFFtj4MU4k7J_8zVM1LbCy8vH8uyjxGqCsRzbryDu-yhQmPy1FIXBX4ZZgXy8gB2bLLPtndba9rmSFMq4VbWDjwe2hqAF7X4yvru0bGeu_4mxB10vxO2KPP9Sqaniqw"
x5c 
0   "MIIFvDCCA6SgAwIBAgITHQAAADE6PYCZMMXL9QAAAAAAMTANB8VHvcXFg4="
alg "RS256"
keys    
0   
kty "RSA"
use "sig"
kid "B2042B75C33612AC9BD31051B2821E5DEB4D0F34RS256"
x5t "sgQrdcM2Eqyb0xBRsoIeXetNDzQ"
e   "AQAB"
n   "zJiOYj3NhxS4vxte0GtimbMwu6DtFHISguFdlLaroRQaNciqVynyRYJ2v8y5194miwT_K3jtKnh9lSGz93Q7Z500kvmZjS9boqQFn8g-I_02FOUUcLzsJJOTcBGqt6lvja5YlVhdWKG92sq8RizkDm28GV6bdDLh8mbR6GtwyvD2iN7aHs7nE6Z-S5doFlkr4SJ9lUxNMr18WpQHqXvP3Z0lpr8E5DRVv80n5HS7u9uusZvhryOp1QgQGfikCqPc8XNcZ9GyXhtGJkHD-QlpUZVbondHZOCi5IKOUrq7LK4cgILB-zDVIGVpyl0JhhjCCp02wq9kWcgKAvTcb8m8Aw"
x5c 
0   "MIIFmjCCA4KgBpvenCRU6YuvZamis9K4OrGuKNK0EwNe1tbPMViVE++/H21P/utQ=="
alg "RS256"

共有1个答案

东郭宏深
2023-03-14

为什么不使用相同的签名密钥证书与相同的私钥在两个安装的标识服务器?

您还需要记住,域名(服务器)的证书与令牌签名密钥是分开的。

令牌签名密钥在两个实例中都需要相同。要安装私有签名密钥,可以方便地将其封装在X509证书中。

一个证书包含一个私钥,您可以有许多基于保存私钥的证书。我将使用openssl为令牌生成私有签名密钥,并将域证书分开,以明确区分关注点。如果您使用Azure Key Vault,甚至可以直接在那里创建和存储密钥。

 类似资料:
  • 我正在尝试使用<code>Hibernate Validator</code>验证请求对象。 作为一个简单的例子,假设我要验证的对象的类有一个<code>B bObj</code>字段,其中<code>B 因此,我实现了自己的自定义,它链接到自定义类。 DTO类 我的endpoint方法签名(其中调用验证器,并设置活动组): 我的验证器类 我想要实现的是基于活动组对同一字段应用不同的验证。活动组是

  • 我在域< code > client-domain . example 上有一个客户端应用程序,在域< code > server-domain . example 上有一个服务器端应用程序。服务器端有一个API。客户端应用程序向服务器端应用程序发送AJAX请求。我使用基于令牌的认证,所以客户端应用程序在每个AJAX请求的头中发送令牌,例如:“Authorization:Bearer { some

  • 因此,我正在通过 SAML2.0 为我们的应用程序实现 SSO。我们正在使用 saml2-js,并且我们正在执行 SP 启动的 SSO。 实现已经准备好了,它正在工作,但是有几个部分我还在纠结。 saml2-js要求您在ServiceProvider实例上提供私钥和证书-

  • 我遇到了一个证书问题,两周前我做了一个电脑备份,我把项目和key.jks保存在另一台电脑里,我正试图升级我的应用程序,但它说: 上载失败 您上载了一个与以前的APK不同的证书签名的APK。您必须使用相同的证书。 [SHA1:90:F7:82:F9:C0:52:98:D7:EA:F9:9C:79:B9:00:1D:61:7E:5B:C5:06] 并且用于签署您上载的APK的证书具有指纹: [SHA1

  • 我从API自动化测试开始,所以我不知道如何使用Cucumbers步骤来验证API响应。 我使用以下步骤创建cucumber功能: 在我的“dataMap”类上,我正在执行休耕请求并验证: 但是在我的“步骤”类中,我需要调用cucumber步骤,我的请求和验证代码都在同一个方法上。如何在方法中调用请求,在另一个方法中调用响应,以使用cucumber步骤?谢谢