我收到了使用密钥A加密的密码,需要将其发送到密钥B下加密的其他地方。
两个密钥都可以是对称的或非对称的 - 但是我想在保险库本身(一等奖)内实现这一点 - (避免解密,明确秘密,然后加密)。
Azure Key Vault可以实现吗?如果没有,任何解决方法?
感谢。
答案 0 :(得分:0)
据我所知,目前,Key Vault API无法实现这一目标。我现在想到Key Vault的方式是它只是一个量身定制的服务,用于存储和获取密钥,密钥,证书以及管理可以访问它们的应用程序和用户的访问权限(顶部有一些奇特的位)
您需要在Key Vault之外的某处解密并重新加密。
虽然您在Azure中的一个可能的解决方法是创建一个Azure功能来完成这项工作。至少然后翻译过程发生在一个孤立的Function上下文中(在Azure中)。使用Azure功能的好处在于,您可以使用最少的代码并且没有完整的应用程序来执行此操作,但您需要确保只能由您使用功能。
可能的工作流程可能是:
1)如果密钥保管库中没有Key A
,请将其上传。
2)如果密钥保管库中没有Key B
,请将其上传。
3)使用Key A
,Key B
和A(Secret)
的密钥保管库标识符输入运行Azure功能。进行转换,然后功能可以将B(Secret)
存储在密钥保管库(或其他密钥保管库,如果您有权访问密钥保管库)。
或者它只能输出新的加密秘密。
C#Key Vault客户端:
https://docs.microsoft.com/en-us/azure/key-vault/key-vault-use-from-web-application
C#中的Azure功能和密钥保管库示例,供参考:http://www.rahulpnath.com/blog/azure-key-vault-from-azure-functions/