# Https ## å å¯ç®æ³ ### 对称å å¯ç®æ³ åæ¹é½ç¨åä¸ä¸ªå¯é¥å å¯ï¼å¹¶ç¨è¯¥å¯é¥è¿è¡è§£å¯ã ã缺ç¹ãï¼å¯é¥ä¼ è¾ç»å¯¹æ¹æ¶å¯è½ä¼è¢«ç¬¬ä¸æ¹æªè·ï¼å å¯å°±å¤±å»äºæä¹ã ### RSAé对称å å¯ æ¯ä¸ªç§é¥å¯¹åºä¸ä¸ªå ¬é¥ï¼Aæ¹è¦ç»Bæ¹ä¼ ä¿¡æ¯ï¼åªè¦æ¿å°Bæ¹çå ¬é¥è¿è¡å å¯ï¼Bæ¹ç¨èªå·±çç§é¥è¿è¡è§£å¯ãå¨è¿ä¸ªè¿ç¨ä¸ï¼å°±ç®æ°æ®è¢«æªè·ï¼æ²¡æç§é¥çç¬¬ä¸æ¹ä¹è§£å¯ä¸äºæ°æ®ã ã缺ç¹ãï¼RSAå å¯èæ¶é¿ ### 对称å å¯ + RSAé对称å å¯ ä¸ºäºè§£å³RSAéåº¦æ ¢çç¹ç¹ï¼æ¯å¯¹ç§°å 坿 ¢ç¾åï¼ï¼å°å¯¹ç§°å å¯çå¯é¥éè¿é对称å å¯è¿è¡ä¼ è¾ï¼æ¿å°å¯é¥ä¹åå°±ç¨å¯¹ç§°å å¯è¿è¡é讯 ãæ¼æ´ãï¼å¦æç¬¬ä¸æ¹ä¼ªè£ 为ä¸é´äººï¼æ¦æªAåBçä¿¡æ¯ä¼ è¾ï¼é£ä»å¯ä»¥å·å·æ´æ¢åæ¹ååºçå ¬é¥ï¼éè¿èªå·±çç§é¥è§£å¯åæ¹çä¿¡æ¯ï¼ææçä¿¡æ¯å°æ´æ¼ç»äºç¬¬ä¸æ¹ã ### æ°åç¾å 为äºç¡®ä¿æ°æ®ä¼ è¾è¿ç¨ä¸æ²¡æç¬¬ä¸æ¹ä¸é´äººï¼éè¦æä¸ä¸ªè®¤è¯ä¸å¿æ¥è¯æä¼ è¾æ¹ç身份ã认è¯ä¸å¿åå¸è¯ä¹¦ï¼è¯ä¹¦æ``å ¬é¥ + ä¸ªäººåºæ¬ä¿¡æ¯``ã ç¶åç¨Hashç®æ³å°``å ¬é¥ + ä¸ªäººåºæ¬ä¿¡æ¯``çæä¿¡æ¯æè¦ï¼åå¯¹ä¿¡æ¯æè¦è¿è¡é对称å å¯(**ç¾å**)ã ç¾åå°å``å ¬é¥ + ä¸ªäººåºæ¬ä¿¡æ¯``ä¸èµ·ä½ä¸º**æ°åç¾å**ï¼ä¼ è¾ç»äºBæ¹ã Bæ¹ç¨è®¤è¯ä¸å¿ç»çå ¬é¥å°ä¿¡æ¯æè¦è§£å¯ï¼ç¶ååå°``å ¬é¥ + ä¸ªäººåºæ¬ä¿¡æ¯``è¿è¡Hashè¿ç®ï¼å¾åºçä¿¡æ¯æè¦è¿è¡å¯¹æ¯ã对æ¯éè¿ï¼å说æå ¬é¥å°±æ¯``ä¸ªäººåºæ¬ä¿¡æ¯``éçäººä¼ åºæ¥çã æ¿å°æ£ç¡®çå ¬é¥ï¼å°±å¯ä»¥éè¿ å¯¹ç§°å å¯ + RSAé对称å å¯ çæ¹å¼è¿è¡é讯ã ãæ¼æ´ãï¼å¨å ¬é¥ä¼ ç»CAè¿ç¨ä¸ï¼å¦æç¬¬ä¸æ¹ä¼ªè£ 为CAï¼ææçä¿¡æ¯å°ä¼è¢«æ¦æªä¿®æ¹ãè¿å¥½æµè§å¨/ç³»ç»å ç½®äºé¡¶çº§çCAè¯ä¹¦ï¼ä¿è¯ä¼ è¾ç»CAè¿ç¨ä¸ä¼è¢«æ¦æªã  ## Nginxé ç½®Httpsæå¡å¨ é ç½® HTTPS è¦ç¨å°ç§é¥ example.key æä»¶å example.crt è¯ä¹¦æä»¶ã è认è¯ä¸å¿çæè¯ä¹¦æä»¶éè¦ example.csr æä»¶ã ### CSRæä»¶ CSRï¼Cerificate Signing Requestï¼æä»¶å å«ç³è¯·è æ è¯åï¼å ¬é¥ä¿¡æ¯ ç¨OpenSSLçæCSRæä»¶ï¼ ``` openssl req -new -newkey rsa:2048 -sha256 -nodes -out kxjs_com.csr -keyout kxjs_com.key -subj "/C=CN/ST=GuangZhou/L=GuangZhou/O=Kxjs Inc./OU=Web Security/CN=kxjs.hp.gov.cn" ``` åæ°è¯´æï¼ - Cï¼Country ï¼å使å¨å½å®¶ï¼ä¸ºä¸¤ä½æ°çå½å®¶ç¼©åï¼å¦ï¼ CN å°±æ¯ä¸å½ - ST åæ®µï¼ State/Province ï¼å使å¨å·æç - L åæ®µï¼ Locality ï¼å使å¨åå¸ / æå¿åº - O åæ®µï¼ Organization ï¼æ¤ç½ç«çåä½åç§° - OU åæ®µï¼ Organization Unitï¼ä¸å±é¨é¨åç§°;ä¹å¸¸å¸¸ç¨äºæ¾ç¤ºå ¶ä»è¯ä¹¦ç¸å ³ä¿¡æ¯ï¼å¦è¯ä¹¦ç±»åï¼è¯ä¹¦äº§ååç§°æèº«ä»½éªè¯ç±»åæéªè¯å 容ç - CN åæ®µï¼ Common Name ï¼ç½ç«çåå ### CSRæä»¶ å°keyåcsræä»¶æ¾å°nginxæå¡å¨æå®ç®å½ä¸ ```properties listen 443 ssl; server_name kxjs.hp.gov.cn; charset utf-8; ssl on; ssl_certificate /usr/unify/nginx/ssl/server.crt; ssl_certificate_key /usr/unify/nginx/ssl/server.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ```