พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
Webserver article / การติดตั้ง OpenSSL กับ IIS
Administrator
Thu 28 Jul 2005 13:27:30
สิ่งที่ต้องเตรียม
  1. Windows 2000/2003 ตระกูล Server ติดตั้ง IIS
  2. OpenSSL tools
  3. openssl.conf
เริ่มทำการตั้งค่า OpenSSL tool กันก่อนครับ
  1. ติดตั้ง OpenSSL tool ครับโดยติดตั้งแบบ default จะได้ไฟล์ทั้งหมดอยู่ที่ C:\OpenSSL
  2. คลิ๊กขวาที่ My Computer เลือก Properties แล้วคลิ๊กที่ Advance tab คลิ๊กที่ปุ่ม Environment variables ในส่วนของ System variables ให้เลือกที่คำว่า path แล้วคลิ๊กที่ edit เพิ่ม ;C:\OpenSSL\bin เข้าไปใน path แล้วคลิ๊ก OK
  3. สร้าง directory C:\ssl เพื่อใช้งาน
  4. ทำการ copy ไฟล์ openssl.conf เข้าไปยัง C:\ssl
  5. ทำการสร้าง directory C:\ssl\certs , C:\ssl\keys , C:\ssl\requests
  6. สร้างไฟล์เปล่าชื่อ database.txt โดยใช้คำสั่ง C:\ssl> copy con database.txt กด enter แล้วกด Ctrl+Z
  7. สร้างไฟล์ชื่อ serial.txt โดยใช้คำสั่ง C:\ssl> copy con serial.txt กด enter แล้วพิมพ์ 01 แล้วกด enter แล้วกด Ctrl+Z
ติดตั้ง Certificate Authority (CA) เลยครับ
    1. ก่อนอื่นเราต้องสร้าง private key ขนาด 1024-bits เพื่อใช้ในการสร้าง CA
C:\ssl> openssl genrsa -des3 -out C:\ssl\keys\ca.key 1024
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
............................................++++++
.......++++++
e is 65537 (0x10001)
Enter pass phrase for C:\ssl\keys\ca.key: <- ใส่ password
Verifying - Enter pass phrase for C:\ssl\keys\ca.key: <-ใส่ password อีกครั้ง
เราจะได้ไฟล์ ca.key ซึ่งเป็น private key อยู่ที่ C:\ssl\keys

    2. สร้าง master certificate จาก private key ที่ได้สร้างไว้
C:\ssl> openssl req -config openssl.conf  -new -x509 -days 1001 -keys C:\ssl\keys\ca.key -out C:\ssl\certs\ca.cer
Enter pass phrase for C:\ssl\keys\ca.key: <- ใส่ password
ํYou are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or DN
There are quite a few fields but you can leave some blank
For some fields there will be default value,
If you enter '.', the field will be left blank.
---
Country Name (2 letter code) []: th <- ใส่ชื่อประเทศ ในที่นี้ประเทศไทย
State or Province Name (Full name) []:Bangkok <- ใส่ชื่อรัฐหรือจังหวัดชื่อเต็ม ในที่นี้กรุงเทพ
Locality Name (eg, city) []:Bangsue <- ใส่ชื่อเมือง/อำเภอ ในที่นี้บางซื่อ
Organization Name (eg, company) []:Modoeye.com <- ใส่ชื่อองค์กร
Organizational Unit Name (eg, section) []:Programming <- ใส่ชื่อแผนก
Common Name (eg, your websites domain name) []:ssl.modoeye.com <-ใส่ domain name
Email address []:webmaster@modoeye.com <- ใส่อีเมล์

การสร้าง IIS Certificate Request
  1. เปิด Internet Service Manager
  2. เลือกไปยังเว็บไซท์ที่ต้องการติดตั้ง SSL
  3. คลิ๊กที่ tab Directory security
  4. ภายในส่วน Secure communication คลิ๊กที่ Server Certificate จะเข้าสู่ Server Certificate Request Wizard
  5. คลิ๊ก Next เลือกที่ Create a new certificate แล้วคลิ๊ก Next
  6. เลือกที่ Prepare a new request but send it later แล้วคลิ๊ก Next
  7. ใส่ชื่อเว็บไซท์เลือก bit length เป็น 1024 แล้วคลิ๊ก Next
  8. ใส่ชื่อองค์กรและแผนกแล้วคลิ๊ก Next
  9. ใส่ชื่อเว็บไซท์แล้วคลิ๊ก Next
  10. เลือกประเทศ, จังหวัด, อำเภอ/เขต แล้วคลิ๊ก Next
  11. ใส่ข้องมูลผู้ดูแลระบบ หรือผู้ดูแลเว็บไซท์
  12. เลือกให้เซฟไปที่ C:\ssl\requests\certreq.txt แล้วคลิ๊ก Next
  13. จะมีหน้าจอแสดงข้อมูลที่กรอกไปแล้วคลิ๊ก Next เราก็จะได้ไฟล์ certreq.txt
Sign Certificate Request
    1.Sign Certificate Request
C:\ssl> openssl ca -policy policy_anything -config openssl.conf -certs certs/ca.cer -in requests/certreq.txt -keyfile keys/ca.key -days 365 -out certs/iis.cer
Using configuration from openssl.conf
Loading 'screen' to random state - done
Enter PEM pass phrase: <-ใส่ password
Check that the request matches the signature
Signature ok
The subjects Distinguished Name is as follows
commonName   :PRINTABLE:'ssl.modoeye.com'
organizationUnitName   :PRINTABLE:'Programming'
organizationName   :PRINTABLE:'Modoeye.com'
localityName   :PRINTABLE:'Bangsue'
stateOrProvinceName   :PRINTABLE:'Bangkok'
countryName   :PRINTABLE:'TH'
Certificate is to be certified until JUL 28 01:13:14 2006 GMT (365 days)
Sign the certificate? [y/n]:y <- ใส่ y

1 out of 1 certificate requests certificate, commit? [y/n]:y <-ใส่ y
Write out database with 1 new entries
Data Base Updated

    2.เปลี่ยน Certificate ที่ได้ลงทะเบียนแล้วเป็นระบบ X509 เพื่อใช้ติดตั้งกับ IIS
C:\ssl> openssl x509 -in certs/iis.cer -out certs/iisx509.cer
เราจะได้ไฟล์ iisx509.cer เพื่อใช้ติดตั้งเข้ากับ IIS

ทำการติดตั้ง Certificate เข้ากับ IIS
  1. เปิด Internet Service Manager
  2. คลิ๊กขวาที่เว็บไซท์ที่ต้องการติดตั้ง
  3. เลือกที่ tab Directory security คลิ๊กที่ Server Certificate จะมี Dialog ของ Website Certificate Wizard คลิ๊ก Next
  4. เลือกที่ Process the pending request and install the certificate คลิ๊ก Next
  5. ทำการเลือกไปยัง C:\ssl\certs\iisx509.cer คลิ๊ก Next
  6. จะมีหน้าต่างแสดงรายละเอียดของ certificate คลิ๊ก Next ไปจนจบ
เท่านี้ IIS ของเราก็จะสามารถใช้งาน SSL โดยใช้ module ของ OpenSSL ได้แล้วครับ
daemon
daemon
Mon 13 Mar 2006 11:58:04

ขอบคุณครับ

pays
pays
Mon 17 Apr 2006 18:56:09

ไม่ทราบว่า File openssl.conf  หามาจากไหนครับ ช่วยหน่อยครับ กำลังลองอยู่

ขอบคุณครับ

Administrator
Mon 17 Apr 2006 20:09:19
ตอน Download OpenSSL tool มาจะมีไฟล์นี้ให้อยู่แล้วครับ ถ้าทำการติดตั้งตามปกติแล้วจะอยู่ที่ C:\OpenSSL\bin ครับ
ซึ่งใน Windows จะเห็นเป็นไฟล์ SpeedDial ครับ
pays
pays
Tue 18 Apr 2006 10:41:59

ผมโหลดจาก Link Openssl tool ข้างบนไม่ได้ จึงไปลองหาโหลดที่อื่นได้เป็น Win32OpenSSL-v0.9.8a.exe ไม่ทราบว่าใช้ได้เหมือนกันหรือป่าวครับ เพราะว่าผมยังหาไฟล์ openssl.conf  ใน C:\OpenSSL\bin ไม่เจอ ถ้าไงรบกวนส่งเมล์ให้หน่อยได้ไหมครับ

Administrator
Tue 18 Apr 2006 14:18:26
ผมทำการอัพโหลดไฟล์ตัวอย่างไฟล์ OpenSSL.conf ให้แล้วนะครับอย่างไรลองดูครับ
pays
pays
Thu 20 Apr 2006 12:43:45
ติดตั้ง Certificate Authority (CA)  ตรงข้อ 2  มันฟ้อง unknow option -keys ไม่ทราบว่าเกิดจากอะไรครับ  C:\ssl> openssl req -config openssl.conf  -new -x509 -days 1001 -keys C:\ssl\keys\ca.key -out C:\ssl\certs\ca.cer
 ไม่ทราบว่าเป็นเพราะWin32OpenSSL-v0.9.8a.exe หรือปล่าวครับ 
pays
pays
Thu 20 Apr 2006 15:34:40

Sign Certificate Request
    1.Sign Certificate Request
เมื่อทำแล้วมันเป็นงี้ แก้ได้ไงครับ

C:\ssl>openssl ca -policy policy_anything -config openssl.conf -cert certs/ca.ce
r -in requests/certreq.txt -keyfile keys/ca.key -days 365 -out certs/iis.cer
Using configuration from openssl.conf
Loading 'screen' into random state - done
Enter pass phrase for keys/ca.key:
I am unable to access the C:\CA\newcerts directory
C:\CA\newcerts: No such file or directory
unable to write 'random state'

Administrator
Thu 20 Apr 2006 20:20:01
คำสัง option -keys ลองเปลี่ยนเป็น -key ดูครับ

ส่วนคำถามข้างล่างให้ลองเปิด openssl.conf ด้วย notepad ดูครับ หาบรรทัดที่เขียนว่า
new_certs_dir    = $dir/newcerts        # default place for new certs.
เปลี่ยนเป็น directory ที่ต้องการได้เลยครับ

ต้องขออภัยด้วยครับ ตอนนี้เครื่องนี้ไม่สามารถทำการทดลองให้ได้ครับ เนื่องจาก library บางตัวชนกันครับ
pays
pays
Fri 21 Apr 2006 11:21:00

ลองแก้ค่าต่างๆในopenssl.conf  แล้วทำตามขั้นตอนจนกระทั่งถึง

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
unable to write 'random state'

มันขึ้นงี้มันจะมีปัญหาหรือปล่าวครับ   ถ้าไงก็ขอขอบคุณมากครับสำหรับทุกคำตอบที่ช่วยแก้ให้

Administrator
Fri 21 Apr 2006 11:57:40
ผมไม่แน่ใจนะครับ ตอนที่ทอลองใช้กับ 0.9.7 ก็ไม่มีปัญหาครับ ตอนลองกับ 0.9.8 นี่ยังไม่สำเร็จครับ ติดเรื่อง Library อยู่
ปัญหาที่โชว์นี้ไม่แน่ใจว่าเกี่ยวกับการ encryption ในตัว certificate หรือไม่ครับ ถ้าเป็นการ random เกี่ยวกับการ encryption ก็อาจจะเป็นปัญหาเนื่องจากการ decryption ออกมาไม่ถูกต้องก็ได้ครับ ต้องขออภัยด้วยครับ
yon
yon
Mon 15 May 2006 17:39:49
สงสัย จริง ๆ ครับ ทำตามที่ท่าน บอก ทุกอย่าง แต่ก็ ยังไม่ได้เลยตั้งแต่ การ
ติดตั้ง Certificate Authority (CA) เลยครับ
    1. ก่อนอื่นเราต้องสร้าง private key ขนาด 1024-bits เพื่อใช้ในการสร้าง CA
C:\ssl> openssl genrsa -des3 -out C:\ssl\keys\ca.key 1024
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
สุดหล่อ
สุดหล่อ
Sat 23 Dec 2006 21:44:15
ขอบคุณมากครับ ทำได้สำเร็จแล้ว 
โนโตะ
โนโตะ
Wed 10 Jan 2007 16:41:12

ไฟล์ openssl.conf โหลดไม่ได้ครับช่วยอัพโหลดทีครับ

Administrator
Thu 11 Jan 2007 11:47:19
upload ให้แล้วครับแต่จำไม่ได้ว่าใช่ไฟล์นี้หรือเปล่า ขออภัยด้วยครับ เร็วๆนี้จะทำการ update article ทั้งหมดให้อีกทีครับ
noto
noto
Wed 17 Jan 2007 16:23:33
???????????????????????????????????????????????????????????? ???????????????????????????????????????????????? Sign Certificate Request
???????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????? ?????? ?????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????   ??????????????????????????????
โนโตะ
โนโตะ
Thu 18 Jan 2007 15:52:04

คือผมอยากทำการให้เว็ปผมเป็น https โดยใช้ module ของ openssl ต้องทำอย่างไรบ้างครับรบกวนด้วยครับ ขอบคุณสำหรับไฟล์ openssl.conf ด้วยครับแต่ไฟล์ใหม่เลเวลใช้ตเองไปเปลี่ยน path ต่างๆ ในไฟล์ก่อนครับถึงจะใช้ได้ อ่อหากมีวิธีลงopenssl บนลินุกซ์ ก็รบกวนบอกวิธีด้วยนะครับไม่ได้ก็ไม่เป็นไรครับขอบคุณครับ

Administrator
Fri 19 Jan 2007 14:48:09
บน linux ง่ายกว่าอีกครับ อยู่ที่ว่าใช้ linux distribution ใดและ apache เวอร์ชั่นใดครับ
Teamza
Teamza
Thu 25 Jan 2007 16:19:31
การ decryption certificate ทำไงครับใครรู้ตอบหน่อยครับพอดีผมจะเอาไปใช้กับ OS ให้มันเป็น cert ของเวปอะครับ พอดีใน OS นี้มันฟ้องให้ decrypt certificate ก่อนอะครับ ใครรู้บอกหน่อย
โนโตะ
โนโตะ
Sun 28 Jan 2007 12:10:56
สวัสดีครับ ตอนนี้ผมมีปัญหานะครับคือผมจะต้องทำการใช้ให้เว็บ.netเรียกใช้web service โดยต้องใช้sllด้วย การที่จะใช้sslผ่านเว็บเซอร์วิสต้องทำเช่นไรบ้างครับ รบกวนทีนะครับ โปรเจคจบผมใกล้จะส่งแล้วแต่ผมติดปัญหาตรงนี้ รบกวนช่วยผมทีนะครับ   ขอบคุณครับ
Administrator
Sun 28 Jan 2007 18:35:47
เรียนคุณ Teamza
การ decrypt certificate นั้นเพื่ออะไรครับ เนื่องจากถ้านำไปติดตั้งในโปรแกรมที่รองรับ ssl โปรแกรมจะรับ cert และส่ง key ไปยัง client เพื่อใช้ในการสื่อสารเท่านั้นครับ
Administrator
Sun 28 Jan 2007 18:48:45
เรียนคุณโนโตะ
ไม่ทราบว่าติดปัญหาส่วนใดครับ เรียกใช้ webservices อื่นที่อยู่บน SSL หรือ ต้องการเอา webservices ไปวางบน SSL ครับ
เนื่องจากเราสามารถเรียกใช้งาน webservices ที่อยู่บน SSL ได้เลยครับ ส่วนถ้า webservices เราต้องการให้อยู่บน SSL ก็สามารถเขียนการใช้งานได้ปกติครับตัว web server จะทำการ encrypt/decrypt ให้อัตโนมัติครับ
โนโตะ
โนโตะ
Mon 29 Jan 2007 09:04:42

ขออธิบายโปรเจคผมนะครับ คือผมต้องจำลองเว็บ2เว็บ เว็บแรกเว็บร้านค้าใช้ .net สร้างrunบน window อีกเว็บคือเว็บธนาคารใช้ java run บน linux เว็บธนาคารผมมี่ส่วนที่ทำเป็นเว็บเซอร์วิส คือมีฟังก์ชันการหักเงินจากการหักเงินในบัญชีฟังก์ชันต่างๆนี้ทำเป็นไฟล์wsdl ให้เว็บร้านค้าเรียกใช้ผ่านเว็บเซอร์วิส เว็บทั้งสองต้องทำการรักษาความปลอดภัยโดยใช้sslและเมื่อเว็บร้านค้าเรียกใช้ฟังก์ชันจากเว็บเซอร์วิสธนาคารคือต้องส่งพารามิเตอร์ซึ่งเป็นข้อมูลต่างๆไปตรงส่วนนี้ต้องทำการเข้ารหัสด้วย ผมเลยไม่แน่ใจว่าตรงส่วนนี้มันสามารถเข้ารหัสโดยอัตโนม้ติเลยรึเปล่าต้อง config อะไรเพิ่มไหมครับแล้วจะเช็คยังไงครับ ขอบคุณ Adminstratorมากครับ โปรเจคผมต้องเสร็จกลางเดือนนี้แล้วครับ T___T แนะนำทีครับ ถ้าเป็นอย่างที่ Admin บอกผมก็สบายเลย

Administrator
Mon 29 Jan 2007 11:57:30
ไม่ต้องทำการเข้ารหัสใดครับ เป็นหน้าที่ของ webserver ทั้งหมดในการนำข้อมูลเราไปเข้ารหัสและถอดรหัสกลับเพื่อส่งมายัง script ครับ

SSL เป็น protocol ในการสื่อสารที่เข้ารหัสระหว่า client กับ server เท่านั้นครับ
โนโตะ
โนโตะ
Wed 31 Jan 2007 14:30:41
ขอบคุณมากครับเด๋วผมลองทำนะครับ
โนโตะ
โนโตะ
Fri 2 Mar 2007 11:49:11

สวัสดีครับถ้ามผมต้องการดู package ที่รับส่งกันบนเว็บเซอร์วิสนะครับจะใช้โปรแกรมอะไรดีครับ

โนโตะ
โนโตะ
Fri 2 Mar 2007 11:54:47

คือลองโหลดEthereal มานะครับแต่ใช้ไม่เป็นใครใช้ดู soap เป็นบ้างครับ

Administrator
Mon 5 Mar 2007 20:25:00
Soap เป็น protocol ในการสื่อสารในรูปแบบ XML ครับ ซึ่งจะต้องเกาะไปบน protocol มาตรฐานการสื่อสารอื่นๆอีกทีครับ โดยส่วนใหญ่จะส่งไปบน HTTP ซึ่งก็ไม่ได้จำกัดเฉพาะ HTTP เท่านั้นยังมี protocol อื่นๆที่สามารถใช้งานได้ครับ ถ้าต้องการจับก็ต้องดูว่าคุณใช้ protocol มาตรฐานใดในการสื่อสารแล้วไปจับที่ส่วนนั้นครับ

ถ้าคุณเข้าใจว่า protocol นั้นๆสื่อสารแบบใด มี header อะไรบ้าง soap จะเป็นส่วนของ body ซึ่งเป็น string ในรูปแบบเอกสาร XML เท่านั้นครับ
ปฏิภาณ
ปฏิภาณ
Tue 3 Jul 2007 00:16:23

โหลดเวบไหนคับ บอกผมที อยากใช้มันมาก แล้วจะบอกว่าใช้งัยนะคับ

ปฏิภาณ
ปฏิภาณ
Tue 3 Jul 2007 00:17:35

โหลด Ethereal เวบไหนอ่าคับ บอกทีนะคับ

webmaster
webmaster
Tue 3 Jul 2007 09:33:00
ตามนี้เลยครับ http://www.ethereal.com/
kukkik
kukkik
Wed 18 Jul 2007 10:04:30

โนโตะ  ทำเรื่อง  คล้ายเราเลย   ยังไงช่วยบอกเมล์เธอหน่อยได้ไหม

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login