Код: Выделить всё
[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = BR
stateOrProvinceName = SC
localityName = PB
organizationName = MyCompany
CN = 20.14.3.12 // My Local IPv4
[req_ext]
subjectAltName = @alt_names
[v3_req]
subjectAltName = @alt_names
[alt_names]
IP.1 = 20.14.3.12 // My Local IPv4
Код: Выделить всё
openssl req -x509 -days 36500 -newkey rsa:2048 -keyout key.key -out cert.crt -config san.cnf
В свой код .NET 8 я добавляю следующий тег Kestrel в appsettings.json:
Код: Выделить всё
"Kestrel": {
"Endpoints": {
"HttpsInlineCertAndKeyFile": {
"Url": "https://20.14.3.12:7142",
"Certificate": {
"Path": "./Utils/Certificates/cert.crt", // the path is correct
"KeyPath": "./Utils/Certificates/key.key",
"Password": "mypassword"
}
}
}
}
NET::ERR_CERT_COMMON_NAME_INVALID
PS: Я проверил это, используя localhost вместо моего IP, и все работает хорошо, единственное изменение, которое я сделал, это изменил IP.1 в файле .cnf на DNS.1
Подробнее здесь: https://stackoverflow.com/questions/784 ... gned-ssl-c