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. |
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.
-
Kopieer het volgende script. Sla het op in dezelfde directory als het BYOK-compatibele certificaat dat u eerder hebt gedownload.
- Linux
secretgen.shscript#!/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.'
- Linux
-
Maak secretgen.sh uitvoerbaar. Zo verleent
chmod 775 secretgen.shu de machtiging voor schrijven en uitvoeren voor het bestand. -
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.
-
Het script genereert verschillende bestanden. Zoek naar de twee bestanden die eindigen op .b64.
De
encrypted_secret.b64van het bestand is uw basis 64-gecodeerde versleutelde belanghebbendengeheim en deplaintext_secret_hash.b64van 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.
