簽署及驗證資料

AO 會透過 gRPC 用戶端,對 KMS 執行簽署和驗證作業,並透過 Google Distributed Cloud (GDC) 氣隙。

事前準備

如要取得簽署資料的必要權限,請要求機構 IAM 管理員在專案命名空間中授予您 KMS 開發人員 (kms-developer) 角色。

簽署資料

如要簽署資料,請使用 gdcloud kms keys asymmetric-sign 指令。這項指令會使用 Signing 金鑰建立輸入檔案的數位簽章,並儲存 Base64 編碼的簽章。

  • 如要簽署資料,請傳遞金鑰名稱和下列項目:

    gdcloud kms keys asymmetric-sign \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
    --input-file=INPUT_PATH \
    --signature-file=SIGNATURE_FILE
    

    請替換下列變數:

    • NAMESPACE:專案命名空間,例如:kms-test1
    • KEY_NAME:用於簽署的鍵名稱,例如:key-1
    • INPUT_PATH:要簽署的輸入檔案路徑。
    • SIGNATURE_FILE:輸出檔案的路徑,用於儲存 Base64 編碼的簽章。

    執行指令後,您會在 --signature-file 標記中指定的輸出檔案中,看到 Base64 編碼的簽章。

驗證資料

簽署資料後,請使用 gdcloud kms keys asymmetric-verify 指令驗證 base64 數位簽章。這項指令會驗證您在執行 gdcloud kms keys asymmetric-sign 指令後收到的 Base64 編碼數位簽章是否有效。

  • 如要驗證簽章,請傳遞簽章檔案和下列項目:

    gdcloud kms keys asymmetric-verify \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
      --input-file=INPUT_PATH \
      --signature-file=SIGNATURE_FILE
    

    執行指令後,如果成功,您會看到 Verification OK 輸出內容。如果不成功,您會看到失敗輸出內容 Verification Failure