Loading
Uw Salesforce-organisatie instellen en onderhouden
Voorbeeldscript voor het genereren van een BYOK-belanghebbendengeheim

Voorbeeldscript voor het genereren van een BYOK-belanghebbendengeheim

We bieden een helperscript dat handig kan zijn om uw belanghebbendengeheim voor te bereiden op uploaden. Het script genereert een willekeurig nummer als uw belanghebbendengeheim, berekent een SHA256-hash van het geheim en gebruikt de openbare sleutel van het certificaat om het geheim te versleutelen. Dit script is alleen bedoeld voor het maken van een BYOK-belanghebbendengeheim FLE, Files and Attachments en Event Data.

Vereiste editions

Beschikbaar in zowel Salesforce Classic (niet in alle organisaties beschikbaar) als Lightning Experience.
Beschikbaar in: Enterprise, Performance en Unlimited Edition met de Salesforce Shield of Shield Platform Encryption licenties.
Gratis beschikbaar in Developer Edition.
Opmerking
Opmerking U kunt een belanghebbendengeheim of DEK slechts één maal als BYOK-sleutel gebruiken. Als u meerdere BYOK-sleutels nodig hebt, moet u voor elke sleutel een uniek belanghebbendengeheim of DEK gebruiken. Dit script verschilt ook van het script dat u gebruikt voor het maken van BYOK-materiaal voor Zoeken en voor Database-encryptie. Raadpleeg "Voorbeeldscript voor het genereren van een BYOK-geheim voor zoek- en database-encryptie" als u er in plaats daarvan een moet maken.

U moet een BYOK-compatibel certificaat maken voordat u dit script kunt gebruiken.

Een BYOK-belanghebbendengeheim genereren voor FLE, bestanden en bijlagen of eventbusgegevens

Dit script maakt de twee bestanden die nodig zijn om een geldig BYOK-belanghebbendengeheim te maken. Het script genereert een willekeurig getal als uw geheim, berekent een SHA256-hash van het geheim en versleutelt het geheim vervolgens met de openbare sleutel van uw certificaat. Het script is geldig voor zowel Linux als MacO's.

  1. Kopieer het volgende script. Sla het op in dezelfde directory als het BYOK-compatibele certificaat dat u eerder hebt gedownload.
    • Linux secretgen.sh script
      #!/bin/bash
                    
      #Set the local to C (POSIX)
      #required to prevent illegal byte sequence in tr
      export LC_ALL=C 
      
      PLAINTEXT_SECRET_HASH_B64="plaintext_secret_hash.b64"
      ENCRYPTED_SECRET_B64="encrypted_secret.b64"
      PLAINTEXT_SECRET="plaintext_secret.bin"
      PUBLIC_KEY_PEM="public_key.pem"
      
      # Determine the correct path to the OpenSSL binary
      if [[ "$(uname -s)" == "Darwin" ]]; then
      # macOS (Homebrew)
      # set to your path to OpenSSL 3.41 or newer
      OPENSSL="openssl"
      else
      # Linux (assuming OpenSSL is in the PATH)
      OPENSSL="openssl"
      fi
      
      usage() {
      echo 'Generates a random 256-bit value, hashes it, and encrypts it using a given certificate.'
      echo ''
      echo 'Usage: secretgen downloaded.crt'
      exit 1
      }
      
      if [ -z "$1" ]; then
      usage
      fi
      
      # Generate a random value to use as the secret
      # Use 'tr' for macOS compatibility
      # [:cntrl:] is POSIX for control characters
      head -c 32 /dev/urandom | tr '[:cntrl:]' '=' > "$PLAINTEXT_SECRET"
      
      # Hash the plaintext secret and encode it with base64
      $OPENSSL dgst -sha256 -binary "$PLAINTEXT_SECRET" | $OPENSSL base64 -out "$PLAINTEXT_SECRET_HASH_B64"
      
      # Extract the public key from the downloaded .crt file
      $OPENSSL x509 -pubkey -noout -in "$1" > "$PUBLIC_KEY_PEM"
      
      # Encrypt the secret using the public key and encode it with base64
      #$OPENSSL rsautl -oaep -encrypt -pubin -inkey "$PUBLIC_KEY_PEM" -in "$PLAINTEXT_SECRET" | $OPENSSL base64 -out "$ENCRYPTED_SECRET_B64"
      # for openssl 3.4.1
      $OPENSSL pkeyutl -encrypt -pubin -inkey "$PUBLIC_KEY_PEM" -in "$PLAINTEXT_SECRET" -pkeyopt rsa_padding_mode:oaep | $OPENSSL base64 -out "$ENCRYPTED_SECRET_B64"
      
      # Uncomment to clean up files that are no longer needed
      # rm "$PUBLIC_KEY_PEM"
      # rm "$PLAINTEXT_SECRET"
      
      echo 'Generated files: '$ENCRYPTED_SECRET_B64' and '$PLAINTEXT_SECRET_HASH_B64'.'
      echo 'Both of these should be uploaded to Salesforce.'
  2. Maak secretgen.sh uitvoerbaar. Zo verleent chmod 775 secretgen.sh u de machtiging voor schrijven en uitvoeren voor het bestand.
  3. Voer het script uit en geef de certificaatnaam op, zoals: ./secretgen.sh <naam van uw certificaatbestand>
    Vervang <uw certificaatbestandsnaam> door de feitelijke bestandsnaam van het certificaat dat u hebt gedownload.
  4. Het script genereert verschillende bestanden. Zoek naar de twee bestanden die eindigen op .b64.
    De encrypted_secret.b64 van het bestand is uw basis 64-gecodeerde versleutelde belanghebbendengeheim en de plaintext_secret_hash.b64 van het bestand is uw basis 64-gecodeerde hash van het platte-tekst belanghebbendengeheim. U uploadt deze beide bestanden op de pagina Uw eigen sleutel inbrengen.
 
Wordt geladen
Salesforce Help | Article