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

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>
            国产精品午夜春色av| 麻豆精品在线播放| 国产区精品在线观看| 国产精品亚洲а∨天堂免在线| 老司机午夜精品| 嫩草成人www欧美| 欧美不卡在线| 欧美猛交免费看| 国产裸体写真av一区二区| 国产美女精品在线| 黄色一区二区三区| 亚洲精品欧美日韩专区| 亚洲视频你懂的| 欧美一区二区三区四区在线观看地址| 亚洲免费在线看| 久久亚洲春色中文字幕久久久| 美女亚洲精品| 亚洲精品乱码久久久久久蜜桃91 | 欧美人与性动交cc0o| 国产精品v片在线观看不卡 | 一区二区三区不卡视频在线观看 | 久久久久综合网| 欧美va亚洲va香蕉在线| 亚洲日本成人在线观看| 午夜亚洲性色福利视频| 久久久亚洲午夜电影| 欧美日韩一级黄| 在线成人h网| 麻豆久久婷婷| 久久亚洲国产精品一区二区| 久久久久久国产精品一区| 欧美日韩国产小视频在线观看| 国产精品亚洲综合色区韩国| 亚洲国产一区二区三区高清| 亚洲免费一级电影| 牛牛精品成人免费视频| 亚洲一区二区三区高清| 久久综合中文字幕| 国产一区二区成人| 亚洲影音先锋| 亚洲国产精品日韩| 久久精品亚洲精品| 国产精品三区www17con| 亚洲精品免费一二三区| 久久男女视频| 香蕉成人啪国产精品视频综合网| 欧美精品九九99久久| 伊人狠狠色丁香综合尤物| 欧美在线影院在线视频| 亚洲少妇一区| 国产精品成人免费| 在线一区二区日韩| 亚洲国产精品福利| 久久久久一本一区二区青青蜜月| 国产美女高潮久久白浆| 亚洲制服丝袜在线| 亚洲一区二区精品在线| 国产精品成人一区| 午夜精品久久| 亚洲影视在线播放| 国产麻豆午夜三级精品| 欧美一区二区播放| 欧美一区国产在线| 国产手机视频精品| 久久人人97超碰精品888| 欧美一区二区三区视频在线观看| 国产精品激情| 久久国产免费看| 久久九九精品| 91久久精品国产91久久| 亚洲电影av在线| 欧美精品自拍| 香蕉av777xxx色综合一区| 亚洲一区精品电影| 亚洲欧美成人在线| 国产亚洲欧美日韩一区二区| 久久久蜜桃精品| 久久天天综合| 一本色道久久综合亚洲91| 中文在线资源观看网站视频免费不卡 | 午夜激情综合网| 欧美一区二区观看视频| 一区二区三区在线免费观看| 欧美黄色精品| 亚洲国产日本| 99热这里只有精品8| 欧美肉体xxxx裸体137大胆| 亚洲综合国产激情另类一区| 欧美一级视频精品观看| 精品91免费| 欧美激情无毛| 国产精品美女一区二区在线观看| 久久精品国产清自在天天线| 久久亚洲私人国产精品va| 99成人精品| 欧美在线www| av成人动漫| 亚洲欧美一区二区视频| 一区二区在线观看av| 日韩视频第一页| 国产亚洲一区在线| 亚洲乱码精品一二三四区日韩在线| 国产精品视频999| 亚洲电影中文字幕| 国产欧美综合一区二区三区| 亚洲国产精品日韩| 狠狠入ady亚洲精品| 99re6这里只有精品| 极品少妇一区二区三区精品视频| 亚洲精品视频在线观看免费| 国内外成人在线| 中文国产一区| 一区二区三区精品久久久| 欧美中文字幕不卡| 亚洲欧美色婷婷| 欧美日韩情趣电影| 亚洲国产精品专区久久| 在线电影国产精品| 欧美在线观看一区| 欧美一区激情视频在线观看| 欧美激情一区二区三区| 久久亚洲综合| 国产亚洲一级| 香蕉乱码成人久久天堂爱免费| 亚洲天堂成人在线观看| 欧美国产日韩视频| 欧美成人精品在线观看| 国产尤物精品| 欧美一区二区三区另类| 亚洲在线观看免费| 欧美日韩中文精品| 日韩视频专区| 亚洲图片你懂的| 国产精品国产精品| aaa亚洲精品一二三区| 一本色道久久综合精品竹菊| 欧美国产精品中文字幕| 欧美激情91| 亚洲精品久久7777| 欧美激情视频免费观看| 欧美激情第二页| 亚洲精品自在在线观看| 免费人成精品欧美精品| 欧美a级大片| 91久久精品国产91性色| 欧美成人a视频| 亚洲精品一区久久久久久| 亚洲精品一区二区三区99| 欧美激情1区2区3区| 日韩视频在线一区二区| 亚洲一区二区黄色| 欧美一区二视频| 影音先锋日韩有码| 久久久欧美一区二区| 美女国产一区| 亚洲精品久久久蜜桃| 欧美国产日本高清在线| 一二三四社区欧美黄| 欧美亚洲综合网| 韩国av一区二区| 欧美成人按摩| 国产精品99久久久久久久久| 欧美一区二区三区免费观看视频| 国产自产2019最新不卡| 久久久视频精品| 99视频超级精品| 久久精品最新地址| 亚洲啪啪91| 国产精品久久久一区二区| 欧美一区二区私人影院日本| 欧美ed2k| 欧美一区深夜视频| 亚洲精品日韩精品| 国产精品综合色区在线观看| 久久综合久久综合久久| 亚洲美女一区| 美女视频一区免费观看| 亚洲欧美日韩一区在线观看| 黄色日韩网站视频| 国产精品麻豆va在线播放| 美女脱光内衣内裤视频久久影院 | 欧美在线视频观看| 亚洲欧洲精品一区二区精品久久久| 国产精品va| 免费h精品视频在线播放| 在线视频欧美日韩精品| 欧美成人久久| 久久久久久亚洲精品中文字幕| 日韩视频精品| 亚洲成人原创| 韩国av一区二区三区在线观看| 欧美大片网址| 久久久九九九九| 欧美一级播放| 亚洲一区三区电影在线观看| 亚洲日韩成人| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国内精品久久久久影院色 | 久久综合狠狠综合久久激情| 99视频一区二区三区|