2017-01-11 25 views
0

証明書ベースの認証(cba)を証明書ファイルとキーファイルとともに使用して、サーバー上で認証しようとしています。どのように私はaiohttpでこれを達成することができますか?ユーザー名とパスワードによるHTTP認証は正常に機能しますが、CBAの例は見つかりませんでした。aiohttpと証明書ベースの認証(cba)

私はaiohttpドキュメントhttp://aiohttp.readthedocs.io/en/stable/client.html#ssl-control-for-tcp-sockets

async def main_ssl(loop): 
    sslcontext = ssl.create_default_context() 
    sslcontext.load_cert_chain(certfile=cert_file, keyfile=client_key) 
    conn = aiohttp.TCPConnector(ssl_context=sslcontext) 
    async with aiohttp.ClientSession(connector=conn) as session: 
     await post_ssl(session) 

からの例を拡張しようとしたが、しかし、これは私に次のエラー与える:

aiohttp.errors.ClientOSError: [Errno 1] Cannot connect to host  
10.202.200.10:443 ssl:True [Can not connect to 10.202.200.10:443 [[SSL: 
CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)]] 
Unclosed client session 
client_session: <aiohttp.client.ClientSession object at 0x7f1dce7f5940> 

答えて

0

あなたはCLIENT_AUTHにコンテキストの目的を設定する必要があります(デフォルト=をSERVER_AUTH)。

sslcontext = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH) 
関連する問題