Creare un certificato SSL

Questo articolo descrive come generare e installare certificati SSL (Secure Sockets Layer) per gli oggetti visivi di Power BI.

Per le procedure Windows, macOS X e Linux, è necessario che sia installato il pacchetto di Visual Tools pbiviz di Power BI. Per altre informazioni, vedere Configurare l'ambiente per lo sviluppo di un oggetto visivo di Power BI.

Creare un certificato in Windows

Per generare un certificato usando il cmdlet New-SelfSignedCertificate di PowerShell in Windows 8 e versioni successive, eseguire il comando seguente:

pbiviz --install-cert

Per Windows 7, lo pbiviz strumento richiede che l'utilità OpenSSL sia disponibile dalla riga di comando. Per installare OpenSSL, passare a OpenSSL o OpenSSL Binaries (File binari OpenSSL).

Creare un certificato in macOS X

L'utilità OpenSSL è in genere disponibile nel sistema operativo macOS X.

È anche possibile installare l'utilità OpenSSL eseguendo uno dei comandi seguenti:

  • Da Brew Package Manager:

    brew install openssl
    brew link openssl --force
    
  • Usando MacPorts:

    sudo port install openssl
    

Dopo aver installato l'utilità OpenSSL, eseguire il comando seguente per generare un nuovo certificato:

pbiviz --install-cert

Creare un certificato in Linux

L'utilità OpenSSL è in genere disponibile nel sistema operativo Linux.

Prima di iniziare, eseguire i comandi seguenti per assicurarsi openssl che e certutil siano installati:

which openssl
which certutil

Se openssl e certutil non sono installati, installare le openssl utilità e libnss3 .

Creare il file di configurazione SSL

Creare un file denominato /tmp/openssl.cnf contenente il testo seguente:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[ alt_names ]
DNS.1=localhost

Generare l'autorità di certificazione radice

Per generare l'autorità di certificazione radice (CA) per firmare i certificati locali, eseguire i comandi seguenti:

touch $HOME/.rnd
openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout /tmp/local-root-ca.key -out /tmp/local-root-ca.pem -subj "/C=US/CN=Local Root CA/O=Local Root CA"
openssl x509 -outform pem -in /tmp/local-root-ca.pem -out /tmp/local-root-ca.crt

Generare un certificato per localhost

Per generare un certificato per localhost l'uso della CA generata e openssl.cnf, eseguire i comandi seguenti:

PBIVIZ=`which pbiviz`
PBIVIZ=`dirname $PBIVIZ`
PBIVIZ="$PBIVIZ/../lib/node_modules/powerbi-visuals-tools/certs"
# Make sure that $PBIVIZ contains the correct certificate directory path. ls $PBIVIZ should list 'blank' file.
openssl req -new -nodes -newkey rsa:2048 -keyout $PBIVIZ/PowerBIVisualTest_private.key -out $PBIVIZ/PowerBIVisualTest.csr -subj "/C=US/O=PowerBI Visuals/CN=localhost"
openssl x509 -req -sha256 -days 1024 -in $PBIVIZ/PowerBIVisualTest.csr -CA /tmp/local-root-ca.pem -CAkey /tmp/local-root-ca.key -CAcreateserial -extfile /tmp/openssl.cnf -out $PBIVIZ/PowerBIVisualTest_public.crt

Aggiungere certificati radice

Per aggiungere un certificato radice al database del browser Chrome, eseguire:

certutil -A -n "Local Root CA" -t "CT,C,C" -i /tmp/local-root-ca.pem -d sql:$HOME/.pki/nssdb

Per aggiungere un certificato radice al database del browser Mozilla Firefox, eseguire:

for certDB in $(find $HOME/.mozilla* -name "cert*.db")
do
certDir=$(dirname ${certDB});
certutil -A -n "Local Root CA" -t "CT,C,C" -i /tmp/local-root-ca.pem -d sql:${certDir}
done

Per aggiungere un certificato radice a livello di sistema, eseguire:

sudo cp /tmp/local-root-ca.pem /usr/local/share/ca-certificates/
sudo update-ca-certificates

Rimuovere i certificati radice

Per rimuovere un certificato radice, eseguire:

sudo rm /usr/local/share/ca-certificates/local-root-ca.pem
sudo update-ca-certificates --fresh

Generare manualmente un certificato

È anche possibile generare manualmente un certificato SSL usando OpenSSL. È possibile specificare qualsiasi strumento per generare i certificati.

Se l'utilità OpenSSL è già installata, generare un nuovo certificato eseguendo:

openssl req -x509 -newkey rsa:4096 -keyout PowerBIVisualTest_private.key -out PowerBIVisualTest_public.crt -days 365

In genere è possibile trovare i certificati del PowerBI-visuals-tools server Web eseguendo uno dei comandi seguenti:

  • Per l'istanza globale degli strumenti:

    %appdata%\npm\node_modules\PowerBI-visuals-tools\certs
    
  • Per l'istanza locale degli strumenti:

    <Power BI visual project root>\node_modules\PowerBI-visuals-tools\certs
    

Formato PEM

Se si usa il formato del certificato pem (Privacy Enhanced Mail), salvare il file del certificato come PowerBIVisualTest_public.crt e salvare la chiave privata come PowerBIVisualTest_private.key.

Formato PFX

Se si utilizza il formato del certificato PFX (Personal Information Exchange), salvare il file del certificato come PowerBIVisualTest_public.pfx.

Se il file di certificato PFX richiede una passphrase:

  1. Nel file di configurazione specificare:

    \PowerBI-visuals-tools\config.json
    
  2. server Nella sezione specificare la passphrase sostituendo il <segnaposto YOUR PASSPHRA edizione Standard>:

    "server":{
        "root":"webRoot",
        "assetsRoute":"/assets",
        "privateKey":"certs/PowerBIVisualTest_private.key",
        "certificate":"certs/PowerBIVisualTest_public.crt",
        "pfx":"certs/PowerBIVisualTest_public.pfx",
        "port":"8080",
        "passphrase":"<YOUR PASSPHRASE>"
    }