У меня проблема с внутренним сертификатом SSL. Итак, у меня есть оплаченный домен, который используется для наших внутренних сетевых ресурсов (интрасети). существует сервер Windows Server 2012 Active Directory, использующий SSL-сертификат, подписанный самоподписанным корневым сертификатом CA серверов. и это отлично работает в Windows (как показано на первом изображении ниже), если корневой центр сертификации не установлен, он выдаст предупреждение SSL. Когда корневой ЦС установлен, он работает правильно, поэтому я знаю, что сертификат недействителен.
Проблема заключается в том, что OS X без установки корневого центра сертификации выдает предупреждение SSL, но все равно не позволяет пользователю перейти к нему. когда корневой ЦС установлен в системную связку ключей и настроен на постоянное доверие. он просто не подключается вообще.
Я пытался:
Вывод OpenSSL:
CONNECTED(00000005) depth=0 verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 verify error:num=21:unable to verify the first certificate verify return:1
--- Certificate chain 0 s: i:/DC=ltd/DC=beaconsoft/CN=eddystone-ca
-----END CERTIFICATE-----
--- Server certificate subject= issuer=/DC=ltd/DC=beaconsoft/CN=eddystone-ca
--- No client certificate CA names sent Server Temp Key: ECDH, X25519, 253 bits
--- SSL handshake has read 2161 bytes and written 293 bytes
--- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: 8D370000FC765F11E029CA4E23ED4AE0804CAA88CAE16435514843DAF1C7E7D3
Session-ID-ctx:
Master-Key: EC6F98CE80E8F82A97D2D554335A41FF71B1E13D0097DC0F2755795085B97B426FE95B8EA81D6BE511C28EB3EECFAA51
Start Time: 1559054773
Timeout : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
Фактические данные сертификата были обрезаны по размеру.
Как я и подозревал, причиной ваших проблем является сертификат сервера.
В нем есть как минимум 2 вещи, которые следует исправить:
Точка распространения CRL:
[1]CRL Distribution Point
Distribution Point Name:
Full Name:
URL=ldap:///CN=eddystone-ca,CN=eddystone,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?certificateRevocationList?base?objectClass=cRLDistributionPoint (ldap:///CN=eddystone-ca,CN=eddystone,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?certificateRevocationList?base?objectClass=cRLDistributionPoint)
Доступ к информации о полномочиях:
[1]Authority Info Access
Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
Alternative Name:
URL=ldap:///CN=eddystone-ca,CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?cACertificate?base?objectClass=certificationAuthority (ldap:///CN=eddystone-ca,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?cACertificate?base?objectClass=certificationAuthority)
[2]Authority Info Access
Access Method=On-line Certificate Status Protocol (1.3.6.1.5.5.7.48.1)
Alternative Name:
URL=http://eddystone.beaconsoft.ltd
Ваша точка распространения CRL недоступна для Windows, не подключенной к домену, и для всех клиентов, отличных от Windows.
В соответствии с передовой современной практикой рекомендуется избегать использования LDAP как в CRL Distribution Point
и Authority Info Access
записи.
Вы можете прочитать больше, например, там
Также я не уверен, что в вашем сертификате пустая тема. Пока у вас еще есть определенное имя SAN DNS Name=Cape.beaconsoft.ltd
, Я бы тоже поставил правильную тему.
Кстати мы обсуждаем сертификат на overlord.beaconsoft.ltd
, и вы отправили один за Cape.beaconsoft.ltd
. Но если они созданы одним и тем же центром сертификации с использованием одного и того же шаблона - на самом деле это не имеет значения - просто исправьте записи CRL и AIA, чтобы они имели HTTP
только точки доступа