最近處理的一個feature,
要求透過HTTPS送出一些資料給另一台server,
並且必須驗證對方的SSL憑證。
在Client端(Python)選用pycurl這個lib,
由於另一端的API也還在開發中,
所以就自己另外寫了一個dummy server,
使用self-signed certificate來測試配對,
並且提供相對應的API來模擬互動。
以下是小範圍測試的時候使用的Script,dummy server則是用node.js隨手兜的。
步驟概述如下:
1. 做一把ssl key,如果已經有了就不用做了
2. /usr/bin/openssl req -new -key ssl.key -out server.csr -config localhost.conf
其實我跟node.js不算熟,為何dummy server會用node.js?
剛好那天早上起床,朋友問我
「node.js可以做什麼?」
想著想著進辦公室剛好又看到旁邊同事桌上正好擺著node.js的書,
就爬了一下stackoverflow兜出了這個剛好夠用的工具。
幾年前第一次探索node.js,
試過用node.js搭配redis.io, mongodb做了個聊天室server,
另一頭則是html5+jQuery ui做出一些會在畫面上走來走去的「對畫框」
(對就真的這麼無聊)
實在是很不適應callback又callback的箭頭狀code啊....
(不過現在有promise可以解決這件事了我知道....)
這幾年node.js變成顯學當初應該多看兩眼的
要求透過HTTPS送出一些資料給另一台server,
並且必須驗證對方的SSL憑證。
在Client端(Python)選用pycurl這個lib,
由於另一端的API也還在開發中,
所以就自己另外寫了一個dummy server,
使用self-signed certificate來測試配對,
並且提供相對應的API來模擬互動。
以下是小範圍測試的時候使用的Script,dummy server則是用node.js隨手兜的。
步驟概述如下:
1. 做一把ssl key,如果已經有了就不用做了
2. /usr/bin/openssl req -new -key ssl.key -out server.csr -config localhost.conf
(localhost.conf是用來省略產生csr過程中一直回答問題的步驟,詳細內容請見
http://spin.atomicobject.com/2014/05/12/openssl-commands/ )
3. /usr/bin/openssl x509 -req -days 365 -in server.csr -signkey ssl.key -out server.crt
4. /usr/bin/node http_server.js
5. openssl s_client -connect localhost:443 -showcerts
6. 把-----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE----- 之間那一段貼到rootca.pem裡
7. /usr/bin/python pycurl_verify_ssl_cert.py
其實我跟node.js不算熟,為何dummy server會用node.js?
剛好那天早上起床,朋友問我
「node.js可以做什麼?」
想著想著進辦公室剛好又看到旁邊同事桌上正好擺著node.js的書,
就爬了一下stackoverflow兜出了這個剛好夠用的工具。
幾年前第一次探索node.js,
試過用node.js搭配redis.io, mongodb做了個聊天室server,
另一頭則是html5+jQuery ui做出一些會在畫面上走來走去的「對畫框」
(對就真的這麼無聊)
實在是很不適應callback又callback的箭頭狀code啊....
(不過現在有promise可以解決這件事了我知道....)
這幾年node.js變成顯學當初應該多看兩眼的
留言
張貼留言