锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成年看片在线观看,亚洲成av人在片观看,亚洲最大成人网色香蕉http://m.tkk7.com/lihao336/category/49401.html鎴愪簬鍧氬繊錛屾瘉浜庢誕韜?/description>zh-cnFri, 03 Feb 2012 18:47:22 GMTFri, 03 Feb 2012 18:47:22 GMT60[杞琞涓嶅悓鏍煎紡璇佷功瀵煎叆keystore鏂規硶 http://m.tkk7.com/lihao336/archive/2012/02/03/369303.htmlcalvincalvinFri, 03 Feb 2012 02:06:00 GMThttp://m.tkk7.com/lihao336/archive/2012/02/03/369303.htmlhttp://m.tkk7.com/lihao336/comments/369303.htmlhttp://m.tkk7.com/lihao336/archive/2012/02/03/369303.html#Feedback0http://m.tkk7.com/lihao336/comments/commentRss/369303.htmlhttp://m.tkk7.com/lihao336/services/trackbacks/369303.html闃呰鍏ㄦ枃

calvin 2012-02-03 10:06 鍙戣〃璇勮
]]>
鐢熸棩闂http://m.tkk7.com/lihao336/archive/2011/09/27/359619.htmlcalvincalvinTue, 27 Sep 2011 07:35:00 GMThttp://m.tkk7.com/lihao336/archive/2011/09/27/359619.htmlhttp://m.tkk7.com/lihao336/comments/359619.htmlhttp://m.tkk7.com/lihao336/archive/2011/09/27/359619.html#Feedback0http://m.tkk7.com/lihao336/comments/commentRss/359619.htmlhttp://m.tkk7.com/lihao336/services/trackbacks/359619.html
http://zh.wikipedia.org/wiki/鐢熸棩鏀誨嚮



calvin 2011-09-27 15:35 鍙戣〃璇勮
]]>
PKI甯歌璇佷功鏍煎紡鍜岃漿鎹?/title><link>http://m.tkk7.com/lihao336/archive/2011/08/18/356763.html</link><dc:creator>calvin</dc:creator><author>calvin</author><pubDate>Thu, 18 Aug 2011 02:07:00 GMT</pubDate><guid>http://m.tkk7.com/lihao336/archive/2011/08/18/356763.html</guid><wfw:comment>http://m.tkk7.com/lihao336/comments/356763.html</wfw:comment><comments>http://m.tkk7.com/lihao336/archive/2011/08/18/356763.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/lihao336/comments/commentRss/356763.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/lihao336/services/trackbacks/356763.html</trackback:ping><description><![CDATA[ <div id="qa888se" class="article_content"> <p> <span style="color: #0000ff;"> <strong>PKCS</strong> </span> </p> <p>PKCS 鍏ㄧО鏄?Public-Key Cryptography Standards 錛屾槸鐢?RSA 瀹為獙瀹や笌鍏跺畠瀹夊叏緋葷粺寮鍙戝晢涓轟績榪涘叕閽ュ瘑鐮佺殑鍙戝睍鑰屽埗璁㈢殑涓緋誨垪鏍囧噯銆?/p> <p>What is PKCS? http://www.rsa.com/rsalabs/node.asp?id=2308<br /></p> <p>PKCS 鐩墠鍏卞彂甯冭繃 15 涓爣鍑嗭細<br />錛?錛塒KCS#1錛歊SA鍔犲瘑鏍囧噯銆侾KCS#1瀹氫箟浜哛SA鍏挜鍑芥暟鐨勫熀鏈牸寮忔爣鍑嗭紝鐗瑰埆鏄暟瀛楃鍚嶃傚畠瀹氫箟浜嗘暟瀛楃鍚嶅浣曡綆楋紝鍖呮嫭寰呯鍚嶆暟鎹拰絳懼悕鏈韓鐨勬牸寮忥紱瀹冧篃瀹氫箟浜哖SA鍏?縐侀挜鐨勮娉曘?br /><br />錛?錛塒KCS#2錛氭秹鍙婁簡RSA鐨勬秷鎭憳瑕佸姞瀵嗭紝榪欏凡琚茍鍏KCS#1涓?br /><br />錛?錛塒KCS#3錛欴iffie-Hellman瀵嗛挜鍗忚鏍囧噯銆侾KCS#3鎻忚堪浜嗕竴縐嶅疄鐜癉iffie- Hellman瀵嗛挜鍗忚鐨勬柟娉曘?br /><br />錛?錛塒KCS#4錛氭渶鍒濇槸瑙勫畾RSA瀵嗛挜璇硶鐨勶紝鐜板凡緇忚鍖呭惈榪汸KCS#1涓?br /><br />錛?錛塒KCS#5錛氬熀浜庡彛浠ょ殑鍔犲瘑鏍囧噯銆侾KCS#5鎻忚堪浜嗕嬌鐢ㄧ敱鍙d護鐢熸垚鐨勫瘑閽ユ潵鍔犲瘑8浣嶄綅緇勪覆騫朵駭鐢熶竴涓姞瀵嗙殑8浣嶄綅緇勪覆鐨勬柟娉曘侾KCS#5鍙互鐢ㄤ簬鍔犲瘑縐侀挜錛屼互渚夸簬瀵嗛挜鐨勫畨鍏ㄤ紶杈擄紙榪欏湪PKCS#8涓弿榪幫級銆?br /><br />錛?錛塒KCS#6錛氭墿灞曡瘉涔﹁娉曟爣鍑嗐侾KCS#6瀹氫箟浜嗘彁渚涢檮鍔犲疄浣撲俊鎭殑X.509璇佷功灞炴ф墿灞曠殑璇硶錛堝綋PKCS#6絎竴嬈″彂甯冩椂錛孹.509榪樹笉鏀寔鎵╁睍銆傝繖浜涙墿灞曞洜姝よ鍖呮嫭鍦╔.509涓級銆?br /><br />錛?錛塒KCS#7錛氬瘑鐮佹秷鎭娉曟爣鍑嗐侾KCS#7涓轟嬌鐢ㄥ瘑鐮佺畻娉曠殑鏁版嵁瑙勫畾浜嗛氱敤璇硶錛屾瘮濡傛暟瀛楃鍚嶅拰鏁板瓧淇″皝銆侾KCS#7鎻愪緵浜嗚澶氭牸寮忛夐」錛屽寘鎷湭鍔犲瘑鎴栫鍚嶇殑鏍煎紡鍖栨秷鎭佸凡灝佽錛堝姞瀵嗭級娑堟伅銆佸凡絳懼悕娑堟伅鍜屾棦緇忚繃絳懼悕鍙堢粡榪囧姞瀵嗙殑娑堟伅銆?br /><br />錛?錛塒KCS#8錛氱閽ヤ俊鎭娉曟爣鍑嗐侾KCS#8瀹氫箟浜嗙閽ヤ俊鎭娉曞拰鍔犲瘑縐侀挜璇硶錛屽叾涓閽ュ姞瀵嗕嬌鐢ㄤ簡PKCS#5鏍囧噯銆?br /><br />錛?錛塒KCS#9錛氬彲閫夊睘鎬х被鍨嬨侾KCS#9瀹氫箟浜哖KCS#6鎵╁睍璇佷功銆丳KCS#7鏁板瓧絳懼悕娑堟伅銆丳KCS#8縐侀挜淇℃伅鍜孭KCS#10璇佷功絳懼悕璇鋒眰涓鐢ㄥ埌鐨勫彲閫夊睘鎬х被鍨嬨傚凡瀹氫箟鐨勮瘉涔﹀睘鎬у寘鎷珽-mail鍦板潃銆佹棤鏍煎紡濮撳悕銆佸唴瀹圭被鍨嬨佹秷鎭憳瑕併佺鍚嶆椂闂淬佺鍚嶅壇鏈紙counter signature錛夈佽川璇㈠彛浠ゅ瓧鍜屾墿灞曡瘉涔﹀睘鎬с?br /><br />錛?0錛塒KCS#10錛氳瘉涔﹁姹傝娉曟爣鍑嗐侾KCS#10瀹氫箟浜嗚瘉涔﹁姹傜殑璇硶銆傝瘉涔﹁姹傚寘鍚簡涓涓敮涓璇嗗埆鍚嶃佸叕閽ュ拰鍙夌殑涓緇勫睘鎬э紝瀹冧滑涓璧瘋璇鋒眰璇佷功鐨勫疄浣撶鍚嶏紙璇佷功綆$悊鍗忚涓殑PKIX璇佷功璇鋒眰娑堟伅灝辨槸涓涓狿KCS#10錛夈?br /><br />錛?1錛塒KCS#11錛氬瘑鐮佷護鐗屾帴鍙f爣鍑嗐侾KCS#11鎴栤淐ryptoki鈥濅負鎷ユ湁瀵嗙爜淇℃伅錛堝鍔犲瘑瀵嗛挜鍜岃瘉涔︼級鍜屾墽琛屽瘑鐮佸鍑芥暟鐨勫崟鐢ㄦ埛璁懼瀹氫箟浜嗕竴涓簲鐢ㄧ▼搴忔帴鍙o紙API錛夈傛櫤鑳藉崱灝辨槸瀹炵幇Cryptoki鐨勫吀鍨嬭澶囥傛敞鎰忥細Cryptoki瀹氫箟浜嗗瘑鐮佸嚱鏁版帴鍙o紝浣嗗茍鏈寚鏄庤澶囧叿浣撳浣曞疄鐜拌繖浜涘嚱鏁般傝屼笖Cryptoki鍙鏄庝簡瀵嗙爜鎺ュ彛錛屽茍鏈畾涔夊璁懼鏉ヨ鍙兘鏈夌敤鐨勫叾浠栨帴鍙o紝濡傝闂澶囩殑鏂囦歡緋葷粺鎺ュ彛銆?br /><br />錛?2錛塒KCS#12錛氫釜浜轟俊鎭氦鎹㈣娉曟爣鍑嗐侾KCS#12瀹氫箟浜嗕釜浜鴻韓浠戒俊鎭紙鍖呮嫭縐侀挜銆佽瘉涔︺佸悇縐嶇瀵嗗拰鎵╁睍瀛楁錛夌殑鏍煎紡銆侾KCS#12鏈夊姪浜庝紶杈撹瘉涔﹀強瀵瑰簲鐨勭閽ワ紝浜庢槸鐢ㄦ埛鍙互鍦ㄤ笉鍚岃澶囬棿縐誨姩浠栦滑鐨勪釜浜鴻韓浠戒俊鎭?br /><br />錛?3錛塒DCS#13錛氭き鍦嗘洸綰垮瘑鐮佹爣鍑嗐侾KCS#13鏍囧噯褰撳墠姝e湪瀹屽杽涔嬩腑銆傚畠鍖呮嫭妞渾鏇茬嚎鍙傛暟鐨勭敓鎴愬拰楠岃瘉銆佸瘑閽ョ敓鎴愬拰楠岃瘉銆佹暟瀛楃鍚嶅拰鍏挜鍔犲瘑錛岃繕鏈夊瘑閽ュ崗瀹氾紝浠ュ強鍙傛暟銆佸瘑閽ュ拰鏂規鏍囪瘑鐨凙SN.1璇硶銆?br /><br />錛?4錛塒KCS#14錛氫吉闅忔満鏁頒駭鐢熸爣鍑嗐侾KCS#14鏍囧噯褰撳墠姝e湪瀹屽杽涔嬩腑銆備負浠涔堥殢鏈烘暟鐢熸垚涔熼渶瑕佸緩绔嬭嚜宸辯殑鏍囧噯鍛紵PKI涓敤鍒扮殑璁稿鍩烘湰鐨勫瘑鐮佸鍑芥暟錛屽瀵嗛挜鐢熸垚鍜孌iffie-Hellman鍏變韓瀵嗛挜鍗忓晢錛岄兘闇瑕佷嬌鐢ㄩ殢鏈烘暟銆傜劧鑰岋紝濡傛灉鈥滈殢鏈烘暟鈥濅笉鏄殢鏈虹殑錛岃屾槸鍙栬嚜涓涓彲棰勬祴鐨勫彇鍊奸泦鍚堬紝閭d箞瀵嗙爜瀛﹀嚱鏁板氨涓嶅啀鏄粷瀵瑰畨鍏ㄤ簡錛屽洜涓哄畠鐨勫彇鍊艱闄愪簬涓涓緝灝忎簡鐨勫煎煙涓傚洜姝わ紝瀹夊叏浼殢鏈烘暟鐨勭敓鎴愬浜嶱KI鐨勫畨鍏ㄦ瀬涓哄叧閿?br /><br />錛?5錛塒KCS#15錛氬瘑鐮佷護鐗屼俊鎭娉曟爣鍑嗐侾KCS#15閫氳繃瀹氫箟浠ょ墝涓婂瓨鍌ㄧ殑瀵嗙爜瀵硅薄鐨勯氱敤鏍煎紡鏉ュ榪涘瘑鐮佷護鐗岀殑浜掓搷浣滄с傚湪瀹炵幇PKCS#15鐨勮澶囦笂瀛樺偍鐨勬暟鎹浜庝嬌鐢ㄨ璁懼鐨勬墍鏈夊簲鐢ㄧ▼搴忔潵璇撮兘鏄竴鏍風殑錛屽敖綆″疄闄呬笂鍦ㄥ唴閮ㄥ疄鐜版椂鍙兘鎵鐢ㄧ殑鏍煎紡涓嶅悓銆侾KCS#15鐨勫疄鐜版壆婕斾簡緲昏瘧瀹剁殑瑙掕壊錛屽畠鍦ㄥ崱鐨勫唴閮ㄦ牸寮忎笌搴旂敤紼嬪簭鏀寔鐨勬暟鎹牸寮忛棿榪涜杞崲銆?/p> <p> <span style="color: #0000ff;"> <strong>X509</strong> </span> </p> <p>X.509鏄父瑙侀氱敤鐨勮瘉涔︽牸寮忋傛墍鏈夌殑璇佷功閮界鍚堜負Public Key Infrastructure (PKI) 鍒跺畾鐨?ITU-T X509 鍥介檯鏍囧噯銆俋.509鏄浗闄呯數淇¤仈鐩?鐢典俊錛圛TU-T錛夐儴鍒嗘爣鍑嗗拰鍥介檯鏍囧噯鍖栫粍緇囷紙ISO錛夌殑璇佷功鏍煎紡鏍囧噯銆備綔涓篒TU-ISO鐩綍鏈嶅姟緋誨垪鏍囧噯鐨勪竴閮ㄥ垎錛孹.509鏄畾涔変簡鍏挜璇佷功緇撴瀯鐨勫熀鏈爣鍑嗐?988騫撮嬈″彂甯冿紝1993騫村拰1996騫翠袱嬈′慨璁€傚綋鍓嶄嬌鐢ㄧ殑鐗堟湰鏄疿.509 V3錛屽畠鍔犲叆浜嗘墿灞曞瓧孌墊敮鎸侊紝榪欐瀬澶у湴澧炶繘浜嗚瘉涔︾殑鐏墊椿鎬с俋.509 V3璇佷功鍖呮嫭涓緇勬寜棰勫畾涔夐『搴忔帓鍒楃殑寮哄埗瀛楁錛岃繕鏈夊彲閫夋墿灞曞瓧孌碉紝鍗充嬌鍦ㄥ己鍒跺瓧孌典腑錛孹.509璇佷功涔熷厑璁稿緢澶х殑鐏墊椿鎬э紝鍥犱負瀹冧負澶у鏁板瓧孌墊彁渚涗簡澶氱緙栫爜鏂規.</p> <p>PKCS#7 甯哥敤鐨勫悗緙鏄細 .P7B .P7C .SPC<br />PKCS#12 甯哥敤鐨勫悗緙鏈夛細 .P12 .PFX<br />X.509 DER 緙栫爜(ASCII)鐨勫悗緙鏄細 .DER .CER .CRT<br />X.509 PAM 緙栫爜(Base64)鐨勫悗緙鏄細 .PEM .CER .CRT<br />.cer/.crt鏄敤浜庡瓨鏀捐瘉涔︼紝瀹冩槸2榪涘埗褰㈠紡瀛樻斁鐨勶紝涓嶅惈縐侀挜銆?br />.pem璺焎rt/cer鐨勫尯鍒槸瀹冧互Ascii鏉ヨ〃紺恒?br />pfx/p12鐢ㄤ簬瀛樻斁涓漢璇佷功/縐侀挜錛屼粬閫氬父鍖呭惈淇濇姢瀵嗙爜錛?榪涘埗鏂瑰紡<br />p10鏄瘉涔﹁姹?br />p7r鏄疌A瀵硅瘉涔﹁姹傜殑鍥炲錛屽彧鐢ㄤ簬瀵煎叆<br />p7b浠ユ爲鐘跺睍紺鴻瘉涔﹂摼(certificate chain)錛屽悓鏃朵篃鏀寔鍗曚釜璇佷功錛屼笉鍚閽ャ?br /><br />涓 鐢╫penssl鍒涘緩CA璇佷功鐨凴SA瀵嗛挜(PEM鏍煎紡)錛?br />openssl genrsa -des3 -out ca.key 1024</p> <p>浜岀敤openssl鍒涘緩CA璇佷功(PEM鏍煎紡,鍋囧鏈夋晥鏈熶負涓騫?錛?br />openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf<br />openssl鏄彲浠ョ敓鎴怐ER鏍煎紡鐨凜A璇佷功鐨勶紝鏈濂界敤IE灝哖EM鏍煎紡鐨凜A璇佷功杞崲鎴怐ER鏍煎紡鐨凜A璇佷功銆?/p> <p>涓?x509鍒皃fx<br />pkcs12 -export 鈥搃n keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx</p> <p>鍥?PEM鏍煎紡鐨刢a.key杞崲涓篗icrosoft鍙互璇嗗埆鐨刾vk鏍煎紡銆?br />聽 pvk -in ca.key -out ca.pvk -nocrypt -topvk<br />浜?PKCS#12 鍒?PEM 鐨勮漿鎹?br />openssl pkcs12 -nocerts -nodes -in cert.p12 -out private.pem<br />楠岃瘉 openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem<br />鍏?浠?PFX 鏍煎紡鏂囦歡涓彁鍙栫閽ユ牸寮忔枃浠?(.key)<br />openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key<br />涓?杞崲 pem 鍒板埌 spc<br />openssl crl2pkcs7 -nocrl -certfile venus.pem聽 -outform DER -out venus.spc<br />鐢?-outform -inform 鎸囧畾 DER 榪樻槸 PAM 鏍煎紡銆備緥濡傦細<br />openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER<br />鍏?PEM 鍒?PKCS#12 鐨勮漿鎹紝<br />openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem</p> <p> <span style="color: #0000ff;"> <strong>瀵嗛挜搴撴枃浠舵牸寮忋怟eystore銆?/strong> </span> </p> <p>聽<span style="color: #ff0000;">鏍煎紡聽聽聽聽 :聽 JKS</span><br />聽鎵╁睍鍚嵚?: .jks/.ks<br />聽鎻忚堪聽聽聽聽 : 銆怞ava Keystore銆戝瘑閽ュ簱鐨凧ava瀹炵幇鐗堟湰錛宲rovider涓篠UN<br />聽鐗圭偣聽聽聽聽 :聽 瀵嗛挜搴撳拰縐侀挜鐢ㄤ笉鍚岀殑瀵嗙爜榪涜淇濇姢<br />聽<br /><span style="color: #ff0000;">聽鏍煎紡聽聽聽聽 :聽 JCEKS</span><br />聽鎵╁睍鍚嵚?:聽 .jce<br />聽鎻忚堪聽聽聽聽 :聽銆怞CE Keystore銆戝瘑閽ュ簱鐨凧CE瀹炵幇鐗堟湰錛宲rovider涓篠UN JCE<br />聽鐗圭偣聽聽聽聽 :聽 鐩稿浜嶫KS瀹夊叏綰у埆鏇撮珮錛屼繚鎶eystore縐侀挜鏃墮噰鐢═ripleDES<br />聽<br /><span style="color: #ff0000;">聽鏍煎紡聽聽聽聽 :聽 PKCS12<br /></span>聽鎵╁睍鍚嵚?:聽 .p12/.pfx<br />聽鎻忚堪聽聽聽聽 :聽銆怭KCS #12銆戜釜浜轟俊鎭氦鎹㈣娉曟爣鍑?br />聽鐗圭偣聽聽聽聽 :聽 1銆佸寘鍚閽ャ佸叕閽ュ強鍏惰瘉涔?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽2銆佸瘑閽ュ簱鍜岀閽ョ敤鐩稿悓瀵嗙爜榪涜淇濇姢<br />聽<br /><span style="color: #ff0000;">聽鏍煎紡聽聽聽聽 :聽 BKS</span><br />聽鎵╁睍鍚嵚?: .bks<br />聽鎻忚堪聽聽聽聽 :聽 Bouncycastle Keystore銆戝瘑閽ュ簱鐨凚C瀹炵幇鐗堟湰錛宲rovider涓築C<br />聽鐗圭偣聽聽聽聽 :聽 鍩轟簬JCE瀹炵幇<br />聽<br /><span style="color: #ff0000;">聽鏍煎紡聽聽聽聽 : UBER<br /></span>聽鎵╁睍鍚嵚?: .ubr<br />聽鎻忚堪聽聽聽聽 : 銆怋ouncycastle UBER Keystore銆戝瘑閽ュ簱鐨凚C鏇村畨鍏ㄥ疄鐜扮増鏈紝provider涓築C<br /></p> <p> <br /> <span style="color: #0000ff;"> <strong>璇佷功鏂囦歡鏍煎紡銆怌ertificate銆?/strong> </span> <br /> <span style="color: #ff0000;">鏍煎紡聽聽聽聽聽聽聽聽聽聽:聽 DER</span> <br />鎵╁睍鍚嵚犅犅犅犅犅犅?聽 .cer/.crt/.rsa </p> <p>鎻忚堪聽聽聽聽聽聽聽聽聽聽: 銆怉SN .1 DER銆戠敤浜庡瓨鏀捐瘉涔?<br />鐗圭偣聽聽聽聽聽聽聽聽聽聽:聽 涓嶅惈縐侀挜銆佷簩榪涘埗 </p> <p> <span style="color: #ff0000;">鏍煎紡聽聽聽聽聽聽聽聽聽聽:聽 PKCS7 <br /></span>鎵╁睍鍚嵚犅犅犅犅犅犅? .p7b/.p7r <br />鎻忚堪聽聽聽聽聽聽聽聽聽聽: 銆怭KCS #7銆戝姞瀵嗕俊鎭娉曟爣鍑?</p> <p>鐗圭偣聽聽聽聽聽聽聽聽聽聽: 1銆乸7b浠ユ爲鐘跺睍紺鴻瘉涔﹂摼錛屼笉鍚閽?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2銆乸7r涓篊A瀵硅瘉涔﹁姹傜鍚嶇殑鍥炲錛屽彧鑳界敤浜庡鍏?</p> <p> <span style="color: #ff0000;">鏍煎紡聽聽聽聽聽聽聽聽聽聽:聽 CMS</span> <br />鎵╁睍鍚嵚犅犅犅犅犅犅?聽 .p7c/.p7m/.p7s <br />鎻忚堪聽聽聽聽聽聽聽聽聽聽: 銆怌ryptographic Message Syntax銆?<br />鐗圭偣聽聽聽聽聽聽聽聽聽聽: 1銆乸7c鍙繚瀛樿瘉涔?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽2銆乸7m錛歴ignature with enveloped data<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 3銆乸7s錛氭椂闂存埑絳懼悕鏂囦歡<br />聽<br /><span style="color: #ff0000;">鏍煎紡聽聽聽聽聽聽聽聽聽聽:聽 PEM</span><br />鎵╁睍鍚嵚犅犅犅犅犅犅? .pem <br />鎻忚堪聽聽聽聽聽聽聽聽聽聽: 銆怭rintable Encoded Message銆?<br />鐗圭偣聽聽聽聽聽聽聽聽聽 : 1銆佽緙栫爜鏍煎紡鍦≧FC1421涓畾涔夛紝鍏跺疄PEM鏄怭rivacy-Enhanced Mail銆戠殑綆鍐欙紝浣嗕粬涔熷悓鏍峰箍娉涜繍鐢ㄤ簬瀵嗛挜綆$悊<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽2銆丄SCII鏂囦歡<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽3銆佷竴鑸熀浜巄ase 64緙栫爜 </p> <p> <span style="color: #ff0000;">鏍煎紡聽聽聽聽聽聽聽聽聽: 聽PKCS10</span> <br />鎵╁睍鍚嵚犅犅犅犅犅?聽.p10/.csr <br />鎻忚堪聽聽聽聽聽聽聽聽 : 銆怭KCS #10銆戝叕閽ュ姞瀵嗘爣鍑嗐怌ertificate Signing Request銆?br />鐗圭偣聽聽聽聽聽聽聽聽 :聽 1銆佽瘉涔︾鍚嶈姹傛枃浠?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2銆丄SCII鏂囦歡<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 3銆丆A絳懼悕鍚庝互p7r鏂囦歡鍥炲 </p> <p> <span style="color: #ff0000;">鏍煎紡聽聽聽聽聽聽聽聽 :聽 SPC</span> <br />鎵╁睍鍚嵚犅犅犅犅?:聽.pvk/.spc <br />鎻忚堪聽聽聽聽聽聽聽聽 : 銆怱oftware Publishing Certificate銆?<br />鐗圭偣聽聽聽聽聽聽聽聽 :聽 寰蔣鍏徃鐗規湁鐨勫弻璇佷功鏂囦歡鏍煎紡錛岀粡甯哥敤浜庝唬鐮佺鍚嶏紝鍏朵腑<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 1銆乸vk鐢ㄤ簬淇濆瓨縐侀挜<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2銆乻pc鐢ㄤ簬淇濆瓨鍏挜 <br /></p> <p>杞嚜http://blog.csdn.net/hansel/article/details/4447631</p> <p>X509鍜孭KCS鐨勫叧緋昏璁猴細http://topic.csdn.net/u/20071015/18/37a2bffb-2354-493e-b5a9-b96ab28063ae.html<br /></p> </div> <img src ="http://m.tkk7.com/lihao336/aggbug/356763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/lihao336/" target="_blank">calvin</a> 2011-08-18 10:07 <a href="http://m.tkk7.com/lihao336/archive/2011/08/18/356763.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓嶅悓鏍煎紡璇佷功瀵煎叆keystore鏂規硶 http://m.tkk7.com/lihao336/archive/2011/08/18/356762.htmlcalvincalvinThu, 18 Aug 2011 02:03:00 GMThttp://m.tkk7.com/lihao336/archive/2011/08/18/356762.htmlhttp://m.tkk7.com/lihao336/comments/356762.htmlhttp://m.tkk7.com/lihao336/archive/2011/08/18/356762.html#Feedback0http://m.tkk7.com/lihao336/comments/commentRss/356762.htmlhttp://m.tkk7.com/lihao336/services/trackbacks/356762.html闃呰鍏ㄦ枃

calvin 2011-08-18 10:03 鍙戣〃璇勮
]]>
An introduction to PKIhttp://m.tkk7.com/lihao336/archive/2011/08/17/356718.htmlcalvincalvinWed, 17 Aug 2011 07:57:00 GMThttp://m.tkk7.com/lihao336/archive/2011/08/17/356718.htmlhttp://m.tkk7.com/lihao336/comments/356718.htmlhttp://m.tkk7.com/lihao336/archive/2011/08/17/356718.html#Feedback0http://m.tkk7.com/lihao336/comments/commentRss/356718.htmlhttp://m.tkk7.com/lihao336/services/trackbacks/356718.html

http://www.carillon.ca/library/pkitutorial.php

In recent years, two of the main hurdles encountered when using data networks for collaborative work and the transmission of sensitive information have been, in no particular order:

  • data confidentiality, or ensuring that the information can only be read by the people who are supposed to read it; and
  • data integrity, or ensuring that the information received is exactly the information that was sent.

Basic encryption

Various techniques have been available to solve those issues, usually through the use of cryptographical tools. The basic approach is to use a specific mathematical formula (the cipher) into which a series of numbers (the secret key) can be plugged; when this formula is applied to some data (called the plaintext), this data is turned into an unintelligible mass of characters (called the ciphertext).

The transformation of plaintext into ciphertext is called encryption; the reverse process is called decryption.

Only someone who knows what cipher and what secret key were used can return the ciphertext back to the original plaintext. Usually, the cipher is well-known, but the secret key is, well, secret.


The cipher must guarantee two things:

  • without the secret key, absolutely no part of the plaintext can be reconstructed from the cyphertext; and
  • with the secret key, the entire plaintext can be unambiguously reconstructed from the cyphertext.

Let's put this in an example. May we introduce Alice and Bob, who are trying to exchange information. But in the shadows lurks Eve, the Eve-ildoer who is trying to Eve-sdrop on the information being exchanged between Alice and Bob.

Alice and Bob, who know each other and plan on exchanging data in a secure fashion, meet face-to-face and choose a secret key. At a later time, when Alice wants to send Bob some confidential data, she takes that plaintext and applies the cipher to it, using the pre-arranged secret key. The resulting ciphertext is sent via the network to Bob, including some information, such as which cipher was used. Bob receives the ciphertext, applies the reverse cipher with the secret key, and obtains the original plaintext.

Our eavesdropping Eve also manages to get a copy of the ciphertext; however, she can't make sense of its contents. Even knowing which cipher was used, without the secret key, she can't decrypt the captured data back to its original plaintext form.

This takes care of data confidentiality; if Alice wants only specific people to access a certain piece of encrypted information, she can give the secret key to only those people. But how does it address data integrity? It doesn't, at least not directly. If something interferes with the ciphertext during transit, decrypting it will generate unintelligible data. However, as far as Bob is concerned, the original plaintext might not have been intelligible data in the first place, so he has no proof that the data was or wasn't altered.

Another technique, data hashing, will help Alice with that objective.

Data hashing

To guarantee data integrity, a new mathematical tool is needed. A hash function is another (and very different) mathematical formula through which our plaintext will be processed, producing a fixed-length result called a hash sum. This hash function presents the following characteristics:

  • a specific plaintext produces a specific hash sum;
  • the hash sum cannot be used to reconstruct any part of the plaintext; and
  • it is impossible to craft a different plaintext that produces the same hash sum.

How is that useful? Imagine Alice produces a hash sum for a specific plaintext and then encrypts the hash sum with the secret key she shares with Bob. If she joins that encrypted hash sum with her original message, Bob can decrypt the hash sum sent by Alice and then calculate his own hash sum from the plaintext. If both hash sums match, it means the retrieved plaintext is indeed identical to what Alice sent. If the hash sums differ, the message was modified at some point.

If Eve intercepts the message and tries to modify it, she can't create a new encrypted hash sum that will correspond to the modified message, since she doesn't have the secret key. Therefore, data integrity can be achieved.

So, it would seem that encryption and data hashing solve our confidentiality and integrity issues. There is, however, a major problem with this approach. Our initial premise is that Alice and Bob meet before any data exchange to establish a secret key. What if Alice and Bob are halfway around the world? That complicates the meeting. What if Alice wants to communicate securely with Bob, but also with Charlie, Dennis and Fred? That forces her to hold additional meetings. And if Bob also wants to communicate with Charlie, Dennis and Fred? Even more meetings. And what if they all need to communicate now, without having met before?

Enter public-key cryptography.

Public-key cryptography

A more complex but extremely useful approach is asymmetric cryptography, also known as public-key cryptography (yes, this is the same "Public Key" as in "Public Key Infrastructure"!), which will now be the focus of our interest.

Public-key cryptography revolves around the use of a mathematically linked pair of keys, one designated public and the other designated private. This mathematical linkage is such that plaintext encrypted using one of the keys can only be decrypted using the other key. A specific individual has her own pair of keys, keeping the private key absolutely private and the public key as public as possible.

How does this apply to our quandary? If Alice has in hand her own public key (PubA), her own private key (PrivA), and Bob's public key (PubB), she can do the following:

  • encrypt the plaintext with Bob's public key (PubB);
  • calculate the hash sum of the plaintext and encrypt it with her own private key (PrivA); and
  • combine the ciphertext and the encrypted hash sum in a message and send it to Bob.

Upon receiving this message, Bob, who should have in his posession his own public key (PubB), his own private key (PrivB), and Alice's public key (PubA), can do the following:

  • decrypt the ciphertext with his own private key (PrivB);
  • decrypt the hash sum with Alice's public key (PubA);
  • calculate the hash sum of the plaintext and compare it with the decrypted hash sum.

Bob therefore obtains the plaintext and, if the hash sums are the same, the guarantee that it hasn't been altered in transit.

What if Eve intercepts the message sent by Alice? Eve has her own public key (PubE), her own private key (PrivE), Alice's public key (PubA) and Bob's public key (PubB). Unfortunately for her, this doesn't do her any good; since she doesn't have Bob's private key, she can't retrieve the plaintext, and since she doesn't have Alice's private key, she can't modify the message and encrypt a new hash sum.

Data confidentiality and integrity are therefore assured, without forcing everybody to meet beforehand. All that's needed is a way to distribute public keys.

Digital signature

Before we tackle the issue of distribution, there's an interesting concept that deserves a little detour. When Alice applies a hash function to a plaintext and encrypts the obtained hash sum with her private key, the result is called a digital signature.

A digital signature guarantees two things:

  • if the decrypted hash sum matches the hash sum of the plaintext, the plaintext received corresponds to the plaintext sent by Alice
  • if the hash sum can be decrypted with Alice's public key, it proves the document was indeed sent by Alice (actually, it only proves the document was sent by someone who has Alice's private key, which we take for granted is Alice - we'll come back on this matter a bit later).

The latter is an important point - the digital signature proves the document was indeed sent by Alice, and Alice cannot claim she didn't send it.

Of course, this all takes for granted that Alice is the only one who can access her private key. If a private key is compromised, i.e. if it falls into someone else's hands, the associated public key becomes useless. Worse, it becomes dangerous, because people might still think it valid and believe that something signed with Alice's private key indeed comes from Alice. In the other direction, plaintext encrypted with Alice's public key will actually be readable by everyone who has access to Alice's private key. The simple moral of this is - private keys are an extremely sensitive piece of information, and must be kept utterly safe, at all times.

Certificates

There is one major problem left. For the system to work, Alice must be absolutely sure that the public key with which she encrypts the plaintext is indeed Bob's. Should she be tricked in using Eve's, for example, Eve would then be able to decrypt the ciphertext and access the plaintext.

Or, if what Bob thinks is Alice's public key is actually Eve's, Eve can sign a document that Bob will believe is coming from Alice.

Therefore, while the public keys per se are not meant to be secret, it is imperative that the person the public key is associated with be ascertained. This could be done through a face-to-face meeting, as we initially did at the beginning of this conversation; however, this is no more practical now than it was back then.

Back to the drawing board? Not quite. There might be an acceptable compromise.

What if Alice and Bob have a common friend, named Charlie. Charlie travels a lot, meets a lot of people, and is an all-around pleasant and very, very reliable individual. If, during his travels, Charlie has met with Alice and exchanged public keys with her, he now has a copy of Alice's public key that he is sure belongs to Alice, and Alice has a copy of Charlie's public key that she is sure belongs to Charlie. The next time Charlie meets with Bob, they can not only exchange public keys, but if Bob really trusts Charlie, he can also accept his copy of Alice's public key with assurance that it is indeed Alice's.

Charlie can even take this one step further; he can take Bob's public key, digitally sign it with his own private key, and send this to Alice. Alice is sure of her copy of Charlie's public key, so she can trust that this indeed comes from Charlie. And if she trusts Charlie to be a thorough and reliable individual, she can also accept what she has just received as Bob's public key.

If Charlie also meets Dennis and Fred, this process can be expanded even further. All the people who trust Charlie to do a good job can now have reliable access to each other's public key, just by meeting Charlie once.

There's a specific name for a public key digitally signed by someone many people trust; it is called a certificate. Usually, there is also some additional information enclosed, such as the name, organisation, email address, etc. of the person whose public key is contained within the certificate.

And now to the core of the matter...

Public Key Infrastructure

So what is a Public Key Infrastructure or PKI? It is a system designed to allow the creation and distribution of those certificates. In technical terms, it is the combination of:

  • a Registration Authority (or RA), in charge of verifying people's identity and associating that identity with their public key
  • a Certification Authority (or CA), in charge of generating certificates, i.e. signing people's public key and identity information with its own private key
  • a validation system that can confirm whether a specific certificate produced by this CA is still valid or not (for example, because the associated private key was lost or compromised, or because some information contained within has changed)

In other words, it's a Charlie. It's someone who participants can have direct contact with, who can validate people's identity and accept their public key, who can generate certificates for them and who can distribute those certificates. It's someone who is extremely meticulous and absolutely trustworthy, and who people trust.

What makes it even more useful is that PKIs can trust each other, under very specific conditions; when this occurs, a PKI's participants (or subscribers, as they are officially called) can access and trust the certificates of the other PKI's subscribers.

While it may not seem that way, the technical side of a PKI is fairly simple. What is complex is that to be of any use, it must be trusted by its subscribers, and must be deserving of that trust. This comes through the creation of very specific and very strict sets of rules and guidelines, that must be transparent, auditable and followed at all times. Those rules are enumerated in a document called the Certificate Policy (or CP), which states how the PKI must function.

So in a nutshell, a PKI is a system that guarantees that a specific public key belongs to a specific identity. What can be done with it? A lot.

For a more detailed yet still very reader-friendly look at PKI and its underlying concepts, we encourage you to take a look at our world-renowned PKI Fingerpuppet Theatre.




calvin 2011-08-17 15:57 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久无码av亚洲精品色午夜| 巨胸喷奶水www永久免费| 免费国产在线观看| 波多野结衣免费一区视频| 国产99在线|亚洲| 亚洲乱亚洲乱少妇无码| 最近中文字幕高清免费中文字幕mv | 久久国产乱子免费精品| 亚洲AV综合色区无码二区爱AV| 免费一级毛片在播放视频| 好久久免费视频高清| 亚洲色欲色欱wwW在线| 亚洲人成网亚洲欧洲无码久久| 成人无码区免费A片视频WWW| 一级A毛片免费观看久久精品 | 中文字幕亚洲免费无线观看日本 | 久久久久亚洲精品美女| 日韩免费观看的一级毛片| 中文字幕无码免费久久| 亚洲色欲色欲www在线播放| 久久精品国产亚洲av麻| 国产成人免费a在线视频app| 免费日本一区二区| 美女羞羞视频免费网站| 亚洲手机中文字幕| 亚洲日产无码中文字幕| 国产成人无码a区在线观看视频免费| 未满十八18禁止免费无码网站 | 成人av片无码免费天天看| 亚洲中文字幕无码av| 亚洲精品自产拍在线观看动漫| 国产精品美女自在线观看免费| 91老湿机福利免费体验| 9i9精品国产免费久久| 亚洲AV无码国产剧情| 亚洲国产成+人+综合| 久久久久亚洲AV无码专区首| 亚洲日韩在线中文字幕第一页 | 国产一区视频在线免费观看| 国产人成免费视频网站| 久久免费线看线看|