如何在 Microsoft Azure Vault 中存储密钥库?

How to store a keystore in Microsoft Azure Vault?

我正在尝试为我的 API 服务启用 HTTPS 流量(使用 Dropwizard Java)。但是,我需要为 Dropwizard 配置提供包含 SSL 证书的密钥库:

server:
  applicationConnectors:
    - type: https
      port: 8443
      keyStorePath: example.keystore
      keyStorePassword: example
      validateCerts: false

我在 Azure 的 Key Vault 中有我的 .pfx 证书,所以我想知道如何在 Azure Key Vault 中存储 .jks 密钥库文件?

我也可以直接将 .jks 密钥库文件传输到虚拟机,但我不确定这是否非常安全。如何将 .jks 文件上传到 Microsoft Azure Vault?

如果您对 .jks(或任何文件)进行 base64 编码并且总大小小于 25kb,则您可以将其存储为 keyvault Secret。

例如来自 cli:

OUTPUT="$(base64 -w0 < test.txt)" & az keyvault secret set --name mysecret --vault-name myvault --value $OUTPUT

检索秘密时,您可以对其进行解码并将输出写入文件。