vaultsharp tls auth fail - должен быть указан сертификат клиента - PullRequest
0 голосов
/ 17 мая 2019

Vaultsharp не может аутентифицироваться с помощью хранилища для метода TLS AUTH

Код C # в Windows 10, сертификат и ключ в личном хранилище

Окно среды

X509Certificate2 clientCertificate = null;
X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certificateList =         
store.Certificates.Find(X509FindType.FindBySubjectName, "subject name", false);

    if (certificateList.Count > 0)
    {
        clientCertificate = certificateList[0];
    };
    store.Close();


// got clientCertificate here, it has private key as well

try
{
    IAuthMethodInfo authMethod = new CertAuthMethodInfo(clientCertificate);
    var vaultClientSettings = new VaultClientSettings("endpoint:8200", authMethod);
    IVaultClient vaultClient = new VaultClient(vaultClientSettings);
    Secret<Dictionary<string, object>> secret = null;
    Task.Run(async () =>
    {
        secret = await vaultClient.V1.Secrets.KeyValue.V1.ReadSecretAsync("dummy_app/dev/connection_strings");
    }).GetAwaiter().GetResult();

Выше кода выдает ошибку

{"errors": ["Клиентский сертификат должен быть предоставлен"]}

Он должен вернуть секрет вместо выдачи исключения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...