使用 X509FindValueSecondary 中的证书加密的 ServiceFabric Secrets

ServiceFabric Secrets encrypted with certificate inside X509FindValueSecondary

我有一个 encrypted application secret.

在我的ApplicationManifest中我已经指定了相应的证书来解密秘密:

<Certificates>
    <SecretsCertificate Name="MyCert" X509FindValue="1..." X509FindValueSecondary="2..." />
</Certificates>

我的秘密实际上是用我在 X509FindValueSecondary 中指定的 2... 证书加密的。我以为当它找不到 X509FindValue 的证书时,在我的例子中 1...,它会回退到 X509FindValueSecondary 中寻找证书。这就是我认为 "Secondary" 的意思。 但是,我的应用程序没有启动:

Failed to configure certificate permissions. Error FABRIC_E_CERTIFICATE_NOT_FOUND. 

X509FindValueX509FindValueSecondary有什么区别?

SecretsCertificate 对其他证书选项使用相同的格式,例如 ServerCertificateClientCertificate 等等。

What is the difference between X509FindValue and X509FindValueSecondary?

假设 它们都以相同的方式工作,X509FindValueSecondary 的想法对于 ServerCertificate 将用作翻转方法,这意味着:

  • 加载第一个证书,如果有效,则使用
  • 如果第一个证书过期,尝试加载第二个

在这两种情况下,证书都必须存在,因为它需要验证到期日期,如果您打算只有一个,则应删除辅助证书。