Loading
Configurar e manter a sua organização do Salesforce
Script de amostra para gerar segredos BYOK para Backup e Recover Next e Data 360

Script de amostra para gerar segredos BYOK para Backup e Recover Next e Data 360

O Shield Platform Encryption fornece um script para ajudá-lo a carregar material de chave fornecido pelo cliente para Backup & Recover Next e Data 360. Ele cria uma chave raiz que você pode carregar para o Salesforce. O script gera um número aleatório como seu segredo e usa a chave pública do certificado para criptografar o segredo.

Edições obrigatórias

Disponível no Salesforce Classic (não disponível em todas as organizações) e no Lightning Experience.
Disponível em: Edições Enterprise, Performance e Unlimited com as licenças Salesforce Shield ou Shield Platform Encryption.
Disponível gratuitamente na Developer Edition.
Nota
Nota Este script é diferente daqueles que você usa para criar material de Traga sua própria chave (BYOK) para criptografia em nível de campo, criptografia de índice de pesquisa ou criptografia de banco de dados. Consulte Exemplo de script para gerar um segredo do locatário BYOK e Exemplo de script para gerar segredos BYOK para pesquisa e para criptografia de banco de dados.

Antes de usar esse script, primeiro criar um certificado compatível com BYOK e gerar um token de importação. Você precisa apenas de um certificado autoassinado. Depois de carregar sua chave-raiz, o Salesforce exclui automaticamente o certificado.

Esse script cria um único arquivo chamado EncryptedKeyMaterial.bin que está pronto para upload. Ele é agrupado e codificado para atender aos requisitos da Shield Platform Encryption.

  1. Crie um arquivo que contenha o script e salve-o no mesmo diretório que o arquivo de certificado e token de sessão que você baixou anteriormente.
  2. Certifique-se de que o script seja executável com chmod 775.
    Por padrão, os arquivos temporários não são excluídos. Descomente a linha final do script para que sejam excluídos automaticamente.
  3. Execute o script especificando o nome do certificado e o arquivo de token da sessão. Por exemplo, se você tiver nomeado seu script 2025_dc_rootkeygen.sh e seu arquivo de certificado tiver o nome 2025_dc_byok.crt, execute ./2025_dc_rootkeygen.sh 2025_dc_byok.crt.
  4. O script gera um arquivo chamado EncryptedKeyMaterial.bin.
    Carregue EncryptedKeyMaterial.bin e o arquivo de token de importação para seu certificado autoassinado que você criou anteriormente.
Exemplo
Exemplo

Conteúdo do arquivo 2025_dc_rootkeygen.sh. Você pode executar esse script em sistemas Linux ou MacOs.

Esse script gera uma chave-raiz segura compatível com os repositórios de dados Backup & Recover Next e Data 360. Você fornece o token de importação e o certificado que você gerou na página BYOK.

  • Verifique se um nome de certificado é passado e se ele é recuperável. Saída na falha.
  • Extraia a chave pública do certificado. Saída na falha.
  • Crie o material de chave real (neste script, usamos um número aleatório de 32 bits) como um arquivo chamado PlainTextKeyMaterial.bin.
  • Use o openssl para quebrar (criptografar) o arquivo PlainTextKeyMaterial.bin com a chave pública do certificado usando os protocolos de quebra RSAES_OAEP_SHA_256 e RSA_4096. Esse processo produz o arquivo EncryptedKeyMaterial.bin.
  • Opcionalmente, exclua os arquivos de texto simples temporários e o arquivo de entrada PublicKey.b64.

Você então pode carregar o arquivo EncryptedKeyMaterial.bin e o token de importação original para o Salesforce.

#!/bin/bash
## BYOK for Backup & Recover Next Data 360 sample script to generate and prepare a root key for upload.
## Pass in as parameter: Certificate file (.crt) downloaded from the
##  Generate Certificate page (referred in this script as certificate.crt or CERT_FILE).

## Validate input parameter
if [ -z "$1" ]; then
    echo "Error: Please provide a certificate file as parameter."
    echo "Usage: ./2025_dc_rootkeygen.sh certificate.crt."
    exit 1
fi

if [ ! -f "$1" ]; then
    echo "Error: File '$1' not found."
    exit 1
fi

CERT_FILE="$1"
PUBLIC_KEY_FILE="public_key.pem"

## Step 1: Extract public key from certificate
echo "Extracting public key from certificate..."
openssl x509 -in "$CERT_FILE" -pubkey -noout > "$PUBLIC_KEY_FILE"

if [ $? -ne 0 ]; then
    echo "Error: Failed to extract public key from certificate."
    exit 1
fi

echo "Public key extracted to $PUBLIC_KEY_FILE."

## 3.0 Generate Key material as PlaintextKeyMaterial.bin
openssl rand -out PlaintextKeyMaterial.bin 32

## 3.1 wrap key material
# Note: we are using RSAES_OAEP_SHA_256 and RSA_4096 for wrapping
# Using PEM format public key directly
openssl pkeyutl \
    -encrypt \
    -in PlaintextKeyMaterial.bin \
    -out EncryptedKeyMaterial.bin \
    -inkey "$PUBLIC_KEY_FILE" \
    -keyform PEM \
    -pubin \
    -pkeyopt rsa_padding_mode:oaep \
    -pkeyopt rsa_oaep_md:sha256 \
    -pkeyopt rsa_mgf1_md:sha256

echo "=== Output file:"
echo "    EncryptedKeyMaterial.bin created." 

## Optional cleanup. Remove the # from the next two lines if you want to delete the files automatically
# rm PlaintextKeyMaterial.bin
# rm "$PUBLIC_KEY_FILE"
 
Carregando
Salesforce Help | Article