我可以使用 azure key Vault 使用 jarsigner 来签署 jar 文件吗

问题描述 投票:0回答:2

我在 azure key Vault 中有一个证书,我不想将其导入到签名计算机中。相反,我想使用该证书通过对 azure key Vault 进行身份验证或其他方式来签署 jar 文件。 有什么办法可以实现这一点吗?预先感谢

azure azure-keyvault jarsigner
2个回答
1
投票

KeyVault 只是存储秘密、密钥和证书的提供者。它不提供任何执行任何操作的选项。

如果您想使用证书,您需要检索它:

$cert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certName
$secret = Get-AzKeyVaultSecret -VaultName $vaultName -Name $cert.Name
$secretByte = [Convert]::FromBase64String(($secret.SecretValue | ConvertFrom-SecureString -AsPlainText))
# Write to a file
[System.IO.File]::WriteAllBytes("cert.pfx", $secretByte)

但是,您可以将签名任务作为 Azure DevOps Pipeline 的一部分或在 Azure 容器实例内执行。因此,证书不会存储在您的本地设备上。但在某些时候,证书需要离开 KeyVault 才能使用。


0
投票

您可以使用 Jsign JCA 提供程序 将 Azure KeyVault 密钥与 jarsigner 结合使用。

语法如下:

jarsigner -J-cp -Jjsign.jar -J--add-modules -Jjava.sql \
          -providerClass net.jsign.jca.JsignJcaProvider \
          -providerArg <vault-name> \
          -keystore NONE \
          -storetype AZUREKEYVAULT \
          -storepass <api-access-token> \
          application.jar <key-name>

(免责声明:我是这个项目的作者)

© www.soinside.com 2019 - 2024. All rights reserved.