¿Hay alguna manera de que un programa Python/Twisted haga un uso limpio de la lista de certificados raíz que Internet Explorer usa para validar una conexión SSL a un servidor HTTPS? Las respuestas proporcionadas a Validate SSL certificates with Python son muy útiles, pero el código de ejemplo obtiene los certificados raíz al leer el directorio específico de Unix /etc/ssl/certs/*.pem y no me queda claro cuál sería el equivalente de Windows de este.¿Cuál es la forma correcta para que un programa Python/Twisted valide un certificado SSL en Windows?
¿Cuál es la forma correcta para que un programa Python/Twisted valide un certificado SSL en Windows?
Respuesta
El equivalente de Windows es "copiar /etc/ssl/certs/*.pem desde su máquina Linux". Mac y Windows tienen diferentes API nativas para acceder a sus respectivos almacenes de certificados, que Twisted no admite directamente. No usan certificados OpenSSL
de forma nativa, y ciertamente no colocan las cosas en un diseño tan sencillo como 'directorio de archivos PEM'. Si puede exportar sus raíces de confianza como PEM, puede preguntar Twisted (bueno, realmente, OpenSSL
a través de PyOpenSSL
) para verificarlo de esa manera.
Estoy muy interesado en hacer esto de una manera súper portátil, pero en realidad nunca lo he intentado. Aquí hay algunos enlaces para comenzar: SecureTransport reference, Microsoft Cryptography Functions.
En la referencia de SecureTransport, la documentación señala que SSLGetTrustedRoots
está en desuso, pero no menciona la alternativa SSLCopyTrustedRoots
que no lo es. Esa es probablemente la API con la que quieres comenzar en una Mac (a través de PyObjC). En Windows, no estoy seguro, salvo que en algún lugar de ese montón de funciones probablemente haya uno que haga lo que le gustaría, y tal vez pueda llamarlo con los tipos :).
- 1. ¿Cuál es la forma correcta de verificar un certificado SSL en Win32?
- 2. ¿Cuál es la forma correcta de que falle un servicio de Windows?
- 3. ¿Cuál es la forma correcta de cargar un ListBox?
- 4. ¿Cuál es la forma correcta de desconectar un MediaController?
- 5. ¿Cuál es la forma correcta de declarar un Doctype HTML5?
- 6. ¿Cómo instalar automáticamente un certificado SSL en AWS ElasticBeanstalk que se ejecuta en Windows y .NET?
- 7. ¿Cuál es la forma correcta de python para escribir métodos que solo toman un tipo particular?
- 8. Certificado SSL igual que certificado de firma?
- 9. ¿Cuál es la forma correcta de usar el tipo Guid en un archivo XSD?
- 10. Comprobar en Javascript si un certificado SSL es válido
- 11. ¿Es posible devolver dinámicamente un certificado SSL en NodeJS?
- 12. ¿Cuál es la forma correcta de redirigir?
- 13. Permitir que Java use un certificado que no sea de confianza para la conexión SSL/HTTPS
- 14. Hacer que SmtpClient trabaje con un certificado SSL autofirmado
- 15. ¿Cómo verifico un certificado SSL en python?
- 16. Cuál es la forma correcta para extender un método de la clase padre en Python moderna
- 17. Agregar certificado SSL autofirmado para libcurl
- 18. ¿Cuál es la ruta más rápida para escribir un programa GUI liviano en Windows?
- 19. ¿Importa la marca para un certificado SSL EV?
- 20. Crear un certificado OpenSSL en Windows
- 21. ¿Cuál es la forma correcta/correcta de probar si un objeto es un objeto jQuery en javascript?
- 22. ¿Cuál es la forma correcta para bloquear áreas de código
- 23. ¿Cuál es la forma correcta de agregar un Shutdown Hook para una aplicación Eclipse RCP?
- 24. Certificado SSL
- 25. ¿Cómo habilitar un certificado autofirmado para sockets SSL en Android?
- 26. Utilice un certificado ssl autofirmado en una aplicación para iphone
- 27. Certificado y respuesta correcta para la pregunta
- 28. ¿Cuál es la forma correcta de descargar/desvincular un registro de un formulario en ExtJS 4?
- 29. ¿Cuál es la forma correcta de hacer un TENER en un GRUPO MongoDB?
- 30. En Perl, ¿cuál es la forma correcta para que una subclase haga alias un método en la clase base?