breadcrumbDescription
Eksempelscript til generering af BYOK-hemmeligheder for Data 360
Vi har leveret et script til at hjælpe dig med at uploade dit BYOK-materiale for Platform Encryption for Data 360. Det opretter en rodnøgle, der kan uploades. Scriptet genererer et tilfældigt tal som din hemmelighed og bruger den offentlige nøgle fra certifikatet til at kryptere hemmeligheden.
EditionsHeading
| Tilgængelig i både Salesforce Classic (ikke tilgængelig i alle organisationer) og Lightning Experience. |
| Tilgængelig i: Enterprise, Performance og Unlimited Edition med Salesforce Shield eller Shield Platform Encryption licenser. |
| Fås gratis i Developer Edition. |
Du skal oprette et BYOK-kompatibelt certifikat og generere et importtoken, før du kan bruge dette script. For Platformskryptering for Data Cloud skal du kun have et selvsigneret certifikat. Når nøglematerialet er uploadet, slettes certifikatet automatisk.
Scriptet skaber en enkelt fil ved navn EncryptedKeyMaterial.bin, som er klar til at uploade til brug som en BYOK for Platform Encryption for Data 360. Den pakkes og kodes i henhold til kravene til BYOK-nøglemateriale af denne type.
- Opret en fil, der indeholder scriptet, og gem den i den samme mappe som den certifikat- og sessionstokenfil, du downloadede tidligere.
-
Sørg for, at scriptet kan eksekveres med
chmod 775.Som standard slettes de midlertidige filer ikke. Fjern kommentarer fra den endelige linje i scriptet for at få dem slettet automatisk. -
Kør det script, der angiver certifikatnavnet og sessionstokenfilen. Hvis du f.eks. navngav dit script
2025_dc_rootkeygen.sh, og din certifikatfil er navngivet2025_dc_byok.crt, skal du køre følgende: ./2025_dc_rootkeygen.sh 2025_dc_byok.crt. -
Scriptet genererer en fil ved navn EncryptedKeyMaterial.bin.
Upload EncryptedKeyMaterial.bin og importtokenfilen for dit selvsignerede certifikat, som du oprettede tidligere.
2025_dc_rootkeygen.sh-filindhold. Du kan køre dette script på Linux- eller MacOs-systemer.
Dette script genererer en sikker rodnøgle for Platform Encryption for Data 360 til brug med BYOK (Bring Your Own Key). Du angiver de to filer, du genererede på BYOK-siden (importtokenet og certifikatet). Processen er
- Kontroller, at der overføres et certifikatnavn, og at det kan hentes. Afslut ved fejl.
- Udtræk den offentlige nøgle fra certifikatet. Afslut ved fejl.
- Opret det faktiske nøglemateriale (i dette script bruger vi et vilkårligt tal på 32 bit) som en fil ved navn PlainTextKeyMaterial.bin.
- Brug openssl til at pakke (kryptere) PlainTextKeyMaterial.bin-filen med den offentlige certifikatnøgle ved brug af RSAES_OAEP_SHA_256- og RSA_4096-pakningsprotokollerne. Dette genererer filen EncryptedKeyMaterial.bin.
- Slet eventuelt de midlertidige almindelige tekstfiler og PublicKey.b64-inputfilen.
Filen EncryptedKeyMaterial.bin kan derefter uploades (sammen med det oprindelige importtoken) til Salesforce for at fuldføre BYOK for Data 360-opsætningen.
#!/bin/bash
## BYOK for Data Cloud Sample script to generate and prepare a DC root key for uploading.
## Pass in as parameter: Certificate file (.crt) downloaded from
## 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"
