> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.flexbox.cloud/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Como configurar um ambiente Linux para utilizar o Google Cloud HSM

Para assinar o seu código através do certificado Code Signing armazenado no Google Cloud HSM através do Linux é necessário:

1. **Fazer o download da biblioteca PKCS #11:**

 [https://cloud.google.com/kms/docs/reference/pkcs11-openssl?hl=pt-br](https://cloud.google.com/kms/docs/reference/pkcs11-openssl?hl=pt-br)


2. **Instalar os seguintes pacotes:**

```bash
sudo apt-get update
sudo apt-get install libengine-pkcs11-openssl opensc
```


3. ** Criar um arquivo de configuração YAML para localizar os recursos do Cloud KMS:**

/etc/pkcs11-kms.yml

com o seguinte conteúdo:

```bash
---
tokens:
  - key_ring: "projects/project-id/locations/global/keyRings/keyring-name"
```

O valor para **project-id** e **keyring-name** serão enviados por e-mail após a emissão do certificado Code Signing.


4. **Definir as seguintes variáveis:**

```bash
export KMS_PKCS11_CONFIG=/etc/pkcs11-kms.yml
export PKCS11_MODULE_PATH=/usr/lib/x86_64-linux-gnu/pkcs11-spy.so
export PKCS11SPY="/usr/local/lib/libkmsp11.so"
```


5. **Instalar a CLI gcloud:**

[https://cloud.google.com/sdk/docs/install?hl=pt-br](https://cloud.google.com/sdk/docs/install?hl=pt-br)


6. Para utilizar o HSM do Google Cloud é necessário fazer a autenticação do seu usuário:

```bash
gcloud auth application-default login
```


7. **Baixar o aplicativo de assinatura de código Jsign:**

[https://ebourg.github.io/jsign/](https://ebourg.github.io/jsign/)


| Para o usuário criado no Google Cloud que terá acesso ao HSM para realizar as assinaturas, é necessário conceder as seguintes permissões:

* cloudkms.cryptoKeyVersions.useToSign
* cloudkms.cryptoKeyVersions.list
* cloudkms.cryptoKeys.list


Caso ainda não possua um certificado Code Signing ou precise renovar o existente, confira nossas ofertas: [https://flexbox.cloud/pt-br/certificado-code-signing/](https://flexbox.cloud/pt-br/certificado-code-signing/)