У меня дома настроен pihole, поэтому я хочу иметь возможность обрабатывать запросы для любого веб-сайта со своим собственным сервером, чтобы показать страницу "этот сайт был заблокирован".
Я пытаюсь сделать это, создав самозаверяющий сертификат для любого URL и установив его на свое устройство. Команды, которые я использовал для генерации сертификата:
openssl genrsa 2048 > pihole.key
openssl req -new -x509 -nodes -days 36500\
-key pihole.key \
-subj "/C=NL/ST=Utrecht, Inc./CN=*" \
-reqexts SAN \
-config <(cat /etc/ssl/openssl.cnf \
<(printf "\n[SAN]\nsubjectAltName=DNS:*,DNS:*")) \
-out pihole.cert
openssl x509 -noout -fingerprint -text < pihole.cert > pihole.info
cat pihole.cert pihole.info > pihole.pem
service apache2 reload
Я установил этот сертификат на моем устройстве Windows, и Windows показывает, что это действительный сертификат.
Тем не менее, Chrome дает мне NET::ERR_CERT_COMMON_NAME_INVALID
, а edge дает мне похожую ошибку (DLG_FLAGS_SEC_CERT_CN_INVALID
)
Почему это? CN = *
просто не разрешен? Как я могу достичь того, чего хочу?