Поделиться через


Создание SSL-сертификата

В этой статье описывается, как создавать и устанавливать ssl-сертификаты для визуальных элементов Power BI и устанавливать их.

Для процедур Windows, macOS X и Linux необходимо установить пакет Visual Tools pbiviz Power BI. Дополнительные сведения см. в статье "Настройка среды" для разработки визуального элемента Power BI.

Создание сертификата в Windows

Чтобы создать сертификат с помощью командлета New-SelfSignedCertificate PowerShell в Windows 8 и более поздних версиях, выполните следующую команду:

pbiviz --install-cert

Для Windows 7 pbiviz средство требует, чтобы программа OpenSSL была доступна из командной строки. Чтобы установить OpenSSL, перейдите в двоичные файлы OpenSSL или OpenSSL.

Создание сертификата в macOS X

Программа OpenSSL обычно доступна в операционной системе macOS X.

Вы также можете установить служебную программу OpenSSL, выполнив любую из следующих команд:

  • Из диспетчера пакетов Brew :

    brew install openssl
    brew link openssl --force
    
  • С помощью MacPorts:

    sudo port install openssl
    

После установки служебной программы OpenSSL выполните следующую команду, чтобы создать новый сертификат:

pbiviz --install-cert

Создание сертификата в Linux

Программа OpenSSL обычно доступна в операционной системе Linux.

Прежде чем начать, выполните следующие команды, чтобы убедиться openssl в том, что они certutil установлены.

which openssl
which certutil

Если openssl и certutil не установлены, установите и libnss3 служебные openssl программы.

Создание файла конфигурации SSL

Создайте файл с именем /tmp/opensl.cnf , содержащий следующий текст:

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

[ alt_names ]
DNS.1=localhost

Создание корневого центра сертификации

Чтобы создать корневой центр сертификации (ЦС) для подписывания локальных сертификатов, выполните следующие команды:

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

Создание сертификата для localhost

Чтобы создать сертификат для localhost использования созданного ЦС и opensl.cnf, выполните следующие команды:

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

Добавление корневых сертификатов

Чтобы добавить корневой сертификат в базу данных браузера Chrome, выполните следующую команду:

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

Чтобы добавить корневой сертификат в базу данных браузера Mozilla Firefox, выполните следующую команду:

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

Чтобы добавить корневой сертификат на уровне системы, выполните следующую команду:

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

Удаление корневых сертификатов

Чтобы удалить корневой сертификат, выполните следующую команду:

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

Создание сертификата вручную

Вы также можете создать SSL-сертификат вручную с помощью OpenSSL. Вы можете указать любые средства для создания сертификатов.

Если программа OpenSSL уже установлена, создайте новый сертификат, выполнив следующую команду:

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

Обычно можно найти PowerBI-visuals-tools сертификаты веб-сервера, выполнив одну из следующих команд:

  • Для глобального экземпляра средств:

    %appdata%\npm\node_modules\PowerBI-visuals-tools\certs
    
  • Для локального экземпляра средств:

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

Формат PEM

Если вы используете формат сертификата расширенной почты (PEM), сохраните файл сертификата как PowerBIVisualTest_public.crt и сохраните закрытый ключ как PowerBIVisualTest_private.key.

Формат PFX

Если вы используете формат сертификата PFX, сохраните файл сертификата как PowerBIVisualTest_public.pfx.

Если файл сертификата PFX требует парольной фразы:

  1. В файле конфигурации укажите:

    \PowerBI-visuals-tools\config.json
    
  2. server В разделе укажите парольную фразу, заменив <заполнитель 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>"
    }