[英]Google Cloud HSM as a provider for encryption
我不確定確切的問題是什么,但是您似乎想編寫使用HSM的私鑰對數據簽名的代碼,並使其在AWS和Google Cloud上正常工作。 為此,請執行以下步驟:
步驟1可以以編程方式(通過您在問題中所寫的Security.addProvider)完成 ,也可以在java.security文件中靜態完成。 如果您希望代碼對於運行它的雲平台是不可知的,則可能需要考慮靜態執行此操作(盡管也可以通過編程方式進行操作並使事物與平台無關)。
其余步驟僅需要非常標准的JCE代碼。 下面是一個示例:
KeyStore keyStore = KeyStore.getInstance("type", "provider name");
PrivateKey privKey = (PrivateKey) keyStore.getKey("alias", null);
Signature sig = Signature.getInstance("transformation", "provider name");
sig.initSign(privKey);
sig.update(dataToSign);
byte[] signature = sig.sign();
您可能想要從(安全的)配置文件中讀取提供程序名稱和密鑰庫類型,因此這些文件不會被硬編碼。 完成這項工作后,您將需要查看去密鑰庫檢索密鑰對象的頻率,並可能考慮對它們進行緩存,因為密鑰庫檢索可能很昂貴,具體取決於所使用的HSM和提供程序庫。 這超出了這個問題的范圍,或者至少是我要解釋的問題的范圍,所以我將在此處停止。 希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.