Ho un codice per autenticarsi con Azure Key Vault per recuperare alcuni segreti. Sono un'autenticazione che utilizza un ID client e un certificato invece di un ID client e segreto. Questo codice funziona alla grande in una normale console app:Installare un certificato per un cluster locale
var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
try
{
store.Open(OpenFlags.ReadOnly);
var matchingCertificates = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
if (matchingCertificates.Count != 1)
{
return null;
}
return matchingCertificates[0];
}
finally
{
if (store != null) store.Close();
}
Appena provo utilizzando questo codice in un'applicazione di servizio informazioni sullo stato non è più in grado di trovare il certificato.
Come posso installare un certificato in modo che sia disponibile per il mio cluster locale?
Così sarà ancora vedere tutti i certificati che sono installati sulla mia macchina locale, fintanto che ha accesso a loro? – Dismissile
Sì, è vero. Anziché fornire l'accesso manualmente, è possibile fare in modo che Service Fabric dia automaticamente accesso a determinati certificati definendo utenti, gruppi e criteri di accesso in ApplicationManifest.xml. Vedere questo documento per maggiori informazioni su come impostare questo: https://azure.microsoft.com/en-us/documentation/articles/service-fabric-application-runas-security/#a-complete-application-manifest-example –
Can fornisci maggiori dettagli su come concedi l'accesso al certificato in Service Fabric? Quel documento parla di certificati endpoint SSL ma non è il mio caso d'uso. Sto utilizzando una chiave privata del certificato per l'autenticazione con una risorsa KeyVault. – Dismissile