Criar um certificado SSL

Este artigo descreve como gerar e instalar certificados SSL (Secure Sockets Layer) para visuais do Power BI.

Para os procedimentos do Windows, macOS X e Linux, você deve ter o pacote de Ferramentas pbiviz Visuais do Power BI instalado. Para obter mais informações, consulte Configurar seu ambiente para desenvolver um visual do Power BI.

Criar um certificado no Windows

Para gerar um certificado usando o cmdlet New-SelfSignedCertificate do PowerShell no Windows 8 e posterior, execute o seguinte comando:

pbiviz --install-cert

Para o Windows 7, a ferramenta requer que o pbiviz utilitário OpenSSL esteja disponível na linha de comando. Para instalar o OpenSSL, vá para OpenSSL ou OpenSSL Binaries.

Criar um certificado no macOS X

O utilitário OpenSSL está normalmente disponível no sistema operativo macOS X.

Você também pode instalar o utilitário OpenSSL executando um dos seguintes comandos:

  • Do gerenciador de pacotes Brew :

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

    sudo port install openssl
    

Depois de instalar o utilitário OpenSSL, execute o seguinte comando para gerar um novo certificado:

pbiviz --install-cert

Criar um certificado no Linux

O utilitário OpenSSL está geralmente disponível no sistema operacional Linux.

Antes de começar, execute os seguintes comandos para se certificar openssl de que estão certutil instalados:

which openssl
which certutil

Se openssl e não estiverem instalados, instale o openssl e libnss3 certutil utilitários.

Criar o arquivo de configuração SSL

Crie um arquivo chamado /tmp/openssl.cnf que contém o seguinte texto:

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

[ alt_names ]
DNS.1=localhost

Gerar autoridade de certificação raiz

Para gerar autoridade de certificação (CA) raiz para assinar certificados locais, execute os seguintes comandos:

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

Gerar um certificado para localhost

Para gerar um certificado para localhost usar a autoridade de certificação gerada e openssl.cnf, execute os seguintes comandos:

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

Adicionar certificados raiz

Para adicionar um certificado raiz ao banco de dados do navegador Chrome, execute:

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

Para adicionar um certificado raiz ao banco de dados do navegador Mozilla Firefox, execute:

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

Para adicionar um certificado raiz em todo o sistema, execute:

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

Remover certificados raiz

Para remover um certificado raiz, execute:

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

Gerar um certificado manualmente

Você também pode gerar um certificado SSL manualmente usando OpenSSL. Você pode especificar quaisquer ferramentas para gerar seus certificados.

Se o utilitário OpenSSL já estiver instalado, gere um novo certificado executando:

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

Normalmente, você pode encontrar os certificados do PowerBI-visuals-tools servidor Web executando um dos seguintes comandos:

  • Para a instância global das ferramentas:

    %appdata%\npm\node_modules\PowerBI-visuals-tools\certs
    
  • Para a instância local das ferramentas:

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

Formato PEM

Se você usar o formato de certificado PEM (Privacy Enhanced Mail), salve o arquivo de certificado como PowerBIVisualTest_public.crt e salve a chave privada como PowerBIVisualTest_private.key.

Formato PFX

Se você usar o formato de certificado PFX (Troca de Informações Pessoais), salve o arquivo de certificado como PowerBIVisualTest_public.pfx.

Se o seu arquivo de certificado PFX exigir uma senha:

  1. No arquivo de configuração, especifique:

    \PowerBI-visuals-tools\config.json
    
  2. server Na seção , especifique a senha substituindo o espaço reservado <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>"
    }