แชร์ผ่าน


สร้างใบรับรอง SSL

บทความนี้อธิบายวิธีการสร้างและติดตั้งใบรับรอง Secure Sockets Layer (SSL) สําหรับวิชวล Power BI

สําหรับกระบวนการ Windows, macOS X และ Linux คุณต้องมีแพคเกจเครื่องมือ pbiviz วิชวล Power BI ติดตั้งอยู่ สําหรับข้อมูลเพิ่มเติม ดู ตั้งค่าสภาพแวดล้อมของคุณสําหรับการพัฒนาวิชวล Power BI

สร้างใบรับรองบน Windows

หากต้องการสร้างใบรับรองโดยใช้ PowerShell cmdlet New-SelfSignedCertificate บน Windows 8 และใหม่กว่า ให้เรียกใช้คําสั่งต่อไปนี้:

pbiviz --install-cert

สําหรับ Windows 7 pbiviz เครื่องมือจําเป็นต้องใช้โปรแกรมอรรถประโยชน์ OpenSSL เพื่อให้สามารถใช้งานได้จากบรรทัดคําสั่ง หากต้องการติดตั้ง OpenSSL ให้ไปที่ OpenSSL หรือ OpenSSL Binaries

สร้างใบรับรองบน 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 ให้opensslติดตั้งโปรแกรมอรรถประโยชน์ และlibnss3

สร้างไฟล์การกําหนดค่า SSL

สร้างไฟล์ชื่อ /tmp/openssl.cnf ที่มีข้อความต่อไปนี้:

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

[ alt_names ]
DNS.1=localhost

สร้างผู้ออกใบรับรองหลัก

ในการสร้างผู้ออกใบรับรองหลัก (CA) ในการลงชื่อใบรับรองภายในเครื่อง ให้เรียกใช้คําสั่งต่อไปนี้:

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 โดยใช้ CA และ openssl.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

ถ้าคุณใช้รูปแบบใบรับรอง Privacy Enhanced Mail (PEM) บันทึกไฟล์ใบรับรองเป็น PowerBIVisualTest_public.crt และบันทึกคีย์ส่วนตัวเป็น PowerBIVisualTest_private.key

รูปแบบ PFX

หากคุณใช้รูปแบบใบรับรอง Personal Information Exchange (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>"
    }