Назад | Перейти на главную страницу

Невозможно перейти на страницу HTTPS с самозаверяющим сертификатом сервера и сертификатами ЦС DoD

Я пытаюсь создать локальный веб-сервер, используя Flask, микрофреймворк Python, который использует PKI в DoD CAC.

Я создал самозаверяющий корневой ЦС и сертификат сервера и ключ, следуя этот набор инструкций. Затем я загрузил необходимые файлы CA из Вот которые были:

Оттуда я загрузил следующее базовое приложение "hello world":

import ssl
from flask import Flask

app = Flask(__name__)

@app.route("/")
def main():
    return "Hello World"

if __name__ == '__main__':
    ctx = ssl.SSLContext(ssl.PROTOCOL_TLS)
    ctx.verify_mode = ssl.CERT_REQUIRED
    ctx.load_verify_locations('DODIDCA_49.pem')
    ctx.load_cert_chain('localhost.crt', 'localhost.key')
    app.run(ssl_context=ctx)

Это работает на https://127.0.0.1:5000/ и когда я захожу на него через Microsoft Edge, он запрашивает мои учетные данные CAC (которые я могу выбрать для использования и ввести свой PIN-код). После ввода моего PIN-кода страница перезагружается и сообщает, что веб-сайт небезопасен. Если бы я удалил verify_mode и load_verify_locations строк, мне больше не предлагается вводить мои учетные данные CAC, и веб-сайт загружается для печати текста.

Мне нужна предыдущая последовательность, которая требует от меня выбора действительных учетных данных, но я не могу понять, как заставить браузеры доверять сертификатам сервера в сочетании с предоставленными центрами сертификации DoD.

Как я могу сделать это в Windows 10?