Współczesne środowiska chmurowe stawiają przed inżynierami wysokie wymagania w zakresie bezpieczeństwa kluczy kryptograficznych oraz zaufanych podpisów kodu. Google Cloud Key Management Service (KMS) dostarcza skalowalne i w pełni zarządzane rozwiązanie do tworzenia, przechowywania i zarządzania kluczami szyfrującymi, natomiast certyfikat Sectigo Code Signing umożliwia nadanie oprogramowaniu niepodważalnego, cyfrowego odcisku. Poniższy wpis prezentuje dogłębną analizę architektury Google Cloud KMS, integrację z Sectigo Code Signing oraz praktyczne scenariusze implementacji.
Spis Treści
roles/cloudkms.admin — pełen dostęproles/cloudkms.cryptoKeyEncrypterDecrypter — szyfrowanie/deszyfrowanieroles/cloudkms.viewer — tylko odczytrotationPeriod).destroy_scheduled_duration).gcloud kms keys create code-signing-key \
--location=global \
--keyring=signing-ring \
--purpose=asymmetric-signing \
--default-algorithm=RSA_SIGN_PKCS1_4096_SHA256
Cloud KMS wspiera generowanie CSR dla kluczy asymmetric-signing:
gcloud kms keys versions create \
--key code-signing-key \
--location global \
--keyring signing-ring \
--protection-level hsm \
--generate-upload-job \
--algorithm rsa-sign-pkcs1-4096-sha256
gcloud kms import-job describe import-job-1 \
--location global \
--keyring signing-ring
# Odczytaj CSR z wyjścia i przekaż do Sectigo
gcloud kms import-key-version \
--location=global \
--keyring=signing-ring \
--key=code-signing-key \
--import-job=import-job-1 \
--algorithm=rsa-sign-pkcs1-4096-sha256 \
--wrapped-key-material=certificatesection.pem
Od tej chwili Cloud KMS przechowuje parę klucz → certyfikat, gotową do podpisywania binariów.
gcloud kms asymmetric-sign \
--location=global \
--keyring=signing-ring \
--key=code-signing-key \
--version=1 \
--digest-algorithm=sha256 \
--digest=$(openssl dgst -sha256 -binary myapp.jar | base64) \
> signature.bin
jarsigner -keystore NONE \
-signedjar myapp-signed.jar \
-signatureFile signature.bin \
myapp.jar
gcloud kms asymmetric-verify \
--location=global \
--keyring=signing-ring \
--key=code-signing-key \
--version=1 \
--digest-algorithm=sha256 \
--digest=$(openssl dgst -sha256 -binary myapp-signed.jar | base64) \
--signature=signature.bin
cryptoKeySigner.rotationPeriod na 30–90 dni, aby uniknąć długotrwałego użycia klucza.Połączenie Google Cloud KMS z certyfikatem Sectigo Code Signing umożliwia zbudowanie bezpiecznego, skalowalnego procesu zarządzania kluczami i cyfrowego podpisywania kodu. Dzięki HSM‑grade security, rozbudowanym politykom IAM oraz automatyzacji CI/CD otrzymujemy end‑to‑end rozwiązanie spełniające najbardziej rygorystyczne wymogi compliance i audytu.