發表文章

目前顯示的是有「dtls」標籤的文章

[Security] openssl test (續二)

繼 上一篇 ,事實上openssl在0.9.8x版似乎是不支援DTLS,而到了1.0.0版終於開始支援DTSL,但我印象中要到1.0.0d才解掉了DTLS大多數的Bug。而x509的bug則是在0.9.8i才解決,否則會無法使用x509 server端的cert key。 基礎的加密、解密過程我就不作解釋,有興趣的朋友可以研究一下密碼學的發展跟運作。 當初我為了讓x509的功能可以正常運作,就把0.9.8e版的openssl升級到0.9.8i,就把一版psk key可以運作的版本加到我們的Device中。 而讓我最頭痛的問題是將openssl 0.9.8i版加入DTLS的功能。 我們生來只在學校讀過密碼學,對openssl極為陌生,於是我從測試命令開始學習。在 上一篇 大至瞭解了指令後,我們便可以透過 #openssl s_server -h的方式得到s_server的參數說明。 就在這時候我該拿出程式說明一下了,程式是怎麼開始進到s_server呢? 我們把從openssl組織download下來的壓縮檔解開後,可以看到一大堆資料夾,我們測試角度來看,只需要關注apps/。因為大多數的測試指令都是由裡面的openssl.c開始帶起。 而整個openssl加密的原則跟運作都是被寫在ssl/中的程式中。 (待續)

[Security] openssl test (一)

有時候真的會一時懶散,就忘了把東西紀錄下來。 20111124 - 我記得剛進公司時,就被安排了,解決openssl的bug,跟增加一些小東西進去,基本上這東西我們公司似乎沒人用過,頂多只是拿它的測試程式來做一些簡單的測試。所以我拿到程式時的第一次件事,當然就是測試。 以下是psk + dtls的測試command,基本上 -psk_hint這個指令似乎是有問題的,後來我是自己修改後,才可以用,一般來說Ubuntu搭載預設是用openssl-0.9.8o,而我修改的版本是0.9.8i,所以不盡相同,據我所瞭解,openssl-1.0.0d的版本後,似乎才開始支援psk + dtls。 openssl s_server \ -psk_hint Brian \ -psk 1a2b3c \ -debug -state -dtls1 openssl s_client -connect localhost:4433 \ -psk 1a2b3c \ -psk_identity Brian \ -debug -state -dtls1 理論上如果你只是要試試看你的x509的憑證是不是work,那你首先要先持有三把憑證,因為我的測試都必須是server對client或client對server,所以基本上openssl裡面就會附贈一個預設憑證是server.pem、client.pem和root.pem,基本上server端要放server.pem跟root.pem,client端則是client.pem跟root.pem。但是必須說明的是,據說0.9.8i版以前的版本,在x509 + dtls是有問題的。 <待續>