Author Topic: generate certificate for https website on freebsd , centos , debian  (Read 33970 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
generate certificate for https website on freebsd , centos , debian
« on: มกราคม 23, 2011, 10:09:09 PM »
ปกติเรา สามารถ gen (.csr) request ssl cert ได้

ปกติแล้วผมจะใช้ openssl command ครับจัดยังไงนั้นไปดูกันเลย

โดยเริ่มสั่ง ตามนี้

ทำการสร้างคีย์ Key สำหรับ SSL ที่เป็น Key length ขนาด 2048 bit เพราะทาง NIST องค์กรจัดเรื่อง Key ssl
แนะนำให้ใช้เป็นขนาด 2048 bit ก่อน Jan 2014 เพื่อความปลอดภัยครับ ทำไมถึงเป็นเช่นนั้นจะอธิบายต่อไปในกระทู้ล่างๆ ครับผม
และก็ทำให้ support sha256

#openssl req -new -newkey rsa:2048 -nodes -sha256 -out web.csr
ใส่ข้อมูลต่างๆ ลงไปเช่น พวก ประเทศ ที่อยู่ office

ในกรณีถ้าไม่ได้ ไปซื้อ cert เพื่อความน่าเชื่อถือแล้ว แต่ว่าแค่ gen ใช้ในเครื่องก็สามารถ gen crt
ได้ดังนี้ ครับ
#openssl x509 -req -sha256 -days 365 -in /root/server.csr -signkey /root/server.key -out /root/server.crt
#/usr/bin/openssl req -x509 -sha256 -days 9000 -nodes -newkey rsa:4096 -keyout /etc/exim.key -out /etc/exim.cert

แล้ว copy ไปใน path ที่ไฟล์ extra/httpd-ssl.conf เรียกใช้งานดังนี้

SSLCertificateFile "/usr/local/etc/apache22/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/server.key"

เสร็จทำการ restart apache 1 ครั้ง
#/usr/local/etc/rc.d/apache22 restart

เสร็จแล้วลอง เข้าไปดู ข้อมูลใน certificate ได้ครับ

ถ้าจะสร้างเป็นแบบ SAN cert ที่มีหลายชื่อ ให้ใช้แบบนี้ครับ
#openssl req -new -newkey rsa:2048 -nodes -sha256 -out web.csr -config san.cnf

โดยที่ใน san.cnf มี configure ดังนี้
[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = TH
countryName_default = TH
stateOrProvinceName = Bangkok
stateOrProvinceName_default = Bangkok
localityName = Pakkred
localityName_default = Pakkred
organizationalName = Packetlove
organizationalName_default = Packetlove
organizationalUnitName = IT
organizationalUnitName_default = IT
commonName                 = golfreeze.com
commonName_max = 64

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1   = 2golfreeze2.com
DNS.2   = prim.com
DNS.3   = pkl.com
DNS.4   = domain4.com
« Last Edit: ธันวาคม 26, 2020, 10:38:03 AM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #1 on: มกราคม 23, 2011, 10:09:19 PM »
ในกรณี ที่ซื้อ cert จาก พวก เว็บ verisign , godaddy ไรงี้ ให้เราทำการ gen ค่าดังนี้

#openssl req -new -newkey rsa:2048 -nodes -sha256 -out web.csr
ใส่ค่า passparse
ใส่ข้อมูลต่างๆ ลงไปเช่น พวก ประเทศ ที่อยู่ office

แล้ว ส่งค่า web.csr เป็นไฟล์ cerificate request ไปให้ทางนั้น เค้าจะ gen server.crt มาให้เรา
แล้วเราก็นำมาเก็บไว้ใน path ที่ httpd-ssl.conf เรียกใช้ ครับ
« Last Edit: สิงหาคม 03, 2015, 01:49:38 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #2 on: มิถุนายน 21, 2011, 08:49:10 AM »
ถ้าในกรณีที่ เราตั้งให้ apache ทำงานกับ pacemaker และก่อนหน้านั้นเราทำการตั้งค่า passparse ของ ตัว certificate ไว้นะครับ

จะทำให้เกิด error ประมาณว่า

"Init: Unable to read pass phrase [Hint: key introduced or changed before restart?]"

เกิดขึ้นที่ error log ของ ssl ได้ครับ

เราต้องทำการ แทรกตัว passparse key ลงไปกับตัว certificate key ครับโดยวิธีนี้

[root@xxx conf]# cd /etc/httpd/conf/ssl.key
[root@xxx ssl.key]# cp server.key server.key.new
[root@xxx ssl.key]# openssl rsa -in server.key.new -out server.key

ทำการใส่ค่า passparse ที่เราทำการตั้งไว้ก่อนหน้านี้ครับ
Enter pass phrase for server.key.new:
writing RSA key
[root@xxx ssl.key]# vi server.key

เราจะได้ไฟล์ server.key ที่มีการเพิ่ม passparse ไว้ข้างในแล้วครับ สามารถนำไฟล์นี้ ไปใช้ใน config "ssl.conf" ได้เลยครับผม

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #3 on: กุมภาพันธ์ 22, 2013, 12:00:00 PM »
เข้าไปเชครายละเอียด ของ cert ผ่าน command

เชคผ่าน Certificate Signing Request (CSR)
#openssl req -text -noout -verify -in CSR.csr

เชคผ่าน private key
#openssl rsa -in privateKey.key -check

เชคผ่าน certificate file
#openssl x509 -in certificate.crt -text -noout

เชคผ่าน PKCS#12 file (.pfx or .p12)
#openssl pkcs12 -info -in keyStore.p12

เชคผ่าน client cert ที่เว็บไซท์  www.paypal.com รวมถึงดู intermediate cert
#openssl s_client -connect www.paypal.com:443
#openssl s_client -connect smtp.ntt.co.th:465 | more

หลังจากเจอข้อมูล certificate สามารถ copy cert นั้นใส่ file notepad แล้วเปิดได้ -> c.crt
ก็จะทราบข้อมูลเพิ่มเติมได้ครับ
« Last Edit: ธันวาคม 09, 2014, 09:57:21 AM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #4 on: พฤษภาคม 14, 2013, 09:52:47 AM »
 :) ปกติแล้วการ generate certificate เพื่อใช้งานกับ website หนึ่งนั้น
จะมีวิธีรูปแบบที่ใช้ encryption นั้นต่างๆ กันไป คือสร้างโดย คำสั่ง openssl บ้าง
ซึ่งก็จะแบ่งเป็นแบบ เข้ารหัส 128bit, 192bit , 256bit ซึ่งแต่ละตัวก็จะมีรอบของการเข้ารหัสที่เพิ่มไปเรื่อยๆ

เช่น 128 bit ก็จะมีการทำรหัสถึง 10 รอบ (cycle of repitation)
ซึ่งแต่ละรอบเองก็จะทำ
1.Key expansion
2.Initial round
3.Rounds
4.Final round

ซึ่งปัจจุบันการที่จะ hack certificate file ที่ gen เป็นขนาด 1024 bit ต้องใช้เวลานานถึง 6,000 ล้านๆปีเลยทีเดียว โดยผ่านวิธีการ brute force
ซึ่งถ้าไม่เป็นข้อมูลที่โคตรลับจริงๆ คงไม่เสียเวลาขนาดนั้น แท้ที่จริงการ hack ก็แค่ตอบสนองความมีอยู่ของความเป็นตัวเป็นตน สนองตัณหาความอยากของมนุษย์นั่นเอง
หลงว่าร่างกายจิตใจนี้เป็น ของเราจริงๆ ต้องการสร้างความยิ่งใหญ่ ให้กับตัวเอง แต่เมื่อท้ายที่สุดก็ต้องยอมรับกับความตาย กันทุกคน
ซึ่ง พระพุทธองค์ ท่านเคยบอกไว้ ว่า "ตัณหา เสมอกับห้วงน้ำ นั้นไม่มี"

และ ณ ปัจจุบันการใช้งาน certificate file ที่ความยาว 1024 bit ก็เริ่มจะไม่เป็นที่นิยม และทาง Nist (US National Institute of Standards and Technology’s)
องค์กรที่จัดระเบียบการจัดการ เรื่อง Key ก็ออกมาแนะนำว่า 1024bit RSA key นั้นไม่ควรใช้หลังจากปี 2010 แต่ให้หันมาใช้งานเป็น แบบ 2048bit แทนครับ เพื่อความปลอดภัยยิ่งขึ้น
ซึ่งหลังจาก วันที่ 1 Jan 2014 ถ้าจะใช้งาน certificate จะต้องใช้งานเป็น 2048-bit key length เป็นอย่างน้อย
« Last Edit: พฤษภาคม 14, 2013, 10:16:30 AM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #5 on: พฤษภาคม 14, 2013, 09:54:35 AM »
##certificate แบบ key length 2048bit ดีอย่างไรอ่านดูได้ที่นี่นะ ครับผม
http://www.thawte.com/resources/2048-bit-compliance/index.html

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #6 on: พฤษภาคม 14, 2013, 10:09:38 AM »
การ Convert a DER file (.crt .cer .der) to PEM
#openssl x509 -inform der -in certificate.cer -out certificate.pem

การ Convert a PEM file to DER
#openssl x509 -outform der -in certificate.pem -out certificate.der

การ Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM
#openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes


golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #7 on: พฤษภาคม 14, 2013, 10:20:58 AM »
#Market share ในส่วนของ Certificate Provider ในปัจจุบัน
    Symantec (which owns VeriSign, Thawte and Geotrust) with 42.9% market share
    Comodo with 26%
    GoDaddy with 14%
    GlobalSign with 7.7%

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd
« Reply #8 on: พฤษภาคม 14, 2013, 02:37:28 PM »
« Last Edit: พฤษภาคม 15, 2013, 08:06:25 AM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd , centos , debian
« Reply #9 on: พฤษภาคม 16, 2013, 08:11:51 AM »
สำหรับข้อแตกต่างระหว่าง SSLv2.0 กับ SSLv3.0

ต้องพูดถึงก่อนว่า SSL คืออะไร (Secure Socket Layer) ก็เป็น ตัวแอปที่ทำการเข้ารหัสข้อมูล เพื่อเพิ่มความปลอดภัยให้กับข้อมูล ที่มีการรับส่ง ระหว่าง
ผู้ใช้บริการระบบ และ เครื่องแม่ข่ายผู้ให้บริการระบบ ต่างๆ บนระบบ internet เพราะว่าถ้าเราไม่ทำการเข้ารหัสข้อมูล จะทำให้ผู้ไม่หวังดี
เข้าถึงข้อมูลนั้น แล้วสร้างความเสียหาย ให้กับข้อมูลนั้นได้

SSLv2.0 เป็นตัวระบบที่พัฒนาขึ้นมาโดย Netscape ตั้งแต่ปี 1994
SSLv3.0 เป็นตัวระบบที่พัฒนาขึ้นในปี ต่อมา คือปี 1995 เพื่อแก้รูรั่วของโปรแกรม SSL เอง

ซึ่งในมุมมองของด้านความปลอดภัย ที่ถูกแก้ไข ก็จะมี

1. SSL version 2.0 มีช่องโหว่เกี่ยวกับเรื่องของ "man-in-the-middle" คือผู้โจมตีสามารถเข้าไปแก้ไข จำนวนบิตที่ใช้ในการเข้ารหัสได้ คือแก้เป็น 40bit
ระหว่างที่มีการส่งข้อมูลไปจากฝั่งของผู้ใช้งาน เพื่อไปยังฝั่งของเครื่องแม่ข่ายเอง แล้วนำข้อมูลที่ได้ไปแกะรหัสได้ง่ายขึ้น  โดยที่ SSLv3.0 ทำการแก้ไขช่องโหว่ตรงจุดนี้
โดยการทำ Handshake กับขั้นตอนสุดท้ายในการส่งข้อมูลไปยัง ระบบแม่ข่าย

2. SSL version 2.0 มีจุดอ่อนด้อยเรื่อง MAC construction, ซึ่งถูกปรับปรุงใน SSLversion 3.0

3. SSL 2.0 มีการส่งค่าไปกับ padding MAC เพื่อใช้ในการเข้ารหัสข้อมูล ,
แต่ยกเว้นค่า padding-length เองที่ไม่ได้ทำการเข้ารหัสตัวมันด้วย เหล่า hacker จึงสามารถลบข้อมูลในส่วนนี้ได้ ในท้ายของข้อมูล
ซึ่งจุดนี้เองถูกแก้ไขปรับปรุงใน SSL version 3.0

4. ใน SSL 3.0, ใช้วิธีการเข้ารหัสข้อมูลแบบ Hash เป็นแบบ 128 bits ซึ่งมีการทำรอบของการเข้ารหัส Key ถึง 10 รอบ
และการส่งการเข้ารหัสเอง แต่ใน SSL version 2.0 ใช้แค่การเข้ารหัสแบบ 40 bits

อ่านเพิ่มเติมได้ที่่นี่ ครับ =>
http://stason.org/TULARC/security/ssl-talk/4-11-What-is-the-difference-between-SSL-2-0-and-3-0.html#.UZQtv0qgeZQ#ixzz2TPguJ3V5
« Last Edit: พฤษภาคม 16, 2013, 08:47:44 AM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd , centos , debian
« Reply #10 on: มกราคม 07, 2014, 03:06:06 PM »
#Cert SSL ราคาถูก

https://www.servertastic.com/cs/basket.asp

#Cert SSL servertastic.com ในกรณีต้องการ re-issue certificate สามารถกรอกข้อมูล เลข order_id , mail , ชื่อweb ที่เราใช้งาน ssl ตาม URL ดังนี้
https://support.servertastic.com/how-do-i-re-issue-my-ssl-certificate/
« Last Edit: กรกฎาคม 10, 2014, 01:58:01 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd , centos , debian
« Reply #11 on: กุมภาพันธ์ 06, 2014, 04:35:19 PM »
ปกติเราสามารถ generate certificate ให้กับ domain ที่ใช้งานขึ้นต้นด้วย www. ได้
โดยการ generate .csr ที่ระบุ common name เป็น www.domain.com ดังนั้น certificate (.crt) ที่ได้รับจาก CA Provider ก็จะสามารถใช้งานได้ทั้ง

www.domain.com  และ domain.com
ครับผม

ในถรณีถ้า genereate CSR file ให้กับ Cert ที่เป็น wildcard ในส่วนของ common name ให้ระบุเป็น *.domain.com เช่นต้องการสร้าง CSR ของ wildcard domain : packetlove.com

common name จะเป็น *.packetlove.com

หรือถ้ามีกรณี อยากใช้งานเป้น wildcard ของ sub domain เช่น *.th.packetlove.com ก็จะต้องทำการ ซื้อเป็น
*.th.packetlove.com ซึ่งตัว *.packetlove.com จะไม่รองรับ
** และเวลา validate TXT จะต้องไป validate กับ root domain ก็คือ packetlove.com ด้วยทุกครั้ง **
หรือขึ้นกับ requirement ของ CA provider
« Last Edit: เมษายน 06, 2023, 12:08:39 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd , centos , debian
« Reply #12 on: กันยายน 27, 2016, 11:12:04 PM »
การสั่งซื้อ Cert Extended Validation หรือที่เรียกกันว่า EV Cert ซึ่งส่วนใหญ่จะเป็นการเพิ่มความน่าเชื่อถือให้มากขึ้นครับ
ซึ่งจะใช้กับเว็บพวก มี payment online หรือ เว็บธนาคาร ซะส่วนใหญ่ วันนี้ เลยอยากจะเล่าถึงวิธีการขอ cert แบบ EV กันครับ

ซึ่งจะมีศัพท์ทางเทคนิค อยู่ 3 ตัวหลักๆคือ
1. Requestor ซึ่งหมายถึงผู้ทำการขอ cert อาจจะเป็น reseller ที่ทำการสั่งซื้อ cert ให้ลูกค้าก็ได้ครับ
2. Subscriber หรือ Signer ซึ่งหมายถึง เจ้าของโดเมนที่ทำการสั่งซื้อ เช่น Packetlove.com จะซื้อ Cert EV ดังนั้น ควรเป็นผู้มีอำนาจในบริษัท ที่เป็นเจ้าของ domain Packetlove.com เป็นคนลงข้อมูล ชื่อ นามสกุล ของกรรมการ และ ที่อยู่ของบริษัท เป็นภาษาอังกฤษ
3. approver ซึ่งหมายถึงผู้อนุมัติให้ใช้ชื่อ domain นั้นๆ กับ cert EV ในที่นี่ก็หมายถึง ผู้มีอำนาจในบริษัท ที่เป็นเจ้าของ domain Packetlove.com เช่นกัน

เอกสารของบริษัท ที่ต้องเตรียม เพื่อทำการแปลจากภาษาไทย -> ภาษาอังกฤษ เพื่อการตรวจสอบข้อมูลโดย CA ก็จะมี
1. ใบรับรองบริษัท (นิติบุคคล) พร้อมให้กรรมการเซ็นต์ชื่อรับรอง + วันที่ + ตำแหน่ง + ตราประทับของบริษัท
2. ใบ ภพ 20 พร้อมให้กรรมการเซ็นต์ชื่อรับรอง + วันที่ + ตำแหน่ง + ตราประทับของบริษัท
แล้วทำการ สแกนข้อมูลส่งกลับให้ Requestor เพื่อทำการสั่งขอจด Cert EV ต่อไป

ขั้นตอนหลักๆจะมีดังนี้
1. ทำการยืนยันการจด EV Cert ในระบบคำขอ + generate request certificate (.csr) file พร้อมใส่ข้อมูล Cert ให้ครบ
2. ทำการตรวจเอกสารของ บริษัทที่จะจด พร้อมตรวจสอบใบรับรองบริษัท + ใบภพ 20
3. ทำการแปลเอกสารด้านบนเป็นภาษาอังกฤษ
4. หลังจากเอกสารเรียบร้อย จะมีการโทรจาก CA มายืนยันว่าทั้ง Requestor และ Approver + Signer ยืนยันการสั่งซื้อ EV Cert จริงๆ และมีตัวตนจริงๆ ใช่หรือเปล่า
5. หลังจากทุกขั้นตอนตรวจสอบเสร็จ ก็จะทำการออก Certificate ให้กับ Requestor เพื่อนำมาติดตั้งใน Web server ที่มี Openssl ทำงานอยู่ต่อไป
6. ก็เป็นอันเสร็จสิ้นครับ ทั้งหมดนี้ใช้เวลา อย่างมากสุด 5 วันทำการ อย่างเร็วสุด 3 วัน ทำการ ครับผม

ซึ่งทางบริษัทแพ็คเกตเลิฟ ไอทีเซอร์วิส แอนด์ คอนซัลติ้ง จำกัด สามารถทำการจด EV Cert ให้กับท่านที่สนใจได้
พร้อมให้คำปรึกษาในการดำเนินการครับ : )

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd , centos , debian
« Reply #13 on: มกราคม 11, 2017, 02:44:58 PM »
##Convert from .crt to .pem
cat server.crt server.key > server.includesprivatekey.pem

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: generate certificate for https website on freebsd , centos , debian
« Reply #14 on: มีนาคม 20, 2017, 10:01:10 AM »
ทำไมต้องใช้งาน Intermediate Certificate หรือ Chain Certificate SSL

โดยปกติแล้วคุณไม่ต้องเรียกใช้งาน chain certificate ssl ด้วยซ้ำ
เพราะความเป็นจริงแล้วส่วนที่จำเป็นสุดของ การใช้งาน SSL ในเว็บเซิฟเวอร์คือต้องมี
SSLCertificateFile กับ SSLCertificateKey เพื่อการตรวจสอบ

แต่ในปัจจุบันนี้ถ้าคุณใช้งาน Certificate กับตัว WebServer: Apache นั้น เวลามี connection เข้ามาจาก Browser ของ client
โดยปกติแล้ว ฝั่งเว็บเซิฟเวอร์จะให้ข้อมูลตรวจสอบ 3way-handcheck ที่ถูกต้อง
คือตัว SSLCertificateFile เพื่อแจ้งว่าเป็น CA เจ้าใด , Cert หมดอายุหรือยัง , ถูกเพิกถอนใบรับรองหรือไม่

ซึ่งในส่วนของ Browser เองก็มีการเก็บข้อมูลของ CA cert(Root และ Intermediate) ขนาดใหญ่อยู่แล้วในตัว Browser แต่ละตัว
ซึ่งจะมีการ matching check กับทาง CA ว่า Cert ที่ฝั่งเว็บเซิฟเวอร์มีอยู่ ณ ปัจจุบันนั้นถูกต้องเพียงใด ซึ่งบางครั้ง Browser เอง
ไม่สามารถตรวจสอบได้ เนื่องจากว่าใน Browser ไม่มี root CA หรือ Intermediate Cert file 
ที่สามารถคุยกับ Certificate ที่อยู่ในเว็บเซิฟเวอร์ของคุณ
ดังนั้น Intermediate Cert file จึงเข้ามามีบทบาทในส่วนนี้ และเพื่อให้ Browser เข้าใจถึงความสัมพันธ์ที่แท้จริงของการตรวจสอบ
Chain cert : Certificate Key -> Intermediate file -> Certificate file และทำให้แก้ไขปัญหา เรื่องนี้ได้ครับ

เพื่อให้สะดวกขึ้นในคอนฟิคของ Webserver เช่น Apache เองจึงมี directive ที่แนะนำให้เพิ่มลงไปเป็น

SSLCertificateChainFile
หรือไม่ก็
SSLCACertificateFile
เป็นต้น
ซึ่งข้อมูลของสอง directive นี้สามารถ download เพิ่มเติมได้จาก CA Provider ตอนที่เราเจนสร้างขึ้นมาครับ

เช่นตัวอย่างคอนฟิคนี้จะมีการระบุครบทั้งสามเลยครับผม
Listen 443

SSLCertificateFile /home/web/certs/domainpkl.public.crt
SSLCertificateKeyFile /home/web/certs/domainpkl.private.key
SSLCertificateChainFile /home/web/certs/domainpkl.intermediate.crt

ซึ่งในส่วนนี้ถ้าลูกค้าใช้งาน SSL หรือติดตั้ง SSL กับทางบริษัทแพ็คเกตเลิฟฯ ทางเราจะดำเนินการให้เองครับ
ลูกค้าแค่จ่ายเงินแล้วจบ SSL จะถูกติดตั้งด้วยความถูกต้องและเพิ่มความน่าเชื่อให้กับเว็บไซต์ของท่าน ครับผม
ทีมงาน Packetlove.com
« Last Edit: มีนาคม 20, 2017, 10:22:45 AM by golfreeze »