BirdID
  • Apresentação
  • Fluxo recomendado
    • Autenticação na API Pública
      • Descoberta
      • Autenticação (Password)
    • Autenticação no BirdID Pro
    • BirdID Pro - Assinatura Síncrona
  • Arquitetura da suíte de soluções
  • Nuvem Pública
    • Public API
      • Autenticação de usuários
        • OAuth2 - Authorization Code
        • OAuth2 - Password
        • QR Code e Push
      • Autenticação de aplicação
        • OAuth2 - Client Credentials
      • Uso de certificado
        • Assinatura digital
      • Auxiliares
        • Localização de usuário
        • Recuperação de certificado
      • Manutenção da aplicação
        • Cadastro de aplicação
        • Alteração de aplicação
        • Auto-cadastro de aplicação
  • BirdID Pro
    • Recursos
    • Arquitetura da plataforma
    • Instalação e configuração
    • API
      • Autenticação e Autorização
        • OAuth2 - Password
      • Preparação de documento(s)
      • Assinatura de documento(s)
      • Validação de integridade do documento
      • Monitor & HealthCheck
      • Informações do certificado
      • Integração S3
      • Integração GCP Storage
      • Integração FTP (File Transfer Protocol)
      • Licença
      • Juntar assinatura
    • Monitoramento
    • Dúvidas frequentes
    • Licença
  • CEAS
    • Arquitetura da plataforma
    • Recursos
    • API
      • Autenticação de usuários
        • OAuth2 - Authorization Code
        • OAuth2 - Password
      • Informações do certificado
      • Monitor & HealthCheck
    • Console
      • Auto registro da aplicação
    • Instalação e configuração
  • Middleware
    • Assistente Utilitário
      • Console
        • Aplicação
        • Usuários
        • Usuário selecionado
      • API
        • Aplicação
        • Usuários
        • Usuário selecionado
    • PKCS#11
    • CSP (Microsoft Crypto API)
    • Engine OpenSSL
    • JCA/JCE
  • Códigos de Retorno
  • Emissão Online
    • API
      • Autenticação / Login
      • Emissão
      • Dados da AR
  • Gateway ACT
    • Carimbo
    • Assinatura + Carimbo
    • Assinatura + Carimbo em Lote
  • Wings
    • Autenticação
      • Autenticação de Usuário
      • Definir Corporação
      • Credenciais de cliente externo
    • Corporativo
      • Consultar Usuários
      • Alterar Usuário
      • Cadastrar Assinante PJ
      • Alterar Usuário em Lote
    • Usuário Varejo
      • Alteração Tipo Usuário Varejo
      • Obter dados do Usuário
      • Consulta de crédito
Powered by GitBook
On this page
  • Configuração Google Cloud Platform Storage (GCP)
  • CESS lendo do bucket
  • CESS escrevendo no bucket

Was this helpful?

  1. BirdID Pro
  2. API

Integração GCP Storage

O CESS possui integração com Google Cloud Platform Storage para leitura dos arquivos originais e escrita dos assinados.

Configuração Google Cloud Platform Storage (GCP)

Para utilizar as funcionalidades de integração com GCP é necessário configurar uma variável de ambiente chamada "googleCloudCredentials". Essa variável deverá conter o seguinte json encodado em base64.

Por exemplo, se tivermos o seguinte json: {"type":"TYPE","project_id":"PROJECT_ID","private_key_id":"PRIVATE_KEY_ID","private_key":"PRIVATE_KEY","client_email":"CLIENT_EMAIL","client_id":"CLIENT_ID","auth_uri":"AUTH_URI","token_uri":"TOKEN_URI","auth_provider_x509_cert_url":"AUTH_PROVIDER_X509","client_x509_cert_url":"CLIENT_X509","read_bucket":"READ_BUCKET","write_bucket":"WRITE_BUCKET","base_path":"BASE_PATH"}

Deveremos configurar a variável de ambiente como: 'googleCloudCredentials=eyJ0eXBlIjoiVFlQRSIsInByb2plY3RfaWQiOiJQUk9KRUNUX0lEIiwicHJpdmF0ZV9rZXlfaWQiOiJQUklWQVRFX0tFWV9JRCIsInByaXZhdGVfa2V5IjoiUFJJVkFURV9LRVkiLCJjbGllbnRfZW1haWwiOiJDTElFTlRfRU1BSUwiLCJjbGllbnRfaWQiOiJDTElFTlRfSUQiLCJhdXRoX3VyaSI6IkFVVEhfVVJJIiwidG9rZW5fdXJpIjoiVE9LRU5fVVJJIiwiYXV0aF9wcm92aWRlcl94NTA5X2NlcnRfdXJsIjoiQVVUSF9QUk9WSURFUl9YNTA5IiwiY2xpZW50X3g1MDlfY2VydF91cmwiOiJDTElFTlRfWDUwOSIsInJlYWRfYnVja2V0IjoiUkVBRF9CVUNLRVQiLCJ3cml0ZV9idWNrZXQiOiJXUklURV9CVUNLRVQiLCJiYXNlX3BhdGgiOiJCQVNFX1BBVEgifQ=='

Observações:

  • Há duas configurações de bucket: um para leitura do objeto e outra para escrita. Ou seja, se você deseja que o CESS apenas leia o arquivo armazenado no GC, deverá preencher a chave "read_bucket"; Caso você deseja que o CESS escreva no bucket, deverá preencher a chave "write_bucket". E, consequentemente, se deseja ler/escrever no GCP, deverá configurar ambas chaves.

  • A chave "base_path" do json é utilizado apenas para escrita dos objetos. Ou seja, se você deseja que no momento de escrita do objeto no bucket seja adicionado o prefixo "integracao_cess/", precisa configurá-la. Então, se pedir para salvar o arquivo com o nome "cliente1.p7s", o objeto terá o seguinte nome: "integracao_cess/cliente1.p7s". Caso não deseja o prefixo, basta deixá-lo em branco.

CESS lendo do bucket

Para o CESS ler o arquivo original do bucket é necessário, além das configuração anterior, especificar duas chaves na criação da transação: "documents_source" : "GCP_STORAGE" e no documents[] {"data": "nome_do_objeto_no_bucket".

Por exemplo, se deseja que seja assinado o arquivo chamado "meu_arquivo.txt", então poderá utilizar o seguinte json como chamada:

{
	"certificate_alias": "",
	"type": "CAdEs-detached",
	"hash_algorithm": "SHA256",
	"documents_source": "GCP_STORAGE", //OBRIGATÓRIO
	"policy": "AD_RB",
	"checksum_algorithm": "SHA256",
	"mode": "sync",
	"documents": [
		{
			"id": "0",
			"data": "meu_arquivo.txt", //OBRIGATÓRIO
		}
	]
}

CESS escrevendo no bucket

Para o CESS escrever o arquivo assinado no Google Cloud é necessário, além das configuração anterior, especificar duas chaves na criação da transação: "documents_destination" : "GCP_STORAGE" e no documents[] {"destination_file_name": "nome_do_objeto_no_bucket" (opcional).

Por exemplo, se deseja que o arquivo assinado seja armazenado com o nome "minha_assinatura.p7s", então poderá utilizar o seguinte json como chamada:

{
	"certificate_alias": "",
	"type": "CAdEs-detached",
	"hash_algorithm": "SHA256",
	"documents_source": "DATA_URL",
	"documents_destination": "GCP_STORAGE", //OBRIGATÓRIO
	"policy": "AD_RB",
	"checksum_algorithm": "SHA256",
	"mode": "sync",
	"documents": [
		{
			"id": "0",
			"data": "data:text/plain;base64,Y2xldWJlcl90ZXN0ZQ==",
			"destination_file_name": "minha_assinatura.p7s" //OPCIONAL
		}
	]
}
"documents": [
        {
            "id": "0",
            "original_file_name": null,
            "mediatype": "data:text/plain",
            "status": "SIGNED",
            "lifetime": 4000,
            "result": "https://www.googleapis.com/storage/v1/b/example_bucket/o/minha_assinatura.p7s",
            "destination_file_name": "minha_assinatura.p7s",
            "checksum": "7bc054878b0e646c18efb4c06d660c9890a1e89e"
        }
    ]

Observação:

  • Caso não seja definido um valor para variável "destination_file_name", será gerado um aleatório com a seguinte lei de formação: <ano>/<mês>/<dia>/<timestamp>_<numeroAleatório8Dígitos>. Por exemplo: 2020/07/10/1594398391_dc80d9b0.

  • Quando cliente optar pelo documents_source DATA_URL, FILE_PATH, AWS_S3 ou GCP_STORAGE, deverá passar, caso queira especificar um nome para o objeto, o "destination_file_name" no mesmo nível do "id" e "data". Quando optar pelo UPLOAD_REFERENCE, ele tem a opção de criar a chave "documents[]" e passar o "id" e o "destination_file_name" no mesmo nível; pois quando realizar o upload via rota /file-transferer/<tcn> ocorrerá o match entre o document[id] e o id definido na chave "documents[]' na criação da transação

PreviousIntegração S3NextIntegração FTP (File Transfer Protocol)

Last updated 4 years ago

Was this helpful?