【发布时间】:2020-01-03 02:30:29
【问题描述】:
我有一个与 Renci.ssh 一起使用的密钥文件来执行 sftp。但是,如果我将此文件复制并粘贴到 Azure 机密中,当我运行相同的代码并尝试从 azure 密钥库中读取时,我会得到“无效的密钥文件”
代码如下:
我已将此文件存储在本地并从该文件中读取,它可以工作。我还将密钥直接剪切并粘贴到我的代码中,这也有效。
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var secret = await keyVaultClient.GetSecretAsync(config["SecretPrivateKey"])
.ConfigureAwait(false);
var result = secret.Value;
MemoryStream stream = new MemoryStream);
Stream stream = new MemoryStream();
byte[] byteArray = Encoding.UTF8.GetBytes(result);
stream.Write(byteArray, 0, byteArray.Length);
PrivateKeyFile keyFile = new PrivateKeyFile(stream, "Password");
无效的密钥文件
【问题讨论】:
-
那么你在
result中得到了什么价值? -
我想通了。我使用 cli 添加密钥并且它有效:az keyvault secret set
标签: azure ssh sftp azure-keyvault