Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Проверка владения доменомА когда коммерческие проекты экономят на сертификатах — это нормально? Позор Хабрахабру, Госуслугам, банку Открытие и всем остальным организациям, использующим сертификаты проверки домена! Даже у меня на сайте с простенькой JS-игрой про Путина сертификат выдан после проверки документов организации. Вот DigiCert и Entrust молодцы, вообще не позволяют себе выдавать сертификаты Domain Validation.
А бесплатные сервисы делают хорошее дело, позволяя защититься даже некоммерческим проектам.
Например, в FF не помогает удаление сертификатов центра WoSign CA Limited :(Поздновато, но всё же отвечу. Вы цепочку доверия смотрели? Сайты отправляют промежуточный сертификат WoSign, выданный от корневого сертификата StartCom или Comodo. Пока вы доверяете StartCom и Comodo (самый популярный CA, не так давно даже обогнал Symantec), вы будете доверять WoSign.
Я не был параноиком, пока все не сговорились.Почему-то я ждал от гугл хотя бы дешевые сертификаты, после новостей Google повышает сайты с HTTPS в выдаче, Google Chrome пометит HTTP-сайты как небезопасные и т.д. Так скоро в выдаче на первых местах будут сайты с очень дорогими сертификатами, а потом дешевле, с бесплатными сертификатами сайты будут желтыми, а по http вообще не будет пускать (chrome) и показывать в выдаче поиска? Алло, Корпорация добра дома?
wget -O - https://www.startssl.com/certs/ca.pem | tee -a ca-certs.pem > /dev/null
wget -O - https://www.startssl.com/certs/sub.class1.server.ca.pem | tee -a ca-certs.pem > /dev/null
wget -O - http://aia.startssl.com/certs/ca.crt | openssl x509 -inform DER -outform PEM | tee -a ca-certs.pem > /dev/null
wget -O - http://aia1.wosign.com/ca1g2-server1-free.cer | openssl x509 -inform DER -outform PEM | tee -a ca-certs.pem > /dev/null
wget -O - http://aia6.wosign.com/ca6.server1.free.cer | openssl x509 -inform DER -outform PEM | tee -a ca-certs.pem > /dev/null
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ca-certs.pem
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
openssl s_client -connect [site]:443 -tls1 -tlsextdebug -status
0000 - 01 .
OCSP response: no response sent
depth=0 description = Free SSL Cert apply URL: https://buy.wosign.com/free, CN = aristsoft.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 description = Free SSL Cert apply URL: https://buy.wosign.com/free, CN = aristsoft.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 description = Free SSL Cert apply URL: https://buy.wosign.com/free, CN = aristsoft.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/description=Free SSL Cert apply URL: https://buy.wosign.com/free/CN=aristsoft.com
i:/C=CN/O=WoSign CA Limited/CN=WoSign CA Free SSL Certificate G2
1 s:/C=CN/O=WoSign CA Limited/CN=Certification Authority of WoSign
i:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority
2 s:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority
i:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority
---
И можно ли что-то сделать с Mozilla (Ошибка: К сертификату нет доверия, так как отсутствует цепочка сертификатов издателя. (Код ошибки: sec_error_unknown_issuer)), или это своеобразная «плата» за «бесплатность»?
2015/03/25 00:23:12 [error] 20691#0: OCSP responder sent invalid "Content-Type" header: "text/html" while requesting certificate status, responder: ocsp6.wosign.com
2015/03/25 07:36:03 [error] 21954#0: OCSP responder prematurely closed connection while requesting certificate status, responder: ocsp6.wosign.com
openssl s_client -connect [site]:443 -tls1 -tlsextdebug -status
OCSP response:
======================================
OCSP Response Data:
OCSP Response Status: successful (0x0)
Response Type: Basic OCSP Response
Version: 1 (0x0)
Responder Id: C = CN, O = WoSign CA Limited, CN = WoSign Free SSL OCSP Responder(G2)
Produced At: Mar 25 10:41:04 2015 GMT
Responses:
Certificate ID:
Hash Algorithm: sha1
Issuer Name Hash: A06661F16CBCC23E98BC71914830B85AAA8D0A6B
Issuer Key Hash: D2A716207CAFD9959EEB430A19F2E0B9740EA8C7
Serial Number: 27EF81B5EA5699CECB7CF40275316340
Cert Status: good
This Update: Mar 25 10:41:04 2015 GMT
Next Update: Mar 27 10:41:04 2015 GMT
subject= /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority
notBefore=Sep 17 19:46:36 2006 GMT
notAfter=Sep 17 19:46:36 2036 GMT
SHA1 Fingerprint=3E:2B:F7:F2:03:1B:96:F3:8C:E6:C4:D8:A8:5D:3E:2D:58:47:6A:0F
openssl s_client -connect [site]:443 -tls1 -tlsextdebug -status
echo QUIT | openssl s_client -connect %YOUR_STAPLED_SITE%:443 -status 2> /dev/null | less'
CONNECTED(00000003) OCSP response: ====================================== OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response Version: 1 (0x0) Responder Id: C = CN, O = WoSign CA Limited, CN = WoSign Free SSL OCSP Responder(G2) Produced At: Mar 25 16:21:03 2015 GMT
openssl s_client -connect [site]:443 -tls1 -tlsextdebug -status
2015/03/25 23:22:14 [error] 4126#0: OCSP responder prematurely closed connection while requesting certificate status, responder: ocsp6.wosign.com
openssl ocsp -noverify -no_nonce -respout ocsp.resp -issuer [~/tmp/issuer.pem] -cert [~/tmp/server.crt] -url http://ocsp6.wosign.com/ca6/server1/free
openssl ocsp -issuer chain.pem -cert site.ru.pem -text -url http://ocsp6.wosign.com/ca6/server1/free -header "HOST" "ocsp6.wosign.com"
ngrep -q -W byline host ocsp6.wosign.com
interface: enp0s3 (10.0.2.0/255.255.255.0)
filter: ( host ocsp6.wosign.com ) and (ip or ip6)
[.....]
T 10.0.2.15:56353 -> 106.120.160.249:80 [AP]
POST /ca6/server1/free HTTP/1.0.
Host: ocsp6.wosign.com:80.
Content-Type: application/ocsp-request.
Content-Length: 83.
[запрос]
[.....]
T 106.120.160.249:80 -> 10.0.2.15:56353 [AP]
HTTP/1.0 200 OK.
Content-Type: application/ocsp-response.
Content-Transfer-Encoding: Binary.
T 106.120.160.249:80 -> 10.0.2.15:56353 [AP]
Content-Length: 1514.
Date: Mar 26 08:47:49 2015 GMT.
Expires: Mar 28 08:47:49 2015 GMT.
Connection: close.
[в тексте, в первых нескольких строчках]
WoSign Free SSL OCSP Responder(G2)
[тоже почти в начале, интервал валидности ответа (2-е суток)]
20150326084749Z....20150328084749Z
[.....]
add-apt-repository ppa:nginx/development
apt-get update
apt-get remove nginx
apt-get install nginx
1_ca.pem 2760 bytes
2_sub.class1.server.ca.pem 2090 bytes
4_ca1g2-server1-free.pem 1956 bytes
5_ca6.server1.free.pem 2029 bytes
6_ca1_xs_sc_2.pem 2264 bytes
7_ca1_dv_free_2.pem 2029 bytes
8_WS_CA1_G2.pem 1269 bytes
9_WS_CA1_NEW.pem 1956 bytes
<img src="//cdn.example.com/image.png">
) либо же всегда по HTTPS. Браузеры сейчас в принципе не грузят mixed content (тупо блокируют запрос). OCSP ERROR: Exception: Read timed out [http://ocsp6.wosign.com/ca6/server1/free]
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'HIGH:!aNULL:!MD5:!kEDH';
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
Бесплатные SSL-сертификаты на 2 года с поддержкой до 100 доменов