Server:
#!/usr/bin/env python
import SocketServer
import json
from OpenSSL import SSL
import os
import socket
TERMINATION_STRING = \"Done\"
CERTIFICATE_P
Try to change order to this:
...
ctx.use_certificate_file(CERTIFICATE_PATH)
ctx.use_privatekey_file(KEY_PATH)
...
When I use this order in my code I get meanfull error message on server start (not on client connect):
Traceback (most recent call last):
File "src/server_main.py", line 230, in
s = SSLClientsAuthServer()
File "src/server_main.py", line 134, in __init__
ctx.use_privatekey_file (self.config.value['SERVER_KEY'])
OpenSSL.SSL.Error: [('x509 certificate routines', 'X509_check_private_key', 'key values mismatch')]
This is because I have really used webserver.key that not corresponds webserver.crt:
$ openssl x509 -text -in certs/webserver.crt
Certificate:
Data:
Version: 3 (0x2)
...
Modulus:
00:a1:b6:e3:ce:53:3d:c9:96:a6:06:1d:3e:ae:34:
....
$ openssl rsa -text -in keys/webserver.key
Private-Key: (2048 bit)
modulus:
00:b7:34:61:d7:c7:0d:2b:5c:57:26:d0:8d:7a:04:
....
Make sure you have used the same RSA key.