Как заставить SSL Python 3.7 принимать 127.0.0.1?
Я начал изучать python и ssl и создать приложение для сокетов, используя библиотеку ssl python. Во-первых, он работает только в Python 3.6, а не в 3.7. После некоторого Google я обнаружил, что сопоставление IP-адреса с полем CN устарело в течение 15 лет. Как я могу создать файлы.crt и.key, которые принимают 127.0.0.1? Если возможно, как сделать так, чтобы они сами подписывались и чтобы другие ПК работали вместе.
Я пытался создать со следующим.conf
[req]
default_bits = 4096
default_md = sha512
default_keyfile = server.key
prompt = no
encrypt_key = no
distinguished_name = req_distinguished_name
[req_distinguished_name]
C = BR
ST = RJ
L = VR
O = Kyuu
OU = Kaori
CN = 127.0.0.1
[v3_req]
keyUsage = keyEncipherment, dataEncipherment, digitalSignature
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = 127.0.0.1
DNS.2 = localhost
Obs:. Когда я использую s_client из OpenSSL, это работает
1 ответ
После большого количества гугл я нашел решение, используйте файл conf.
Файл:
#
#Creating a self-signed certificate
#
####################################################################
[CA_default]
copy_extensions = copy
[req]
default_bits = 4096
prompt = no
default_md = sha256
days = 3650
serial = 1
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
[req_distinguished_name]
C =
ST =
L =
O =
OU =
CN =
[ v3_ca ]
# The extentions to add to a self-signed cert
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
basicConstraints = CA:TRUE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
subjectAltName = @alternate_names
issuerAltName = issuer:copy
[alternate_names]
DNS.0 = localhost
Команда:
req -config [PATH HERE] -x509 -newkey rsa: 2048 -keyout key.key -nodes -out cert.crt
Путь подобен C:\path\to\file