Skip to content Skip to sidebar Skip to footer

Ssl With Self Signed Certificate Using Python

I am trying to build a simple server in python using my self signed certificate. I created .cer, .pfx, .pvk files using makecert. context = ssl.create_default_context(ssl.Purpose.C

Solution 1:

When you take a look at the original source of _ssl.c:2580 you can see that SSL_CTX_use_certificate_chain_file failed. Since neither pw_info.error nor errno is set it's not easy to find the cause. The problem might be caused by the crt file. Open it in a text-editor and check if the file looks exactly as it should look like - also verify new-lines. If they don't match EXACTLY the function call will fail.

2567:    PySSL_BEGIN_ALLOW_THREADS_S(pw_info.thread_state);
2568:    r = SSL_CTX_use_certificate_chain_file(self->ctx, certfile_bytes);
2569:    PySSL_END_ALLOW_THREADS_S(pw_info.thread_state);
2570:    if (r != 1) {
2571:        if (pw_info.error) {
2572:            ERR_clear_error();
2573:            /* the password callback has already set the error information */2574:        }
2575:        else if (errno != 0) {
2576:            ERR_clear_error();
2577:            PyErr_SetFromErrno(PyExc_IOError);
2578:        }
2579:        else {
2580:            _setSSLError(NULL, 0, __FILE__, __LINE__);
2581:        }
2582:        goto error;

The documentation also says:

The certificates must be in PEM format and must be sorted starting with the subject's certificate (actual client or server certificate), followed by intermediate CA certificates if applicable, and ending at the highest level (root) CA.

Post a Comment for "Ssl With Self Signed Certificate Using Python"