- Windows 2000/2003 ตระกูล Server ติดตั้ง IIS
- OpenSSL tools
- openssl.conf
- ติดตั้ง OpenSSL tool ครับโดยติดตั้งแบบ default จะได้ไฟล์ทั้งหมดอยู่ที่ C:\OpenSSL
- คลิ๊กขวาที่ My Computer เลือก Properties แล้วคลิ๊กที่ Advance tab คลิ๊กที่ปุ่ม Environment variables ในส่วนของ System variables ให้เลือกที่คำว่า path แล้วคลิ๊กที่ edit เพิ่ม ;C:\OpenSSL\bin เข้าไปใน path แล้วคลิ๊ก OK
- สร้าง directory C:\ssl เพื่อใช้งาน
- ทำการ copy ไฟล์ openssl.conf เข้าไปยัง C:\ssl
- ทำการสร้าง directory C:\ssl\certs , C:\ssl\keys , C:\ssl\requests
- สร้างไฟล์เปล่าชื่อ database.txt โดยใช้คำสั่ง C:\ssl> copy con database.txt กด enter แล้วกด Ctrl+Z
- สร้างไฟล์ชื่อ serial.txt โดยใช้คำสั่ง C:\ssl> copy con serial.txt กด enter แล้วพิมพ์ 01 แล้วกด enter แล้วกด Ctrl+Z
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
- เปิด Internet Service Manager
- เลือกไปยังเว็บไซท์ที่ต้องการติดตั้ง SSL
- คลิ๊กที่ tab Directory security
- ภายในส่วน Secure communication คลิ๊กที่ Server Certificate จะเข้าสู่ Server Certificate Request Wizard
- คลิ๊ก Next เลือกที่ Create a new certificate แล้วคลิ๊ก Next
- เลือกที่ Prepare a new request but send it later แล้วคลิ๊ก Next
- ใส่ชื่อเว็บไซท์เลือก bit length เป็น 1024 แล้วคลิ๊ก Next
- ใส่ชื่อองค์กรและแผนกแล้วคลิ๊ก Next
- ใส่ชื่อเว็บไซท์แล้วคลิ๊ก Next
- เลือกประเทศ, จังหวัด, อำเภอ/เขต แล้วคลิ๊ก Next
- ใส่ข้องมูลผู้ดูแลระบบ หรือผู้ดูแลเว็บไซท์
- เลือกให้เซฟไปที่ C:\ssl\requests\certreq.txt แล้วคลิ๊ก Next
- จะมีหน้าจอแสดงข้อมูลที่กรอกไปแล้วคลิ๊ก Next เราก็จะได้ไฟล์ certreq.txt
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
- เปิด Internet Service Manager
- คลิ๊กขวาที่เว็บไซท์ที่ต้องการติดตั้ง
- เลือกที่ tab Directory security คลิ๊กที่ Server Certificate จะมี Dialog ของ Website Certificate Wizard คลิ๊ก Next
- เลือกที่ Process the pending request and install the certificate คลิ๊ก Next
- ทำการเลือกไปยัง C:\ssl\certs\iisx509.cer คลิ๊ก Next
- จะมีหน้าต่างแสดงรายละเอียดของ certificate คลิ๊ก Next ไปจนจบ
Mon 13 Mar 2006 11:58:04
ขอบคุณครับ
Mon 17 Apr 2006 18:56:09
ไม่ทราบว่า File openssl.conf หามาจากไหนครับ ช่วยหน่อยครับ กำลังลองอยู่
ขอบคุณครับ
ซึ่งใน Windows จะเห็นเป็นไฟล์ SpeedDial ครับ
Tue 18 Apr 2006 10:41:59
ผมโหลดจาก Link Openssl tool ข้างบนไม่ได้ จึงไปลองหาโหลดที่อื่นได้เป็น Win32OpenSSL-v0.9.8a.exe ไม่ทราบว่าใช้ได้เหมือนกันหรือป่าวครับ เพราะว่าผมยังหาไฟล์ openssl.conf ใน C:\OpenSSL\bin ไม่เจอ ถ้าไงรบกวนส่งเมล์ให้หน่อยได้ไหมครับ
Thu 20 Apr 2006 12:43:45
ไม่ทราบว่าเป็นเพราะWin32OpenSSL-v0.9.8a.exe หรือปล่าวครับ
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'
ส่วนคำถามข้างล่างให้ลองเปิด openssl.conf ด้วย notepad ดูครับ หาบรรทัดที่เขียนว่า
new_certs_dir = $dir/newcerts # default place for new certs.
เปลี่ยนเป็น directory ที่ต้องการได้เลยครับ
ต้องขออภัยด้วยครับ ตอนนี้เครื่องนี้ไม่สามารถทำการทดลองให้ได้ครับ เนื่องจาก library บางตัวชนกันครับ
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'
มันขึ้นงี้มันจะมีปัญหาหรือปล่าวครับ ถ้าไงก็ขอขอบคุณมากครับสำหรับทุกคำตอบที่ช่วยแก้ให้
ปัญหาที่โชว์นี้ไม่แน่ใจว่าเกี่ยวกับการ encryption ในตัว certificate หรือไม่ครับ ถ้าเป็นการ random เกี่ยวกับการ encryption ก็อาจจะเป็นปัญหาเนื่องจากการ decryption ออกมาไม่ถูกต้องก็ได้ครับ ต้องขออภัยด้วยครับ
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 โหลดไม่ได้ครับช่วยอัพโหลดทีครับ
Wed 17 Jan 2007 16:23:33
???????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????? ?????? ?????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????
Thu 18 Jan 2007 15:52:04
คือผมอยากทำการให้เว็ปผมเป็น https โดยใช้ module ของ openssl ต้องทำอย่างไรบ้างครับรบกวนด้วยครับ ขอบคุณสำหรับไฟล์ openssl.conf ด้วยครับแต่ไฟล์ใหม่เลเวลใช้ตเองไปเปลี่ยน path ต่างๆ ในไฟล์ก่อนครับถึงจะใช้ได้ อ่อหากมีวิธีลงopenssl บนลินุกซ์ ก็รบกวนบอกวิธีด้วยนะครับไม่ได้ก็ไม่เป็นไรครับขอบคุณครับ
Thu 25 Jan 2007 16:19:31
Sun 28 Jan 2007 12:10:56
การ decrypt certificate นั้นเพื่ออะไรครับ เนื่องจากถ้านำไปติดตั้งในโปรแกรมที่รองรับ ssl โปรแกรมจะรับ cert และส่ง key ไปยัง client เพื่อใช้ในการสื่อสารเท่านั้นครับ
ไม่ทราบว่าติดปัญหาส่วนใดครับ เรียกใช้ 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 บอกผมก็สบายเลย
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 เป็นบ้างครับ
ถ้าคุณเข้าใจว่า protocol นั้นๆสื่อสารแบบใด มี header อะไรบ้าง soap จะเป็นส่วนของ body ซึ่งเป็น string ในรูปแบบเอกสาร XML เท่านั้นครับ
Tue 3 Jul 2007 00:16:23
โหลดเวบไหนคับ บอกผมที อยากใช้มันมาก แล้วจะบอกว่าใช้งัยนะคับ
Tue 3 Jul 2007 00:17:35
โหลด Ethereal เวบไหนอ่าคับ บอกทีนะคับ
Tue 3 Jul 2007 09:33:00
Wed 18 Jul 2007 10:04:30
โนโตะ ทำเรื่อง คล้ายเราเลย ยังไงช่วยบอกเมล์เธอหน่อยได้ไหม

















