<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    零全零美(www.zzgwt.com)
    生活中的很多事情,并不像If...Else那么簡單!
    posts - 96,comments - 52,trackbacks - 0
    openssl簡介-入門
    實現了SSL的軟件不多,但都蠻優秀的。首先,netscape自己提出來的概念,當然自己會實現一套了。netscape的技術蠻優秀的,不過我沒用過他們的ssl-toolkit.甚至連名字都沒搞清楚。
    1995年,eric.young開始開發openssl, 那時候叫ssleay.一直到現在,openssl還在不停的修改和新版本的發行之中。openssl真夠大的,我真佩服eric的水平和興趣。這些open/free的斗士的精神是我寫這個系列的主要動力,雖然寫的挺煩的。
    ps: eric現在去了RSA公司做,做了一個叫SSL-C的toolkit, 其實和openssl差不多。估計應該比openssl穩定,區別是這個是要銀子的,而且幾乎所有低層的函數都不提供直接調用了。那多沒意思。
    去www.openssl.org down openssl吧,最新的是0.9.6版。
    安裝是很簡單的。我一直用的是sun sparc的機器,所以用sun sparc的機器做例子。
    gunzip -d openssl.0.9.6.tar.gz
    tar -xf openssl.0.9.6.tar
    mv openssl.0.9.6 openssl
    cd openssl
    ./configure --prefix=XXXXX --openssldir=XXXXXXXX
    (這里prefix是你想安裝openssl的地方, openssldir就是你tar開的openssl源碼的地方。好象所有的出名點的free software都是這個操行,configure, make , make test, make install, 搞定。)
    ./make(如果機器慢,這一步的時候可以去洗個澡,換套衣服)
    ./make test
    ./make install
    OK, 如果路上沒有什么問題的話,搞定。
    經常有人報bug, 在hp-ux, sgi上裝openssl出問題,我沒試過,沒發言權。
    現在可以開始玩openssl了。
    注意: 我估計openssl最開始是在linux下開發的。大家可以看一看在linxu下有這么一個文件:/dev/urandom, 在sparc下沒有。這個文件有什么用?你可以隨時找它要一個隨機數。在加密算法產生key的時候,我們需要一顆種子:seed。這個seed就是找/dev/urandom要的那個隨機數。那么在sparc下,由于沒有這么一個設備,很多openssl的函數會報錯:"PRNG not seeded". 解決方法是:在你的~/.profile里面添加一個變量$RANDFILE, 設置如下:
    $RANDFILE=$HOME/.rnd
    然后在$HOME下vi .rnd, 隨便往里面亂輸入一些字符,起碼倆行。
    很多openssl的函數都會把這個文件當seed, 除了openssl rsa, 希望openssl盡快修改這個bug.
    如果用openssl做toolkit編程, 則有其他不太安全的解決方法。以后講到openssl編程的章節會詳細介紹。
    先生成自己的私有密鑰文件,比如叫server.key
    openssl genrsa -des3 -out server.key 1024
    genras表示生成RSA私有密鑰文件,-des3表示用DES3加密該文件,1024是我們的key的長度。一般用512就可以了,784可用于商業行為了,1024可以用于軍事用途了。
    當然,這是基于現在的計算機的速度而言,可能沒過幾年1024是用于開發測試,2048用于一般用途了。
    生成server.key的時候會要你輸入一個密碼,這個密鑰用來保護你的server.key文件,這樣即使人家偷走你的server.key文件,也打不開,拿不到你的私有密鑰。
    openssl rsa -noout -text -in server.key
    可以用來看看這個key文件里面到底有些什么東西(不過還是看不懂)
    如果你覺得server.key的保護密碼太麻煩想去掉的話:
    openssl rsa -in server.key -out server.key.unsecure
    不過不推薦這么做

    下一步要得到證書了。得到證書之前我們要生成一個Certificate Signing Request.
    CA只對CSR進行處理。
    openssl req -new -key server.key -out server.csr
    生成CSR的時候屏幕上將有提示,依照其指示一步一步輸入要求的信息即可.
    生成的csr文件交給CA簽名后形成服務端自己的證書.怎么交給CA簽名?
    自己去www.verisign.com慢慢看吧。

    如果是自己玩下,那么自己來做CA吧。openssl有很簡單的方法做CA.但一般只好在開發的時候或者自己玩的時候用,真的做出產品,還是使用正規的CA簽發給你的證書吧
    在你make install之后,會發現有個misc的目錄,進去,運行CA.sh -newca,他會找你要CA需要的一個CA自己的私有密鑰密碼文件。沒有這個文件?按回車創建,輸入密碼來保護這個密碼文件。之后會要你的一個公司信息來做CA.crt文件。最后在當前目錄下多了一個./demoCA這樣的目錄../demoCA/private/cakey.pem就是CA的key文件啦,
    ./demoCA/cacert.pem就是CA的crt文件了。把自己創建出來的server.crt文件copy到misc目錄下,mv成newreq.pem,然后執行CA.sh -sign, ok,
    得到回來的證書我們命名為server.crt.

    看看我們的證書里面有些什么吧
    openssl x509 -noout -text -in server.crt
    玩是玩過了,openssl的指令繁多,就象天上的星星。慢慢一個一個解釋吧。

    posted on 2009-11-27 17:32 零全零美 閱讀(425) 評論(0)  編輯  收藏 所屬分類: 安全相關
    主站蜘蛛池模板: 青柠影视在线观看免费| 国产成人久久精品亚洲小说| 热99RE久久精品这里都是精品免费 | 免费福利资源站在线视频| 国产精品色午夜免费视频| 苍井空亚洲精品AA片在线播放| 国产成人免费片在线视频观看| 色偷偷尼玛图亚洲综合| mm1313亚洲国产精品美女| 免费无码婬片aaa直播表情| 亚洲国产一区二区视频网站| 中文字幕手机在线免费看电影| 亚洲精品美女久久久久99| 久久99热精品免费观看牛牛| 亚洲成人在线免费观看| 无码中文字幕av免费放| 久久人午夜亚洲精品无码区| 亚洲不卡无码av中文字幕| 成人毛片100免费观看| 日产亚洲一区二区三区| 天堂在线免费观看中文版| 无码免费又爽又高潮喷水的视频| 亚洲人成网亚洲欧洲无码久久| 99精品免费观看| 亚洲人AV在线无码影院观看| 亚洲片一区二区三区| 久久免费国产视频| 亚洲一久久久久久久久| 亚洲精品一级无码鲁丝片 | 114一级毛片免费| 亚洲精品又粗又大又爽A片| 亚洲欧洲日本在线| 95免费观看体验区视频| 亚洲精品乱码久久久久久V| 亚洲综合在线另类色区奇米| 国产成人精品久久免费动漫| 日韩精品无码永久免费网站| 亚洲精品成人网站在线播放| 国产一级做a爱免费视频| 久久aa毛片免费播放嗯啊| 久久久久亚洲AV无码去区首|