OpenSSL 라이브러리에 pyOpenSSL 인터페이스를 사용하고 있지만 필요한 일부 기능이 누락되어 있으며 이러한 메서드를 지원하도록 수정하지 못하게하고 있습니다 (다양한 원인).개체의 내부 구조에서 포인터에 액세스
그래서 내가 성취하고자하는 것은 OpenSSL 객체 포인터를 검색하는 것입니다. 그 후에, 나는 ctypes을 통해 빠진 함수를 호출 할 수있을 것이다. 가장 좋은 방법은 무엇입니까?
이미 id()를 사용하여 pyOpenSSL 개체에 대한 포인터를 얻을 수 있음을 알게되었습니다. 어떻게하면 ssl 변수에 액세스 할 수 있습니까? pyOpenSSL/connections.h에서
: 당신이 그들과 함께 아무것도 할 수
는typedef struct {
PyObject_HEAD
SSL *ssl;
ssl_ContextObj *context;
PyObject *socket;
PyThreadState *tstate;
PyObject *app_data;
} ssl_ConnectionObj;
pyOpenSSL에서 사용할 수없는 SSL_set_verify 함수를 사용하고 싶습니다. (SSL 연결이 아닌 컨텍스트 개체에만 set_verify가 있습니다) pyOpenSSL을 수정하고 싶지 않습니다. (우분투 패키지를 사용하고 싶습니다. 8.04 패치를 제공하더라도 수정되지 않는 LTS). – math
일반적으로 노출되지 않는 기능은 사용할 수 없습니다. pyOpenSSL을 사용하지 않고 그냥 ctypes를 사용하면이 작업을 수행 할 수 있습니다. ctypes에 익숙하지는 않지만 pyOpenSSL에서 올바른 핸들을 얻는 것이 어려울 수 있으므로 혼합으로 사용할 수 있을지는 의문입니다. 나는 패치를 제출하고 소스에서 pyOpenSSL을 설치하는 것이 가장 좋습니다. –