Udostępnij za pośrednictwem


Tworzenie certyfikatu SSL

W tym artykule opisano sposób generowania i instalowania certyfikatów secure Sockets Layer (SSL) dla wizualizacji usługi Power BI.

W przypadku procedur systemu Windows, macOS X i Linux musisz mieć zainstalowany pakiet narzędzi Visual Tools pbiviz usługi Power BI. Aby uzyskać więcej informacji, zobacz Konfigurowanie środowiska do tworzenia wizualizacji usługi Power BI.

Tworzenie certyfikatu w systemie Windows

Aby wygenerować certyfikat przy użyciu polecenia cmdlet New-SelfSignedCertificate programu PowerShell w systemie Windows 8 lub nowszym, uruchom następujące polecenie:

pbiviz --install-cert

W przypadku systemu Windows 7 pbiviz narzędzie wymaga, aby narzędzie OpenSSL było dostępne w wierszu polecenia. Aby zainstalować program OpenSSL, przejdź do pozycji Pliki binarne OpenSSL lub OpenSSL.

Tworzenie certyfikatu w systemie macOS X

Narzędzie OpenSSL jest zwykle dostępne w systemie operacyjnym macOS X.

Możesz również zainstalować narzędzie OpenSSL, uruchamiając jedną z następujących poleceń:

  • Z poziomu menedżera pakietów Brew:

    brew install openssl
    brew link openssl --force
    
  • Za pomocą programu MacPorts:

    sudo port install openssl
    

Po zainstalowaniu narzędzia OpenSSL uruchom następujące polecenie, aby wygenerować nowy certyfikat:

pbiviz --install-cert

Tworzenie certyfikatu w systemie Linux

Narzędzie OpenSSL jest zwykle dostępne w systemie operacyjnym Linux.

Przed rozpoczęciem uruchom następujące polecenia, aby upewnić się, że openssl zostały certutil zainstalowane:

which openssl
which certutil

Jeśli openssl program i certutil nie jest zainstalowany, zainstaluj openssl narzędzia i libnss3 .

Tworzenie pliku konfiguracji SSL

Utwórz plik o nazwie /tmp/openssl.cnf zawierający następujący tekst:

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

[ alt_names ]
DNS.1=localhost

Generowanie głównego urzędu certyfikacji

Aby wygenerować główny urząd certyfikacji w celu podpisania certyfikatów lokalnych, uruchom następujące polecenia:

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

Generowanie certyfikatu dla hosta lokalnego

Aby wygenerować certyfikat dla localhost użycia wygenerowanego urzędu certyfikacji i openssl.cnf, uruchom następujące polecenia:

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

Dodawanie certyfikatów głównych

Aby dodać certyfikat główny do bazy danych przeglądarki Chrome, uruchom polecenie:

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

Aby dodać certyfikat główny do bazy danych przeglądarki Mozilla Firefox, uruchom polecenie:

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

Aby dodać certyfikat główny dla całego systemu, uruchom polecenie:

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

Usuwanie certyfikatów głównych

Aby usunąć certyfikat główny, uruchom polecenie:

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

Ręczne generowanie certyfikatu

Certyfikat SSL można również wygenerować ręcznie przy użyciu protokołu OpenSSL. Możesz określić dowolne narzędzia do generowania certyfikatów.

Jeśli narzędzie OpenSSL jest już zainstalowane, wygeneruj nowy certyfikat, uruchamiając polecenie:

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

Zazwyczaj certyfikaty serwera internetowego można znaleźć PowerBI-visuals-tools , uruchamiając jedno z następujących poleceń:

  • W przypadku globalnego wystąpienia narzędzi:

    %appdata%\npm\node_modules\PowerBI-visuals-tools\certs
    
  • W przypadku lokalnego wystąpienia narzędzi:

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

Format PEM

Jeśli używasz formatu certyfikatu Privacy Enhanced Mail (PEM), zapisz plik certyfikatu jako PowerBIVisualTest_public.crt i zapisz klucz prywatny jako PowerBIVisualTest_private.key.

Format PFX

Jeśli używasz formatu certyfikatu wymiany informacji osobistych (PFX), zapisz plik certyfikatu jako PowerBIVisualTest_public.pfx.

Jeśli plik certyfikatu PFX wymaga hasła:

  1. W pliku konfiguracji określ:

    \PowerBI-visuals-tools\config.json
    
  2. server W sekcji określ hasło, zastępując <symbol zastępczy YOUR PASSPHRASE>:

    "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>"
    }