Java 如何尽可能地将KMS客户机实现为服务器无关的?

Java 如何尽可能地将KMS客户机实现为服务器无关的?,java,hsm,key-management,google-cloud-kms,kmip,Java,Hsm,Key Management,Google Cloud Kms,Kmip,如果应用程序必须从a(可能是a)获取私钥(主要是RSA密钥),那么如果无法提前知道应用程序必须处理的KMS实现,那么实现此类客户端的最佳方法是什么 主要问题产生了子问题: 是否有一个统一的客户机库试图缩小不同实现之间的差距? 一个至少以实现为目标的方法就是一个很好的例子 它是什么语言?同一个图书馆的目标越明确越好 是否有一个适用于Java(我的应用程序将在什么上运行,但我试图保留这个问题) 如果没有或几乎没有针对多个服务器实现的客户机,那么是否有针对特定实现的特定客户机?我主要考虑的是中小

如果应用程序必须从a(可能是a)获取私钥(主要是RSA密钥),那么如果无法提前知道应用程序必须处理的
KMS
实现,那么实现此类客户端的最佳方法是什么


主要问题产生了子问题:
  • 是否有一个统一的客户机库试图缩小不同实现之间的差距?
    • 一个至少以实现为目标的方法就是一个很好的例子
    • 它是什么语言?同一个图书馆的目标越明确越好
    • 是否有一个适用于
      Java
      (我的应用程序将在什么上运行,但我试图保留这个问题)
  • 如果没有或几乎没有针对多个服务器实现的客户机,那么是否有针对特定实现的特定客户机?我主要考虑的是中小企业(中小企业)和大公司中使用最多的。
    • 它是什么语言?同一个图书馆的目标越明确越好
    • 是否有一些适用于
      Java
  • 如果这些都不存在,或者没有最需要的实现所需的客户机库,那么在关注第一个实现的同时,将应用程序设计为在将来可以轻松地适应其他实现的最佳方法是什么?
    • 我想首先关注
      KMIP
      兼容是个好主意
  • 互联网上有工作代码的实际样本吗?甚至
    UML
    图?这种资源感觉相当稀缺
  • 我是否愚蠢地认为所有存在的东西和所有这些实现实际上都使用了
    RESTful
    api,所有东西都必须在客户端实现才能适应各种服务器实现

  • 奖金问题: 谷歌的
    KMIP
    是否符合标准?但我实际上无法找到一个明确的
    或一个明确的


    其他有用资源:

    我有一个额外问题的答案:谷歌云KMS/Cloud HSM与KMIP不兼容;我们对它很感兴趣,但该协议与作为服务运行不太一致。我现在没有足够的带宽来讨论其余的问题,但我不知道有什么好的多服务抽象客户端。总是很高兴在cloudkms进一步讨论-feedback@google.com.@TimDierks非常感谢你,现在更清楚了。我应该利用你直接参与该产品的机会问你。我在另一个问题线程中这样做,因为它已经远离了这里的第一个主题,我应该已经为奖金问题这样做了。我觉得它也比通过电子邮件更好,这样其他人也可以看到它的答案。你考虑过使用吗?我相信它的目标是提供一个密钥管理客户端库,包括Google Cloud KMS。@RussAmos Neat,它似乎至少完成了我所需要的一部分。还有一些模糊的东西。例如,看起来我不能用它来检索私钥并与另一个没有实现Tink的库一起使用,或者我误解了什么?我看到有可能实现原语,但我不明白这是否能帮助我包装一个非tink加密库。我将在他们的github上发布一个问题来澄清这一点。顺便说一下。:)