青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

openssl生成pem

Posted on 2010-05-14 10:05 S.l.e!ep.¢% 閱讀(995) 評論(0)  編輯 收藏 引用

openssl生成pem

?
使用OpenSSL生成證書

首先得安裝OpenSSL軟件包openssl,安裝了這個軟件包之后,我們可以做這些事情:
o Creation of RSA, DH and DSA Key Parameters # 創建密鑰 key
o Creation of X.509 Certificates, CSRs and CRLs # 創建證書
o Calculation of Message Digests??????????????? #
o Encryption and Decryption with Ciphers # 加密、解密
o SSL/TLS Client and Server Tests??????? # SSL 服務器端/客戶端測試
o Handling of S/MIME signed or encrypted Mail # 處理簽名或加密了的郵件

1、生成RSA密鑰的方法

openssl genrsa -des3 -out privkey.pem 2048
這個命令會生成一個2048位的密鑰,同時有一個des3方法加密的密碼,如果你不想要每次都輸入密碼,可以改成:
openssl genrsa -out privkey.pem 2048
建議用2048位密鑰,少于此可能會不安全或很快將不安全。
2、生成一個證書請求
openssl req -new -key privkey.pem -out cert.csr
這個命令將會生 成一個證書請求,當然,用到了前面生成的密鑰privkey.pem文件
這里將生成一個新的文件cert.csr,即一個證書請求文件,你可以拿 著這個文件去數字證書頒發機構(即CA)申請一個數字證書。CA會給你一個新的文件cacert.pem,那才是你的數字證書。

如果是自 己做測試,那么證書的申請機構和頒發機構都是自己。就可以用下面這個命令來生成證書:
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
這個命令將用上面生成的密鑰privkey.pem生成一個數字 證書cacert.pem

3、使用數字證書和密鑰
有了privkey.pem和cacert.pem文件后就可以在自己的程序中 使用了,比如做一個加密通訊的服務器

-------------
OpenSSL建立自己的CA

(1) 環境準備

首先,需要準備一個目錄放置CA文件,包括頒發的證書和CRL(Certificate Revoke List)。
這里我們選擇目錄 /opt/ca。

然后我們在/opt/ca下建立兩個目錄,certs用來保存我們的CA頒發的所有的證書的副本;private用來保存CA證書的私鑰匙。

CA的私鑰匙很重要,至少需要2048位長度。建議保存在硬件里,或者至少不要放在網絡中。
除了生成鑰匙,在我們的CA體系中還需要創建三 個文件。第一個文件用來跟蹤最后一次頒發的證書的序列號,我們把它命名為serial,初始化為01。第二個文件是一個排序數據庫,用來跟蹤已經頒發的證 書。我們把它命名為index.txt,文件內容為空。

$ mkdir /opt/myca
$ cd /opt/myca
$ mkdir certs private
$ chmod g-rwx,o-rwx private
$ echo "01" > serial
$ touch index.txt

第三個文件是OpenSSL的配置文件,創建起來要棘手點。示例如下:

[ ca ]
default_ca = myca

[ myca ]
dir = /opt/myca
certificate = $dir/cacert.pem
database = $dir/index.txt
new_certs_dir = $dir/certs
private_key = $dir/private/cakey.pem
serial = $dir/serial

default_crl_days= 7
default_days = 365
default_md = md5

policy = myca_policy
x509_extensions = certificate_extensions

[ myca_policy ]
commonName = supplied
stateOrProvinceName = supplied
countryName = supplied
emailAddress = supplied
organizationName= supplied
organizationalUnitName = optional

[ certificate_extensions ]
basicConstraints= CA:false

我們需要告訴OpenSSL配置文件的路徑,有兩種方法可以達成目的:通過config命令選項;通過環境變量OPENSSL_CONF。這里我們 選擇環境變量的方式。

$ OPENSSL_CONF="/opt/myca/openssl.cnf"
$ export OPENSSL_CONF

(2) 生成根證書(Root Certificate)

我們需要一個證書來為自己頒發的證書簽名,這個證書可從其他CA獲取,或者是自簽名的根證書。這里我們生成一個自簽名的根證書。

首先我們需要往配置文件里面添加一些信息,如下所示,節名和命令行工具的命令req一樣。我們把所有必要的信息都寫進配置,而不是在命令行輸入,這 是唯一指定X.509v3擴展的方式,也能讓我們對如何創建根證書有個清晰的把握。

[ req ]
default_bits = 2048
default_keyfile = /opt/myca/private/cakey.pem
default_md = md5
prompt = no
distinguished_name = root_ca_distinguished_name
x509_extensions = root_ca_extensions
[ root_ca_distinguished_name ]
commonName = My Test CA
stateOrProvinceName = Beijing
countryName = CN
emailAddress = yingyuan@staff.sina.com.cn
organizationName = Root Certification Authority
[ root_ca_extensions ]
basicConstraints = CA:true

萬事俱備,我們可以生成根證書了。注意設置好環境變量OPENSSL_CONF。

$ openssl req -x509 -newkey rsa -out cacert.pem -outform PEM

驗證一下我們生成的文件。

$ openssl x509 -in cacert.pem -text -noout

(3) 給客戶頒發證書

在給客戶頒發證書之前,需要客戶提供證書的基本信息。我們另外開啟一個終端窗口,使用默認的OpenSSL配置文件(不要讓之前的 OPENSSL_CONF干擾我們,那個配置是專門用來生成根證書的)。

命令和我們生成根證書的類似,都是req,不過需要提供一些額外的信息。如下:

$ openssl req -newkey rsa:1024 -keyout testkey.pem -keyform PEM -out testreq.pem -outform PEM

有兩次提示要口令,第一次的口令用來加密私鑰匙testkey.pem,第二次口令一般被OpenSSL忽略。
結果生成兩個文 件:testkey.pem,私鑰匙;testreq.pem,請求信息,其中包括公鑰匙。

我們來看看testreq.pem都有哪些信息?

$ openssl req -in testreq.pem -text -noout

現在,我們可以把testreq.pem提交給我們的CA生成證書了。
為了方便起見,我們假定testreq.pem在/opt/myca /private/中。

$ openssl ca -in testreq.pem

有三次提示,一次是問你CA的私鑰匙密碼,兩次是確認,輸出的結果就是為客戶頒發的證書。
可以通過batch選項取消命令提示,可通過 notext選項取消證書的輸出顯示。
此外,還可以一次給多個客戶頒發證書,方法是用 infiles選項替換in選項,不過這個選項必須放在最后,因為此后的任何字符均被處理為文件名稱列表。

生成的證書放在certs目錄,同時index.txt和serial的內容都發生了改變。

(4) 吊銷證書

吊銷證書的操作很簡單,我們將待吊銷的證書從證書的保存位置拷貝到另外一個目錄,然后運行ca命令就可以。
主要設置好 OPENSSL_CONF環境變量。

$ cp certs/01.pem testcert.pem
$ openssl ca -revoke testcert.pem

輸入CA私鑰匙的密碼就可以。

為了使你的吊銷操作讓別人知道,你可以生成CRL(Certificate Revoke List),然后公布到網上去。
由于每個頒發的 證書都有一個過期時間,一旦證書過期了,就可以把該證書從CRL中刪除。因為這時候在不在CRL中已經無所謂了。

# 生成CRL列表
$ openssl ca -gencrl -out exampleca.crl

# 查看CRL列表信息
$ openssl crl -in exampleca.crl -text -noout

# 驗證CRL列表簽名信息
$ openssl crl -in exampleca.crl -noout -CAfile cacert.pem

可以看到CRL的版本號為1,這是OpenSSL默認的,除非crl_extensions被指定在配置文件ca一節中。

?

文章一:http://blog.chinaunix.net/u/11234/showart_290705.html

文章二:http://blog.chinaunix.net/u/11234/showart_291316.html


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精选一区| 欧美日韩国产成人在线91| 久久精品国产在热久久 | 亚洲狼人综合| 亚洲精品偷拍| 一本色道婷婷久久欧美| 国产精品99久久久久久久久久久久| 亚洲精品在线免费观看视频| 一区二区三区国产| 一区二区三区久久精品| 亚洲色图在线视频| 欧美在线观看一区二区三区| 亚洲婷婷国产精品电影人久久| 亚洲欧美日韩一区二区三区在线 | 久久国产精品久久久| 久久久久国内| 欧美成人综合一区| 99ri日韩精品视频| 久久久av网站| 欧美日韩精品不卡| 国产精品亚洲片夜色在线| 国内精品一区二区| 99精品国产在热久久下载| 亚洲免费视频一区二区| 久久综合九色九九| 亚洲乱码久久| 久久久久成人精品| 国产精品外国| 亚洲欧洲日韩女同| 欧美综合激情网| 亚洲国产精品123| 一区二区三区欧美在线| 老司机一区二区三区| 国产精品一区二区三区乱码| 亚洲精品你懂的| 久久久91精品国产| 99国产精品久久久| 你懂的亚洲视频| 国产午夜精品视频免费不卡69堂| 99re66热这里只有精品3直播| 欧美自拍偷拍午夜视频| 一二美女精品欧洲| 亚洲免费高清视频| 亚洲欧美成人一区二区三区| 欧美在线观看视频| 99精品国产一区二区青青牛奶| 久久九九有精品国产23| 国产精品久久久久一区| 日韩写真在线| 欧美黄色免费| 久久手机免费观看| 一区二区三区中文在线观看| 久久大逼视频| 亚洲欧美日本在线| 欧美视频国产精品| 亚洲一级在线| 一区二区日韩免费看| 欧美日韩一区二区三区免费| 99香蕉国产精品偷在线观看| 亚洲国产欧美精品| 久久视频在线免费观看| 一区二区三区在线视频播放| 久久精品国产免费看久久精品| 国产精品99久久不卡二区 | 国产精品网站在线| 午夜精品福利在线观看| 一区二区三区黄色| 国产精品久久久亚洲一区| 亚洲欧美色婷婷| 亚洲字幕一区二区| 国产情侣久久| 久久综合99re88久久爱| 久久久久久久999| 亚洲高清影视| 亚洲精一区二区三区| 国产精品成人免费| 久久成人精品一区二区三区| 欧美一区二视频在线免费观看| 国产在线欧美日韩| a4yy欧美一区二区三区| 中日韩美女免费视频网站在线观看| 国产精品国产三级国产专区53 | 美女黄毛**国产精品啪啪| 久久国产福利| 亚洲国产日本| 一区二区高清| 国内不卡一区二区三区| 亚洲国内自拍| 国产美女精品一区二区三区 | 免费成人高清视频| 欧美激情第4页| 亚洲制服丝袜在线| 久久精品国产一区二区三区免费看 | 亚洲人午夜精品免费| 亚洲第一网站| 亚洲福利在线看| 欧美午夜久久久| 久久久精品网| 欧美日韩精品系列| 久久综合九色欧美综合狠狠| 欧美成年人视频| 欧美一区视频在线| 欧美岛国激情| 久久国产欧美日韩精品| 蜜桃久久精品乱码一区二区| 亚洲专区一二三| 嫩草国产精品入口| 久久国产精品一区二区三区四区| 欧美国产激情| 久久全球大尺度高清视频| 欧美日本网站| 农村妇女精品| 国产精品拍天天在线| 欧美国产欧美综合 | 好吊日精品视频| 亚洲少妇自拍| 亚洲欧洲另类国产综合| 欧美在线影院| 欧美一级艳片视频免费观看| 欧美精品二区| 欧美激情一二三区| 极品裸体白嫩激情啪啪国产精品| 亚洲一级影院| 一本色道久久99精品综合| 久久蜜桃精品| 久久蜜桃av一区精品变态类天堂| 国产精品男女猛烈高潮激情| 亚洲精品1234| 亚洲黑丝在线| 蜜桃伊人久久| 欧美激情一区二区久久久| 国内久久视频| 久久高清福利视频| 久久蜜桃资源一区二区老牛| 国产亚洲精品bt天堂精选| 亚洲综合99| 久久久999精品免费| 国产乱码精品一区二区三区忘忧草| 一区二区三区成人| 国产精品99久久久久久www| 欧美日韩dvd在线观看| 亚洲精品欧美专区| av成人激情| 欧美午夜不卡视频| 亚洲影院免费| 久久精品视频在线| 国内精品久久久久久久影视蜜臀| 欧美制服丝袜第一页| 久久精品中文字幕一区| 国产在线观看91精品一区| 香蕉乱码成人久久天堂爱免费| 欧美一区国产二区| 精品电影一区| 欧美精品乱码久久久久久按摩| 亚洲精品乱码久久久久久黑人| 亚洲九九九在线观看| 欧美三级在线播放| 篠田优中文在线播放第一区| 久久人人爽人人爽爽久久| 一区二区三区|亚洲午夜| 国产精品视频最多的网站| 亚洲在线观看视频网站| 久久精品30| 亚洲第一伊人| 欧美久久久久久| aaa亚洲精品一二三区| 欧美中文字幕第一页| 亚洲国产成人av| 国产精品久久久久天堂| 久久精品论坛| 亚洲美女av电影| 久久久久国产免费免费| 亚洲精品一区二区三区蜜桃久| 欧美丝袜一区二区| 久久精品亚洲国产奇米99| 亚洲人成人一区二区在线观看| 亚洲一区二区免费| 亚洲高清不卡一区| 国产精品久久99| 美日韩在线观看| 亚洲一区二区三区久久 | 久久精品视频va| 亚洲免费av观看| 国产香蕉久久精品综合网| 欧美日本亚洲| 噜噜噜久久亚洲精品国产品小说| 国产精品99久久久久久有的能看| 久久亚洲电影| 午夜久久99| 中国成人黄色视屏| 亚洲国产精品va在线看黑人| 国产精品入口日韩视频大尺度| 快播亚洲色图| 欧美一区二区性| 国产精品99久久久久久有的能看| 欧美成人高清视频| 久久精品99无色码中文字幕| 亚洲一区二区三区中文字幕| 亚洲美女免费视频| 在线成人av网站|