一、ciphers是配置ssl證書所需的加密套件,基於openssl。使用者可以控制在協商tls連線時要考慮的密碼。使已知密碼的名稱根據libcurl構建tls後端。
ssl協議有sslv2, sslv3, tlsv1, tlsv1.1和tlsv1.2。目前推薦使用的有tlsv1.2,其它協議都存在各種安全漏洞。在每種ssl協議中,又包括了一系列的加密演算法,也即是ciphers suite。
ssl3 加密套件:
null-md5 null-sha rc4-md5 rc4-sha idea-cbc-sha des-cbc3-sha dh-dss-des-cbc3-sha dh-rsa-des-cbc3-sha dhe-dss-des-cbc3-sha dhe-rsa-des-cbc3-sha adh-rc4-md5 adh-des-cbc3-sha
tls v1.0與1.1 加密套件:
null-md5 null-sha rc4-md5 rc4-sha idea-cbc-sha des-cbc3-sha dhe-dss-des-cbc3-sha dhe-rsa-des-cbc3-sha adh-rc4-md5 adh-des-cbc3-sha
tls v1.2加密套件:
null-sha256 aes128-sha256 aes256-sha256 aes128-gcm-sha256 aes256-gcm-sha384 dh-rsa-aes128-sha256 dh-rsa-aes256-sha256 dh-rsa-aes128-gcm-sha256 dh-rsa-aes256-gcm-sha384 dh-dss-aes128-sha256 dh-dss-aes256-sha256 dh-dss-aes128-gcm-sha256 dh-dss-aes256-gcm-sha384 dhe-rsa-aes128-sha256 dhe-rsa-aes256-sha256 dhe-rsa-aes128-gcm-sha256 dhe-rsa-aes256-gcm-sha384 dhe-dss-aes128-sha256 dhe-dss-aes256-sha256 dhe-dss-aes128-gcm-sha256 dhe-dss-aes256-gcm-sha384 ecdhe-rsa-aes128-sha256 ecdhe-rsa-aes256-sha384 ecdhe-rsa-aes128-gcm-sha256 ecdhe-rsa-aes256-gcm-sha384 ecdhe-ecdsa-aes128-sha256 ecdhe-ecdsa-aes256-sha384 ecdhe-ecdsa-aes128-gcm-sha256 ecdhe-ecdsa-aes256-gcm-sha384 adh-aes128-sha256 adh-aes256-sha256 adh-aes128-gcm-sha256 adh-aes256-gcm-sha384 aes128-ccm aes256-ccm dhe-rsa-aes128-ccm dhe-rsa-aes256-ccm aes128-ccm8 aes256-ccm8 dhe-rsa-aes128-ccm8 dhe-rsa-aes256-ccm8 ecdhe-ecdsa-aes128-ccm ecdhe-ecdsa-aes256-ccm ecdhe-ecdsa-aes128-ccm8 ecdhe-ecdsa-aes256-ccm8
基於ecc加密演算法的加密套件:
ecdh_ecdsa_null_sha ecdh_ecdsa_rc4_128_sha ecdh_ecdsa_3des_sha ecdh_ecdsa_aes_128_sha ecdh_ecdsa_aes_256_shaecdhe_ecdsa_null_sha ecdhe_ecdsa_rc4_128_sha ecdhe_ecdsa_3des_sha ecdhe_ecdsa_aes_128_sha ecdhe_ecdsa_aes_256_shaecdh_rsa_null_sha ecdh_rsa_128_sha ecdh_rsa_3des_sha ecdh_rsa_aes_128_sha ecdh_rsa_aes_256_sha ecdhe_rsa_nullecdhe_rsa_rc4_128_sha ecdhe_rsa_3des_sha ecdhe_rsa_aes_128_sha ecdhe_rsa_aes_256_sha ecdh_anon_null_shaecdh_anon_rc4_128sha ecdh_anon_3des_sha ecdh_anon_aes_128_sha ecdh_anon_aes_256_sha
二、推薦伺服器使用的加密協議與套件
nginx:
ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!3des:!anull:!md5:!adh:!rc4; #首選加密套件
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; #允許的加密協議
apache:
sslprotocol all -sslv2 -sslv3 #禁止不安全的加密協議
sslciphersuite ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!3des:!md5:!adh:!rc4:!dh:!dhe #首選的加密套件
tomcat:
sslenabledprotocols="tlsv1,tlsv1.2"
ciphers="tls_ecdhe_ecdsa_with_aes_256_gcm_sha384,
tls_ecdhe_rsa_with_aes_128_gcm_sha256,
tls_ecdhe_ecdsa_with_aes_128_gcm_sha256,
tls_ecdhe_rsa_with_aes_256_gcm_sha384,
tls_rsa_with_aes_128_cbc_sha256,
tls_rsa_with_aes_128_cbc_sha,
tls_rsa_with_aes_128_gcm_sha256,
tls_dhe_rsa_with_aes_128_cbc_sha,
tls_dhe_rsa_with_aes_256_cbc_sha"
AES 256 加密和解密 for C
這幾天在寫乙個對檔案進行加密解密的程式,翻了以前在貼過的一段 稍微整理了一下,寫成乙個方便呼叫的類,並做了注釋。這裡需要特別說明的是,aes 需要提供2個字串,乙個是key,乙個是iv,並且都有長度要求。但對於一般的加密來說,是比較麻煩的。所以我還提供了乙個方便呼叫的 方法,只需提供乙個密碼,通過 ...
SSL證書加密演算法
ssl證書是對http協議進行加密的,現代密碼技術分為兩類 對稱加密演算法 秘密鑰匙加密 非對稱加密演算法 公開金鑰加密 ssl證書的加密技術是橢圓曲線密碼編碼學 用來加密敏感資料等資訊,常用演算法有des 3des,aes des3des aesdata encryption standard t...
IOS 加密(其中包括AES256 MD5)
前言 加密演算法在ios中是很普遍的,很多地方都可能用的到,其中aes256和md5加密是比較常用的。一 md5加密 import inte ce nsstring md5encrypt nsstring md5encrypt end import nsstring md5encrypt.h imp...