override fun sign()

in google-kms-signer-cli/src/main/kotlin/org/jetbrains/zip/signer/GoogleCloudSignatureProvider.kt [25:39]


    override fun sign(dataToSign: ByteArray): ByteArray {
        KeyManagementServiceClient.create().use { client ->
            val keyName = CryptoKeyVersionName.of(projectId, locationId, keyRingId, keyId, keyVersion)
            val digestByteString = ByteString.copyFrom(digester.digest(dataToSign))
            val digest = Digest.newBuilder().apply {
                when (signatureAlgorithm.contentDigestAlgorithm) {
                    ContentDigestAlgorithm.CHUNKED_SHA256 -> this.sha256 = digestByteString
                    ContentDigestAlgorithm.CHUNKED_SHA384 -> this.sha384 = digestByteString
                    ContentDigestAlgorithm.CHUNKED_SHA512 -> this.sha512 = digestByteString
                }
            }.build()
            val response = client.asymmetricSign(keyName, digest)
            return response.signature.toByteArray()
        }
    }