โดยหากไม่ทำการ Add Certificate ก่อนจะทำให้เวลา Tomcat คุยไปยัง Server ผ่าน SSL แล้วจะเกิด Exception ขึ้น (SSLHandshakeException) หรือคุยกันไม่รู้เรื่องนั่นเอง
ยกตัวอย่างเช่นบน Alfresco เมื่อเรา config smtps ไปยัง google mail แล้วเราไม่ได้ใส่ Certificate ก็จะเกิด Error SunCertPathBuilderException ขึ้นซึ่งสามารถแก้ไขได้โดย
- Request ไปยัง SMTP Server ของ Google ด้วยคำสั่ง openssl s_client -connect smtp.gmail.com:465
- Save Certificate เป็นนามสกุล .cert หรือ .pem เช่น gmail.cert โดยให้ใช้ Content ตั้งแต่ ---BEGIN CERTIFICATE--- จนถึง ---END CERTIFICATE---
- สั่ง Import Certificate ลงไปใน keystore ที่ใช้รัน Tomcat ของตัว Alfresco โดยใช้คำสั่ง
sudo keytool -import -alias smtp.gmail.com -keystore /path/to/keystore -file /path/to/gmail.cert
เช่นsudo /opt/alfresco-4.2.c/java/bin/keytool -import -alias smtp.gmail.com -keystore /opt/alfresco-4.2.c/java/jre/lib/security/cacerts -file /home/admins/gmail.cert - ตรวจสอบว่า Certificate ที่เรา add เข้าไปนั้นอยู่ใน keystore แล้วหรือยังด้วยคำสั่ง
keytool -list -v -keystore /path/to/keystore เช่น /opt/alfresco-4.2.c/java/bin/keytool -list -v -keystore /opt/alfresco-4.2.c/java/jre/lib/security/cacerts
โดยเมื่อ Import สำเร็จแล้ว สั่ง Restart Tomcat ก็จะไม่ Error SunCertPathBuilderException อีกต่อไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น