# tomcat é ç½®https HTTPS HTTPSï¼å ¨ç§°ï¼Hyper Text Transfer Protocol over Secure Socket Layer æ Hypertext Transfer Protocol Secureï¼è¶ ææ¬ä¼ è¾å®å ¨åè®®ï¼ï¼æ¯ä»¥å®å ¨ä¸ºç®æ çHTTPééï¼ç®å讲æ¯HTTPçå®å ¨çãå³HTTPä¸å å ¥SSLå±ï¼HTTPSçå®å ¨åºç¡æ¯SSLï¼å æ¤å å¯ç详ç»å 容就éè¦SSLã 宿¯ä¸ä¸ªURI schemeï¼æ½è±¡æ è¯ç¬¦ä½ç³»ï¼ï¼å¥æ³ç±»åhttp:ä½ç³»ãç¨äºå®å ¨çHTTPæ°æ®ä¼ è¾ãhttps:URL表æå®ä½¿ç¨äºHTTPï¼ä½HTTPSåå¨ä¸åäºHTTPçé»è®¤ç«¯å£åä¸ä¸ªå å¯/身份éªè¯å±ï¼å¨HTTPä¸TCPä¹é´ï¼ãè¿ä¸ªç³»ç»çæåç åç±ç½æ¯å ¬å¸(Netscape)è¿è¡ï¼å¹¶å ç½®äºå ¶æµè§å¨Netscape Navigatorä¸ï¼æä¾äºèº«ä»½éªè¯ä¸å å¯éè®¯æ¹æ³ãç°å¨å®è¢«å¹¿æ³ç¨äºä¸ç»´ç½ä¸å®å ¨ææçé讯ï¼ä¾å¦äº¤ææ¯ä»æ¹é¢ã HTTPSåHTTPçåºå« è¶ ææ¬ä¼ è¾åè®®HTTPå议被ç¨äºå¨Webæµè§å¨åç½ç«æå¡å¨ä¹é´ä¼ éä¿¡æ¯ãHTTPåè®®ä»¥æææ¹å¼åéå 容ï¼ä¸æä¾ä»»ä½æ¹å¼çæ°æ®å å¯ï¼å¦ææ»å»è æªåäºWebæµè§å¨åç½ç«æå¡å¨ä¹é´çä¼ è¾æ¥æï¼å°±å¯ä»¥ç´æ¥è¯»æå ¶ä¸çä¿¡æ¯ï¼å æ¤HTTPåè®®ä¸éåä¼ è¾ä¸äºææä¿¡æ¯ï¼æ¯å¦ä¿¡ç¨å¡å·ãå¯ç çã 为äºè§£å³HTTPåè®®çè¿ä¸ç¼ºé·ï¼éè¦ä½¿ç¨å¦ä¸ç§åè®®ï¼å®å ¨å¥æ¥åå±è¶ ææ¬ä¼ è¾åè®®HTTPSãä¸ºäºæ°æ®ä¼ è¾çå®å ¨ï¼HTTPSå¨HTTPçåºç¡ä¸å å ¥äºSSLåè®®ï¼SSLä¾é è¯ä¹¦æ¥éªè¯æå¡å¨ç身份ï¼å¹¶ä¸ºæµè§å¨åæå¡å¨ä¹é´çéä¿¡å å¯ã HTTPSåHTTPçåºå«ä¸»è¦ä¸ºä»¥ä¸åç¹ï¼ ä¸ãhttpsåè®®éè¦å°caç³è¯·è¯ä¹¦ï¼ä¸è¬å è´¹è¯ä¹¦å¾å°ï¼éè¦äº¤è´¹ã äºãhttpæ¯è¶ ææ¬ä¼ è¾åè®®ï¼ä¿¡æ¯æ¯ææä¼ è¾ï¼https åæ¯å ·æå®å ¨æ§çsslå å¯ä¼ è¾åè®®ã ä¸ãhttpåhttps使ç¨çæ¯å®å ¨ä¸åçè¿æ¥æ¹å¼ï¼ç¨ç端å£ä¹ä¸ä¸æ ·ï¼åè æ¯80ï¼åè æ¯443ã åãhttpçè¿æ¥å¾ç®åï¼æ¯æ ç¶æçï¼HTTPSåè®®æ¯ç±SSL+HTTPåè®®æå»ºçå¯è¿è¡å å¯ä¼ è¾ã身份认è¯çç½ç»åè®®ï¼æ¯httpåè®®å®å ¨ã 注æï¼å¨å¾®ä¿¡å°ç¨åºéé¢é½éå¶åªè½æhttpsåè®®ãæç´¢å¼ææåé½å¯¹httpsä¼å æ¶å½  HTTPS信任主æºçé®é¢ éç¨httpsçæå¡å¨å¿ é¡»ä»CA ï¼Certificate Authorityï¼ç³è¯·ä¸ä¸ªç¨äºè¯ææå¡å¨ç¨éç±»åçè¯ä¹¦ã该è¯ä¹¦åªæç¨äºå¯¹åºçæå¡å¨çæ¶åï¼å®¢æ·ç«¯æä¿¡ä»»æ¤ä¸»æºãæä»¥ææçé¶è¡ç³»ç»ç½ç«ï¼å ³é®é¨ååºç¨é½æ¯https çã客æ·éè¿ä¿¡ä»»è¯¥è¯ä¹¦ï¼ä»èä¿¡ä»»äºè¯¥ä¸»æºãå ¶å®è¿æ ·åæçå¾ä½ï¼ä½æ¯é¶è¡æ´ä¾§éå®å ¨ãè¿ä¸ç¹å¯¹å±åç½å¯¹å æä¾æå¡å¤çæå¡å¨æ²¡æä»»ä½æä¹ãå±åç½ä¸çæå¡å¨ï¼éç¨çè¯ä¹¦ä¸ç®¡æ¯èªå·±åå¸çè¿æ¯ä»å ¬ä¼çå°æ¹åå¸çï¼å ¶å®¢æ·ç«¯é½æ¯èªå·±äººï¼æä»¥è¯¥å±åç½ä¸ç客æ·ç«¯ä¹å°±è¯å®ä¿¡ä»»è¯¥æå¡å¨ã HTTPSé讯è¿ç¨ä¸çæ°æ®çæ³å¯åè¢«ç¯¡æ¹ 1ï¼ ä¸è¬æä¹ä¸çhttpsï¼å°±æ¯æå¡å¨æä¸ä¸ªè¯ä¹¦ã a) 主è¦ç®çæ¯ä¿è¯æå¡å¨å°±æ¯ä»å£°ç§°çæå¡å¨ï¼è¿ä¸ªè·ç¬¬ä¸ç¹ä¸æ ·ã b)æå¡ç«¯å客æ·ç«¯ä¹é´çææé讯ï¼é½æ¯å å¯çã i. å ·ä½è®²ï¼æ¯å®¢æ·ç«¯äº§çä¸ä¸ªå¯¹ç§°çå¯é¥ï¼éè¿æå¡å¨çè¯ä¹¦æ¥äº¤æ¢å¯é¥ï¼å³ä¸è¬æä¹ä¸çæ¡æè¿ç¨ã ii. æ¥ä¸æ¥ææçä¿¡æ¯å¾æ¥å°±é½æ¯å å¯çãç¬¬ä¸æ¹å³ä½¿æªè·ï¼ä¹æ²¡æä»»ä½æä¹ï¼å ä¸ºä»æ²¡æå¯é¥ï¼å½ç¶ç¯¡æ¹ä¹å°±æ²¡æä»ä¹æä¹äºã 2ï¼ å°è®¸å¯¹å®¢æ·ç«¯æè¦æ±çæ åµä¸ï¼ä¼è¦æ±å®¢æ·ç«¯ä¹å¿ é¡»æä¸ä¸ªè¯ä¹¦ã a) è¿é客æ·ç«¯è¯ä¹¦ï¼å ¶å®å°±ç±»ä¼¼è¡¨ç¤ºä¸ªäººä¿¡æ¯çæ¶åï¼é¤äºç¨æ·å/å¯ç ï¼è¿æä¸ä¸ªCA 认è¯è¿ç身份ãå 为个人è¯ä¹¦ä¸è¬æ¥è¯´æ¯å«äººæ æ³æ¨¡æçï¼ææè¿æ ·è½å¤æ´æ·±ç确认èªå·±ç身份ã b) ç®å大夿°ä¸ªäººé¶è¡çä¸ä¸çæ¯è¿ç§åæ³ï¼å ·ä½è¯ä¹¦å¯è½æ¯æ¿Uçï¼å³Uç¾ï¼ä½ä¸ºä¸ä¸ªå¤ä»½çè½½ä½ã HTTPS-ssl SSL(Secure Sockets Layer å®å ¨å¥æ¥å±),åå ¶ç»§ä»»è ä¼ è¾å±å®å ¨(Transport Layer Securityï¼TLS)æ¯ä¸ºç½ç»éä¿¡æä¾å®å ¨åæ°æ®å®æ´æ§çä¸ç§å®å ¨åè®®ãTLSä¸SSLå¨ä¼ è¾å±å¯¹ç½ç»è¿æ¥è¿è¡å å¯ã SSL (Secure Socket Layer)为Netscapeæç åï¼ç¨ä»¥ä¿éå¨Internet䏿°æ®ä¼ è¾ä¹å®å ¨ï¼å©ç¨æ°æ®å å¯(Encryption)ææ¯ï¼å¯ç¡®ä¿æ°æ®å¨ç½ç»ä¸ä¹ä¼ è¾è¿ç¨ä¸ä¸ä¼è¢«æªååçªå¬ãç®åä¸è¬éç¨ä¹è§æ ¼ä¸º40 bitä¹å®å ¨æ åï¼ç¾å½åå·²æ¨åº128 bit乿´é«å®å ¨æ åï¼ä½éå¶åºå¢ãåªè¦3.0çæ¬ä»¥ä¸ä¹I.E.æNetscapeæµè§å¨å³å¯æ¯æSSLã å½åçæ¬ä¸º3.0ãå®å·²è¢«å¹¿æ³å°ç¨äºWebæµè§å¨ä¸æå¡å¨ä¹é´ç身份认è¯åå 坿°æ®ä¼ è¾ã SSLåè®®ä½äºTCP/IPåè®®ä¸åç§åºç¨å±åè®®ä¹é´ï¼ä¸ºæ°æ®é讯æä¾å®å ¨æ¯æãSSLåè®®å¯å为两å±ï¼SSLè®°å½åè®®ï¼SSL Record Protocolï¼ï¼å®å»ºç«å¨å¯é çä¼ è¾åè®®ï¼å¦TCPï¼ä¹ä¸ï¼ä¸ºé«å±åè®®æä¾æ°æ®å°è£ ãå缩ãå å¯çåºæ¬åè½çæ¯æãSSLæ¡æåè®®ï¼SSL Handshake Protocolï¼ï¼å®å»ºç«å¨SSLè®°å½åè®®ä¹ä¸ï¼ç¨äºå¨å®é çæ°æ®ä¼ è¾å¼å§åï¼éè®¯åæ¹è¿è¡èº«ä»½è®¤è¯ãååå å¯ç®æ³ã交æ¢å å¯å¯é¥çã HTTPS-SSLåè®®æä¾çæå¡ä¸»è¦æåªäº 1ï¼è®¤è¯ç¨æ·åæå¡å¨ï¼ç¡®ä¿æ°æ®åéå°æ£ç¡®çå®¢æ·æºåæå¡å¨ 2ï¼å 坿°æ®ä»¥é²æ¢æ°æ®ä¸é被çªå 3ï¼ç»´æ¤æ°æ®ç宿´æ§ï¼ç¡®ä¿æ°æ®å¨ä¼ è¾è¿ç¨ä¸ä¸è¢«æ¹åã SSLåè®®ç工使µç¨ æå¡å¨è®¤è¯é¶æ®µï¼ 1ï¼å®¢æ·ç«¯åæå¡å¨åéä¸ä¸ªå¼å§ä¿¡æ¯âHelloâ以便å¼å§ä¸ä¸ªæ°çä¼è¯è¿æ¥ï¼ 2ï¼æå¡å¨æ ¹æ®å®¢æ·çä¿¡æ¯ç¡®å®æ¯å¦éè¦çææ°ç主å¯é¥ï¼å¦éè¦åæå¡å¨å¨ååºå®¢æ·çâHelloâä¿¡æ¯æ¶å°å å«çæä¸»å¯é¥æéçä¿¡æ¯ï¼ 3ï¼å®¢æ·æ ¹æ®æ¶å°çæå¡å¨ååºä¿¡æ¯ï¼äº§çä¸ä¸ªä¸»å¯é¥ï¼å¹¶ç¨æå¡å¨çå ¬å¼å¯é¥å å¯åä¼ ç»æå¡å¨ï¼ 4ï¼æå¡å¨æ¢å¤è¯¥ä¸»å¯é¥ï¼å¹¶è¿åç»å®¢æ·ä¸ä¸ªç¨ä¸»å¯é¥è®¤è¯çä¿¡æ¯ï¼ä»¥æ¤è®©å®¢æ·è®¤è¯æå¡å¨ã HTTPSç¨æ·è®¤è¯é¶æ®µ 卿¤ä¹åï¼æå¡å¨å·²ç»éè¿äºå®¢æ·è®¤è¯ï¼è¿ä¸é¶æ®µä¸»è¦å®æå¯¹å®¢æ·ç认è¯ãç»è®¤è¯çæå¡å¨åéä¸ä¸ªæé®ç»å®¢æ·ï¼å®¢æ·åè¿åï¼æ°åï¼ç¾ååçæé®åå ¶å ¬å¼å¯é¥ï¼ä»èåæå¡å¨æä¾è®¤è¯ã ä»SSL åè®®ææä¾çæå¡åå ¶å·¥ä½æµç¨å¯ä»¥çåºï¼SSLåè®®è¿è¡çåºç¡æ¯å家对æ¶è´¹è ä¿¡æ¯ä¿å¯çæ¿è¯ºï¼è¿å°±æå©äºåå®¶èä¸å©äºæ¶è´¹è ãå¨çµååå¡åçº§é¶æ®µï¼ç±äºè¿ä½çµååå¡çä¼ä¸å¤§å¤æ¯ä¿¡èªè¾é«çå¤§å ¬å¸ï¼å æ¤è¿é®é¢è¿æ²¡æå åæ´é²åºæ¥ãä½éççµååå¡çåå±ï¼åä¸å°åå ¬å¸ä¹åä¸è¿æ¥ï¼è¿æ ·å¨çµåæ¯ä»è¿ç¨ä¸çåä¸è®¤è¯é®é¢å°±è¶æ¥è¶çªåºãè½ç¶å¨SSL3.0ä¸éè¿æ°åç¾ååæ°åè¯ä¹¦å¯å®ç°æµè§å¨åWebæå¡å¨åæ¹ç身份éªè¯ï¼ä½æ¯SSLåè®®ä»åå¨ä¸äºé®é¢ï¼æ¯å¦ï¼åªè½æä¾äº¤æä¸å®¢æ·ä¸æå¡å¨é´çåæ¹è®¤è¯ï¼å¨æ¶å夿¹ççµå交æä¸ï¼SSLå议并ä¸è½åè°åæ¹é´çå®å ¨ä¼ è¾åä¿¡ä»»å ³ç³»ãå¨è¿ç§æ åµä¸ï¼VisaåMasterCard两大信ç¨å¡å ¬ç»ç»å¶å®äºSETåè®®ï¼ä¸ºç½ä¸ä¿¡ç¨å¡æ¯ä»æä¾äºå ¨çæ§çæ åã #### 使ç¨ä½¿ç¨javaèªå¸¦keytoolå建æ¬å°å¯é¥åº å建æ¬å°å¯é¥åºå½ä»¤: keytool -genkey -alias testkey -keyalg RSA -keystore "C:\Program Files\Java\Testkey" or keytool -genkey -alias caskeystore -keypass 123456 -keyalg RSA -keystore thekeystore * -alias ï¼ è¿éçtestkeyæ¯å«åï¼æ ¹æ®ä¸ªäººèªå®ä¹ * -keystore  ï¼è¿éæ¯å£°æçækeyçä½ç½®ï¼ç¨åä¼ç¨å°ï¼ è¾å ¥ä¸è¿°å½ä»¤åï¼ä¼è®©ä½ è¾å ¥å¯é¥åºå£ä»¤ï¼è®°ä½å¯ç ï¼ ## HTTPSç¨çæ¯å¯¹ç§°å å¯è¿æ¯é对称å å¯ï¼ #### HTTPSçµéæ·é® éç HTTPS 建ç«çææ¬ä¸éï¼ç°å¨å¤§é¨åçç½ç«é½å·²ç»å¼å§ç¨ä¸ HTTPS åè®®ã大家é½ç¥é HTTPS æ¯ HTTP å®å ¨ï¼ä¹å¬è¯´è¿ä¸ HTTPS åè®®ç¸å ³çæ¦å¿µæ SSL ãé对称å å¯ã CAè¯ä¹¦çã ä½å¯¹äºä»¥ä¸çµé䏿·é®å¯è½å°±çä¸ä¸äºï¼ 1ï¼ä¸ºä»ä¹ç¨äº HTTPS å°±æ¯å®å ¨çï¼ 2ï¼HTTPS çåºå±åçå¦ä½å®ç°ï¼ 3ï¼ç¨äº HTTPS å°±ä¸å®å®å ¨åï¼ ä¸ç¨æ å¿ï¼æ¬æå°å¨è§£çâHTTPSå°åºç¨çæ¯å¯¹ç§°å å¯è¿æ¯é对称å å¯ï¼âçåæ¶å±å±æ·±å ¥ï¼ä»åç䏿 HTTPS çå®å ¨æ§è®²éï¼æ¨ä¹å°åæ¶çè§£ä¸è¿°é®é¢ã #### HTTPS çå®ç°åç 大家å¯è½é½å¬è¯´è¿ HTTPS åè®®ä¹æä»¥æ¯å®å ¨çæ¯å 为 HTTPS åè®®ä¼å¯¹ä¼ è¾çæ°æ®è¿è¡å å¯ï¼èå å¯è¿ç¨æ¯ä½¿ç¨äºé对称å å¯å®ç°ãä½å ¶å®ï¼HTTPS å¨å å®¹ä¼ è¾çå å¯ä¸ä½¿ç¨çæ¯å¯¹ç§°å å¯ï¼é对称å å¯åªä½ç¨å¨è¯ä¹¦éªè¯é¶æ®µã HTTPSçæ´ä½è¿ç¨å为è¯ä¹¦éªè¯åæ°æ®ä¼ è¾é¶æ®µï¼å ·ä½ç交äºè¿ç¨å¦ä¸ï¼  * è¯ä¹¦éªè¯é¶æ®µï¼ 1. æµè§å¨åèµ· HTTPS 请æ±ï¼ 2. æå¡ç«¯è¿å HTTPS è¯ä¹¦ï¼ 3. 客æ·ç«¯éªè¯è¯ä¹¦æ¯å¦åæ³ï¼å¦æä¸åæ³åæç¤ºåè¦ã * æ°æ®ä¼ è¾é¶æ®µï¼ 1. å½è¯ä¹¦éªè¯åæ³åï¼å¨æ¬å°çæéæºæ°ï¼ 2. éè¿å ¬é¥å å¯éæºæ°ï¼å¹¶æå å¯åçéæºæ°ä¼ è¾å°æå¡ç«¯ï¼ 3. æå¡ç«¯éè¿ç§é¥å¯¹éæºæ°è¿è¡è§£å¯ï¼ 4. æå¡ç«¯éè¿å®¢æ·ç«¯ä¼ å ¥çéæºæ°æé 对称å å¯ç®æ³ï¼å¯¹è¿åç»æå 容è¿è¡å å¯åä¼ è¾ã #### 为ä»ä¹æ°æ®ä¼ è¾æ¯ç¨å¯¹ç§°å å¯ï¼ é¦å ï¼é对称å å¯çå è§£å¯æçæ¯é常ä½çï¼è http çåºç¨åºæ¯ä¸é常端ä¸ç«¯ä¹é´åå¨å¤§éç交äºï¼é对称å å¯çæçæ¯æ æ³æ¥åçã å¦å¤ï¼å¨ HTTPS çåºæ¯ä¸åªææå¡ç«¯ä¿åäºç§é¥ï¼ä¸å¯¹å ¬ç§é¥åªè½å®ç°ååçå è§£å¯ï¼æä»¥ HTTPS ä¸å å®¹ä¼ è¾å å¯éåçæ¯å¯¹ç§°å å¯ï¼è䏿¯é对称å å¯ã #### 为ä»ä¹éè¦ CA è®¤è¯æºæé¢åè¯ä¹¦ï¼ HTTP å议被认为ä¸å®å ¨æ¯å ä¸ºä¼ è¾è¿ç¨å®¹æè¢«çå¬è å¾çº¿çå¬ãä¼ªé æå¡å¨ï¼è HTTPS å议主è¦è§£å³ç便æ¯ç½ç»ä¼ è¾çå®å ¨æ§é®é¢ã é¦å æä»¬å设ä¸åå¨è®¤è¯æºæï¼ä»»ä½äººé½å¯ä»¥å¶ä½è¯ä¹¦ï¼è¿å¸¦æ¥çå®å ¨é£é©ä¾¿æ¯ç»å ¸çâä¸é´äººæ»å»âé®é¢ã âä¸é´äººæ»å»âçå ·ä½è¿ç¨å¦ä¸ï¼  å¦ä¸å¾æä»¥ï¼è¿ç¨åçå¦ä¸ï¼ 1. æ¬å°è¯·æ±è¢«å«æï¼å¦DNS嫿çï¼ï¼ææè¯·æ±ååéå°ä¸é´äººçæå¡å¨ï¼ 2. ä¸é´äººæå¡å¨è¿åä¸é´äººèªå·±çè¯ä¹¦ï¼ 3. 客æ·ç«¯åå»ºéæºæ°ï¼éè¿ä¸é´äººè¯ä¹¦çå ¬é¥å¯¹éæºæ°å å¯åä¼ éç»ä¸é´äººï¼ç¶ååéæºæ°æé 对称å å¯å¯¹ä¼ è¾å 容è¿è¡å å¯ä¼ è¾ï¼ 4. ä¸é´äººå ä¸ºæ¥æå®¢æ·ç«¯çéæºæ°ï¼å¯ä»¥éè¿å¯¹ç§°å å¯ç®æ³è¿è¡å 容解å¯ï¼ 5. ä¸é´äººä»¥å®¢æ·ç«¯ç请æ±å 容å忣è§ç½ç«å起请æ±ï¼ 6. å 为ä¸é´äººä¸æå¡å¨çéä¿¡è¿ç¨æ¯åæ³çï¼æ£è§ç½ç«éè¿å»ºç«çå®å ¨ééè¿åå å¯åçæ°æ®ï¼ 7. ä¸é´äººåå䏿£è§ç½ç«å»ºç«ç对称å å¯ç®æ³å¯¹å 容è¿è¡è§£å¯ï¼ 8. ä¸é´äººéè¿ä¸å®¢æ·ç«¯å»ºç«ç对称å å¯ç®æ³å¯¹æ£è§å 容è¿åçæ°æ®è¿è¡å å¯ä¼ è¾ï¼ 9. 客æ·ç«¯éè¿ä¸ä¸é´äººå»ºç«ç对称å å¯ç®æ³å¯¹è¿åç»ææ°æ®è¿è¡è§£å¯ã ç±äºç¼ºå°å¯¹è¯ä¹¦çéªè¯ï¼æä»¥å®¢æ·ç«¯è½ç¶åèµ·çæ¯ HTTPS 请æ±ï¼ä½å®¢æ·ç«¯å®å ¨ä¸ç¥éèªå·±çç½ç»å·²è¢«æ¦æªï¼ä¼ è¾å 容被ä¸é´äººå ¨é¨çªåã #### æµè§å¨æ¯å¦ä½ç¡®ä¿ CA è¯ä¹¦çåæ³æ§ï¼ ###### è¯ä¹¦å å«ä»ä¹ä¿¡æ¯ï¼ 1. é¢åæºæä¿¡æ¯ï¼ 2. å ¬é¥ï¼ 3. å ¬å¸ä¿¡æ¯ï¼ 4. ååï¼ 5. æææï¼ 6. æçº¹ï¼ 7. ...... ###### è¯ä¹¦çåæ³æ§ä¾æ®æ¯ä»ä¹ï¼ 1. é¦å ï¼æå¨æºææ¯è¦æè®¤è¯çï¼ä¸æ¯é便ä¸ä¸ªæºæé½æèµæ ¼é¢åè¯ä¹¦ï¼ä¸ç¶ä¹ä¸å«åæå¨æºæï¼ 2. å¦å¤ï¼è¯ä¹¦çå¯ä¿¡æ§åºäºä¿¡ä»»å¶ï¼æå¨æºæéè¦å¯¹å ¶é¢åçè¯ä¹¦è¿è¡ä¿¡ç¨è书ï¼åªè¦æ¯æå¨æºæçæçè¯ä¹¦ï¼æä»¬å°±è®¤ä¸ºæ¯åæ³çã æä»¥æå¨æºæä¼å¯¹ç³è¯·è çä¿¡æ¯è¿è¡å®¡æ ¸ï¼ä¸åç级çæå¨æºæå¯¹å®¡æ ¸çè¦æ±ä¹ä¸ä¸æ ·ï¼äºæ¯è¯ä¹¦ä¹å为å è´¹çã便å®çåè´µçã ###### æµè§å¨å¦ä½éªè¯è¯ä¹¦çåæ³æ§ï¼ æµè§å¨åèµ· HTTPS è¯·æ±æ¶ï¼æå¡å¨ä¼è¿åç½ç«ç SSL è¯ä¹¦ï¼æµè§å¨éè¦å¯¹è¯ä¹¦å以ä¸éªè¯ï¼ 1. éªè¯ååãæææçä¿¡æ¯æ¯å¦æ£ç¡®ï¼è¯ä¹¦ä¸é½æå å«è¿äºä¿¡æ¯ï¼æ¯è¾å®¹æå®æéªè¯ï¼ 2. 夿è¯ä¹¦æ¥æºæ¯å¦åæ³ï¼æ¯ä»½ç¾åè¯ä¹¦é½å¯ä»¥æ ¹æ®éªè¯é¾æ¥æ¾å°å¯¹åºçæ ¹è¯ä¹¦ï¼æä½ç³»ç»ãæµè§å¨ä¼å¨æ¬å°å卿卿ºæçæ ¹è¯ä¹¦ï¼å©ç¨æ¬å°æ ¹è¯ä¹¦å¯ä»¥å¯¹å¯¹åºæºæç¾åè¯ä¹¦å®ææ¥æºéªè¯ï¼å¦ä¸å¾æç¤ºï¼ï¼  3. 夿è¯ä¹¦æ¯å¦è¢«ç¯¡æ¹ï¼éè¦ä¸ CA æå¡å¨è¿è¡æ ¡éªï¼ 4. 夿è¯ä¹¦æ¯å¦å·²åéï¼éè¿CRLï¼Certificate Revocation List è¯ä¹¦æ³¨éå表ï¼å OCSPï¼Online Certificate Status Protocol å¨çº¿è¯ä¹¦ç¶æåè®®ï¼å®ç°ï¼å ¶ä¸ OCSP å¯ç¨äºç¬¬3æ¥ä¸ä»¥åå°ä¸ CA æå¡å¨ç交äºï¼æé«éªè¯æçã 以ä¸ä»»æä¸æ¥é½æ»¡è¶³çæ åµä¸æµè§å¨æè®¤ä¸ºè¯ä¹¦æ¯åæ³çã ** è¿éæä¸ä¸ªææ³äºå¾ä¹ çä½å ¶å®çæ¡å¾ç®åçé®é¢** > æ¢ç¶è¯ä¹¦æ¯å ¬å¼çï¼å¦æè¦åèµ·ä¸é´äººæ»å»ï¼æå¨å®ç½ä¸ä¸è½½ä¸ä»½è¯ä¹¦ä½ä¸ºæçæå¡å¨è¯ä¹¦ï¼é£å®¢æ·ç«¯è¯å®ä¼è®¤åè¿ä¸ªè¯ä¹¦æ¯åæ³çï¼å¦ä½é¿å è¿ç§è¯ä¹¦åç¨çæ åµï¼ >å ¶å®è¿å°±æ¯éå å¯å¯¹ç§°ä¸å ¬ç§é¥çç¨å¤ï¼è½ç¶ä¸é´äººå¯ä»¥å¾å°è¯ä¹¦ï¼ä½ç§é¥æ¯æ æ³è·åçï¼ä¸ä»½å ¬é¥æ¯ä¸å¯è½æ¨ç®åºå ¶å¯¹åºçç§é¥ï¼ä¸é´äººå³ä½¿æ¿å°è¯ä¹¦ä¹æ æ³ä¼ªè£ æåæ³æå¡ç«¯ï¼å ä¸ºæ æ³å¯¹å®¢æ·ç«¯ä¼ å ¥çå 坿°æ®è¿è¡è§£å¯ã ###### åªæè®¤è¯æºæå¯ä»¥çæè¯ä¹¦åï¼ å¦æéè¦æµè§å¨ä¸æç¤ºå®å ¨é£é©ï¼é£åªè½ä½¿ç¨è®¤è¯æºæç¾åçè¯ä¹¦ã使µè§å¨éå¸¸åªæ¯æç¤ºå®å ¨é£é©ï¼å¹¶ä¸éå¶ç½ç«ä¸è½è®¿é®ï¼æä»¥ä»ææ¯ä¸è°é½å¯ä»¥çæè¯ä¹¦ï¼åªè¦æè¯ä¹¦å°±å¯ä»¥å®æç½ç«ç HTTPS ä¼ è¾ã ä¾å¦æ©æç 12306 éç¨çä¾¿æ¯æå¨å®è£ ç§æè¯ä¹¦çå½¢å¼å®ç° HTTPS 访é®ï¼ #### æ¬å°éæºæ°è¢«çªåæä¹åï¼ è¯ä¹¦éªè¯æ¯éç¨é对称å å¯å®ç°ï¼ä½æ¯ä¼ è¾è¿ç¨æ¯éç¨å¯¹ç§°å å¯ï¼èå ¶ä¸å¯¹ç§°å å¯ç®æ³ä¸éè¦çéæºæ°æ¯ç±æ¬å°çæå¹¶ä¸åå¨äºæ¬å°çï¼HTTPS å¦ä½ä¿è¯éæºæ°ä¸ä¼è¢«çªåï¼ å ¶å® HTTPS å¹¶ä¸å å«å¯¹éæºæ°çå®å ¨ä¿è¯ï¼HTTPS ä¿è¯çåªæ¯ä¼ è¾è¿ç¨å®å ¨ï¼èéæºæ°åå¨äºæ¬å°ï¼æ¬å°çå®å ¨å±äºå¦ä¸å®å ¨èç´ï¼åºå¯¹çæªæ½æå®è£ ææ¯è½¯ä»¶ãåæ¨é©¬ãæµè§å¨åçº§ä¿®å¤æ¼æ´çã #### ç¨äº HTTPS ä¼è¢«æå åï¼ HTTPS çæ°æ®æ¯å å¯çï¼å¸¸è§ä¸æå å·¥å ·ä»£ç请æ±åæå°çå å 容æ¯å å¯ç¶æï¼æ æ³ç´æ¥æ¥çã 使¯ï¼æ£å¦åææè¯´ï¼æµè§å¨åªä¼æç¤ºå®å ¨é£é©ï¼å¦æç¨æ·ææä»ç¶å¯ä»¥ç»§ç»è®¿é®ç½ç«ï¼å®æè¯·æ±ãå æ¤ï¼åªè¦å®¢æ·ç«¯æ¯æä»¬èªå·±çç»ç«¯ï¼æä»¬ææçæ åµä¸ï¼ä¾¿å¯ä»¥ç»å»ºä¸é´äººç½ç»ï¼èæå å·¥å ·ä¾¿æ¯ä½ä¸ºä¸é´äººç代çãé常 HTTPS æå å·¥å ·çä½¿ç¨æ¹æ³æ¯ä¼çæä¸ä¸ªè¯ä¹¦ï¼ç¨æ·éè¦æå¨æè¯ä¹¦å®è£ å°å®¢æ·ç«¯ä¸ï¼ç¶åç»ç«¯åèµ·çææè¯·æ±éè¿è¯¥è¯ä¹¦å®æä¸æå å·¥å ·ç交äºï¼ç¶åæå å·¥å ·å转å请æ±å°æå¡å¨ï¼æåææå¡å¨è¿åçç»æå¨æ§å¶å°è¾åºååè¿åç»ç»ç«¯ï¼ä»è宿æ´ä¸ªè¯·æ±çéç¯ã æ¢ç¶ HTTPS ä¸è½é²æå ï¼é£ HTTPS æä»ä¹æä¹ï¼ > HTTPS å¯ä»¥é²æ¢ç¨æ·å¨ä¸ç¥æ çæ åµä¸éä¿¡é¾è·¯è¢«çå¬ï¼å¯¹äºä¸»å¨æä¿¡çæå æä½æ¯ä¸æä¾é²æ¤çï¼å 为è¿ä¸ªåºæ¯ç¨æ·æ¯å·²ç»å¯¹é£é©ç¥æ ãè¦é²æ¢è¢«æå ï¼éè¦éç¨åºç¨çº§çå®å ¨é²æ¤ï¼ä¾å¦éç¨ç§æç对称å å¯ï¼åæ¶å好移å¨ç«¯çé²åç¼è¯å åºï¼é²æ¢æ¬å°ç®æ³è¢«ç ´è§£ã