สร้างใบรับรอง SSLCreate an SSL certificate

บทความนี้อธิบายวิธีการสร้างและติดตั้งใบรับรอง Secure Sockets Layer (SSL) สำหรับวิชวล Power BIThis article describes how to generate and install Secure Sockets Layer (SSL) certificates for Power BI visuals.

สำหรับกระบวนการ Windows, macOS X และ Linux คุณต้องมีเครื่องมือวิชวล Power BI pbiviz แพคเกจที่ติดตั้งFor the Windows, macOS X, and Linux procedures, you must have the Power BI Visual Tools pbiviz package installed. สำหรับข้อมูลเพิ่มเติมดู ตั้งค่าสภาพแวดล้อมของนักพัฒนาFor more information, see Set up the developer environment.

สร้างใบรับรองบน WindowsCreate a certificate on Windows

หากต้องการสร้างใบรับรองโดยใช้ PowerShell New-SelfSignedCertificate cmdlet บน Windows 8 และใหม่กว่า ให้เรียกใช้คำสั่งต่อไปนี้:To generate a certificate by using the PowerShell cmdlet New-SelfSignedCertificate on Windows 8 and later, run the following command:

pbiviz --install-cert

สำหรับ Windows 7 pbiviz เครื่องมือจำเป็นต้องใช้โปรแกรมอรรถประโยชน์ OpenSSL เพื่อให้มีใช้จากบรรทัดคำสั่งFor Windows 7, the pbiviz tool requires the OpenSSL utility to be available from the command line. หากต้องการติดตั้ง OpenSSL ให้ไปที่ OpenSSL หรือ OpenSSL BinariesTo install OpenSSL, go to OpenSSL or OpenSSL Binaries.

สำหรับข้อมูลเพิ่มเติมและคำแนะนำสำหรับการติดตั้งใบรับรอง ดู สร้างและติดตั้งใบรับรองสำหรับ WindowsFor more information and instructions for installing a certificate, see Create and install a certificate for Windows.

สร้างใบรับรองบน macOS XCreate a certificate on macOS X

โปรแกรมอรรถประโยชน์ OpenSSL มักจะพร้อมใช้งานในระบบปฏิบัติการ macOS XThe OpenSSL utility is usually available in the macOS X operating system.

คุณยังสามารถติดตั้งโปรแกรมอรรถประโยชน์ OpenSSL โดยการเรียกใช้คำสั่งต่อไปนี้:You can also install the OpenSSL utility by running either of the following commands:

  • จากตัวจัดการแพ็คเกจ BrewFrom the Brew package manager:

    brew install openssl
    brew link openssl --force
    
  • โดยใช้ MacPorts:By using MacPorts:

    sudo port install openssl
    

หลังจากที่คุณติดตั้งโปรแกรมอรรถประโยชน์ OpenSSL ให้เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างใบรับรองใหม่:After you install the OpenSSL utility, run the following command to generate a new certificate:

pbiviz --install-cert

สำหรับข้อมูลเพิ่มเติมและคำแนะนำให้ดู สร้างและติดตั้งใบรับรองสำหรับ OS XFor more information and instructions, see Create and install a certificate for OS X.

สร้างใบรับรองบน LinuxCreate a certificate on Linux

โปรแกรมอรรถประโยชน์ OpenSSL มักจะพร้อมใช้งานในระบบปฏิบัติการ LinuxThe OpenSSL utility is usually available in the Linux operating system.

ก่อนที่คุณจะเริ่มต้นให้เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบให้แน่ใจว่ามีการติดตั้ง openssl และ certutil:Before you begin, run the following commands to make sure openssl and certutil are installed:

which openssl
which certutil

หากไม่ได้ติดตั้ง openssl และ certutil ให้ติดตั้งโปรแกรมอรรถประโยชน์ openssl และ libnss3If openssl and certutil aren't installed, install the openssl and libnss3 utilities.

สร้างไฟล์การกำหนดค่า SSLCreate the SSL configuration file

สร้างไฟล์ชื่อ /tmp/openssl.cnf ที่มีข้อความต่อไปนี้:Create a file called /tmp/openssl.cnf that contains the following text:

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

[ alt_names ]
DNS.1=localhost

สร้างผู้ออกใบรับรองหลักGenerate root certificate authority

ในการสร้างผู้ออกใบรับรองหลัก (CA) ในการลงชื่อใบรับรองในเครื่องให้เรียกใช้คำสั่งต่อไปนี้:To generate root certificate authority (CA) to sign local certificates, run the following commands:

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

สร้างใบรับรองสำหรับ localhostGenerate a certificate for localhost

หากต้องการสร้างใบรับรองสำหรับ localhost โดยใช้ CA และ openssl ที่สร้างขึ้นให้เรียกใช้คำสั่งต่อไปนี้:To generate a certificate for localhost using the generated CA and openssl.cnf, run the following commands:

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

เพิ่มใบรับรองหลักAdd root certificates

หากต้องการเพิ่มใบรับรองหลักลงในฐานข้อมูลของเบราว์เซอร์ Chrome ให้เรียกใช้:To add a root certificate to the Chrome browser's database, run:

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

หากต้องการเพิ่มใบรับรองหลักลงในฐานข้อมูลของเบราว์เซอร์ Mozilla Firefox ให้เรียกใช้:To add a root certificate to the Mozilla Firefox browser's database, run:

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

เมื่อต้องการเพิ่มใบรับรองหลักทั้งระบบ ให้เรียกใช้:To add a system-wide root certificate, run:

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

เอาใบรับรองหลักออกRemove root certificates

เมื่อต้องการเอาใบรับรองหลักออก ให้เรียกใช้:To remove a root certificate, run:

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

สร้างใบรับรองด้วยตนเองGenerate a certificate manually

คุณยังสามารถสร้างใบรับรอง SSL ด้วยตนเองโดยใช้ OpenSSLYou can also generate an SSL certificate manually using OpenSSL. คุณสามารถระบุเครื่องมือใดๆ ในการสร้างใบรับรองของคุณYou can specify any tools to generate your certificates.

ถ้ามีการติดตั้งโปรแกรมอรรถประโยชน์ OpenSSL อยู่แล้วให้สร้างใบรับรองใหม่โดยการเรียกใช้:If the OpenSSL utility is already installed, generate a new certificate by running:

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

โดยปกติแล้วคุณสามารถค้นหาใบรับรองเว็บเซิร์ฟเวอร์ PowerBI-visuals-tools ได้โดยการเรียกใช้คำสั่งต่อไปนี้:You can usually find the PowerBI-visuals-tools web server certificates by running one of the following commands:

  • สำหรับอินสแตนซ์ส่วนกลางของเครื่องมือ:For the global instance of the tools:

    %appdata%\npm\node_modules\PowerBI-visuals-tools\certs
    
  • สำหรับอินสแตนซ์เฉพาะที่ของเครื่องมือ:For the local instance of the tools:

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

รูปแบบ PEMPEM format

ถ้าคุณใช้รูปแบบใบรับรอง Privacy Enhanced Mail (PEM) บันทึกไฟล์ใบรับรองเป็น PowerBIVisualTest_public.crt และบันทึกคีย์ส่วนตัวเป็น PowerBIVisualTest_private.keyIf you use the Privacy Enhanced Mail (PEM) certificate format, save the certificate file as PowerBIVisualTest_public.crt, and save the private key as PowerBIVisualTest_private.key.

รูปแบบ PFXPFX format

ถ้าคุณใช้รูปแบบใบรับรอง Personal Information Exchange (PFX) บันทึกไฟล์ใบรับรองเป็น PowerBIVisualTest_public.pfxIf you use the Personal Information Exchange (PFX) certificate format, save the certificate file as PowerBIVisualTest_public.pfx.

หากไฟล์ใบรับรอง PFX ของคุณต้องการวลีรหัสผ่านให้ทำดังนี้:If your PFX certificate file requires a passphrase:

  1. ในไฟล์กำหนดค่า ให้ระบุว่า:In the config file, specify:

    \PowerBI-visuals-tools\config.json
    
  2. ในส่วน server ระบุวลีรหัสผ่านโดยการแทนที่ข้อความตัวอย่าง <YOUR PASSPHRASE> placeholder:In the server section, specify the passphrase by replacing the <YOUR PASSPHRASE> placeholder:

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

ขั้นตอนถัดไปNext steps