[Twisted-Python] twisted.internet.ssl

1) You'll need pyopenssl from pyopenssl.sf.net. 2) This is totally untested. Hint: pyopenssl 0.3 segfaults if you try to write to an SSL connection before you connect(). -- itamar(at)shtull-trauring.org || itamar(at)zoteca.com http://itamarst.org || http://www.zoteca.com # System imports from OpenSSL import SSL # sibling imports import tcp class Client(tcp.Client): """I am an SSL client. """ def createContext(self): """ Create a SSL context. Subclasses may want to override. """ self.ctx = SSL.Context(SSL.SSLv23_METHOD) def createInternetSocket(self): """(internal) create an SSL socket """ sock = tcp.Client.createInternetSocket(self) return SSL.Connection(self.ctx, sock) class Port(tcp.Port): """I am an SSL server. """ def createContext(self): """ Create a SSL context. Subclasses may want to override. """ self.ctx = SSL.Context(SSL.SSLv23_METHOD) self.ctx.use_certificate_file('server.pem') self.ctx.use_privatekey_file('server.pem') def createInternetSocket(self): """(internal) create an SSL socket """ sock = tcp.Port.createInternetSocket(self) return SSL.Connection(self.ctx, sock) -----BEGIN CERTIFICATE----- MIIDBjCCAm+gAwIBAgIBATANBgkqhkiG9w0BAQQFADB7MQswCQYDVQQGEwJTRzER MA8GA1UEChMITTJDcnlwdG8xFDASBgNVBAsTC00yQ3J5cHRvIENBMSQwIgYDVQQD ExtNMkNyeXB0byBDZXJ0aWZpY2F0ZSBNYXN0ZXIxHTAbBgkqhkiG9w0BCQEWDm5n cHNAcG9zdDEuY29tMB4XDTAwMDkxMDA5NTEzMFoXDTAyMDkxMDA5NTEzMFowUzEL MAkGA1UEBhMCU0cxETAPBgNVBAoTCE0yQ3J5cHRvMRIwEAYDVQQDEwlsb2NhbGhv c3QxHTAbBgkqhkiG9w0BCQEWDm5ncHNAcG9zdDEuY29tMFwwDQYJKoZIhvcNAQEB BQADSwAwSAJBAKy+e3dulvXzV7zoTZWc5TzgApr8DmeQHTYC8ydfzH7EECe4R1Xh 5kwIzOuuFfn178FBiS84gngaNcrFi0Z5fAkCAwEAAaOCAQQwggEAMAkGA1UdEwQC MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl MB0GA1UdDgQWBBTPhIKSvnsmYsBVNWjj0m3M2z0qVTCBpQYDVR0jBIGdMIGagBT7 hyNp65w6kxXlxb8pUU/+7Sg4AaF/pH0wezELMAkGA1UEBhMCU0cxETAPBgNVBAoT CE0yQ3J5cHRvMRQwEgYDVQQLEwtNMkNyeXB0byBDQTEkMCIGA1UEAxMbTTJDcnlw dG8gQ2VydGlmaWNhdGUgTWFzdGVyMR0wGwYJKoZIhvcNAQkBFg5uZ3BzQHBvc3Qx LmNvbYIBADANBgkqhkiG9w0BAQQFAAOBgQA7/CqT6PoHycTdhEStWNZde7M/2Yc6 BoJuVwnW8YxGO8Sn6UJ4FeffZNcYZddSDKosw8LtPOeWoK3JINjAk5jiPQ2cww++ 7QGG/g5NDjxFZNDJP1dGiLAxPW6JXwov4v0FmdzfLOZ01jDcgQQZqEpYlgpuI5JE WUQ9Ho4EzbYCOQ== -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- MIIBPAIBAAJBAKy+e3dulvXzV7zoTZWc5TzgApr8DmeQHTYC8ydfzH7EECe4R1Xh 5kwIzOuuFfn178FBiS84gngaNcrFi0Z5fAkCAwEAAQJBAIqm/bz4NA1H++Vx5Ewx OcKp3w19QSaZAwlGRtsUxrP7436QjnREM3Bm8ygU11BjkPVmtrKm6AayQfCHqJoT ZIECIQDW0BoMoL0HOYM/mrTLhaykYAVqgIeJsPjvkEhTFXWBuQIhAM3deFAvWNu4 nklUQ37XsCT2c9tmNt1LAT+slG2JOTTRAiAuXDtC/m3NYVwyHfFm+zKHRzHkClk2 HjubeEgjpj32AQIhAJqMGTaZVOwevTXvvHwNEH+vRWsAYU/gbx+OQB+7VOcBAiEA oolb6NMg/R3enNPvS1O4UU1H8wpaF77L4yiSWlE0p4w= -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE REQUEST----- MIIBDTCBuAIBADBTMQswCQYDVQQGEwJTRzERMA8GA1UEChMITTJDcnlwdG8xEjAQ BgNVBAMTCWxvY2FsaG9zdDEdMBsGCSqGSIb3DQEJARYObmdwc0Bwb3N0MS5jb20w XDANBgkqhkiG9w0BAQEFAANLADBIAkEArL57d26W9fNXvOhNlZzlPOACmvwOZ5Ad NgLzJ1/MfsQQJ7hHVeHmTAjM664V+fXvwUGJLziCeBo1ysWLRnl8CQIDAQABoAAw DQYJKoZIhvcNAQEEBQADQQA7uqbrNTjVWpF6By5ZNPvhZ4YdFgkeXFVWi5ao/TaP Vq4BG021fJ9nlHRtr4rotpgHDX1rr+iWeHKsx4+5DRSy -----END CERTIFICATE REQUEST-----

So how hard would it be too hook this up to twisted.spread? It'd be cool if there was a really transparent way to use PB over SSL. On Wed, Aug 08, 2001 at 02:41:30PM +0300, Itamar Shtull-Trauring wrote:
-- Chris Armstrong carmstro@twistedmatrix.com http://twistedmatrix.com/~carmstro carmstro@dynup.net

On Wed, 8 Aug 2001, Chris Armstrong wrote:
So how hard would it be too hook this up to twisted.spread? It'd be cool if there was a really transparent way to use PB over SSL.
Assuming it works, 1) pb does not require anything but a reliable byte stream 2) tcp provides a reliable byte stream 3) ssl provides a reliable byte stream from pb's level, this should be totally undetectable. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph

So how hard would it be too hook this up to twisted.spread? It'd be cool if there was a really transparent way to use PB over SSL. On Wed, Aug 08, 2001 at 02:41:30PM +0300, Itamar Shtull-Trauring wrote:
-- Chris Armstrong carmstro@twistedmatrix.com http://twistedmatrix.com/~carmstro carmstro@dynup.net

On Wed, 8 Aug 2001, Chris Armstrong wrote:
So how hard would it be too hook this up to twisted.spread? It'd be cool if there was a really transparent way to use PB over SSL.
Assuming it works, 1) pb does not require anything but a reliable byte stream 2) tcp provides a reliable byte stream 3) ssl provides a reliable byte stream from pb's level, this should be totally undetectable. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
participants (3)
-
Chris Armstrong
-
Glyph Lefkowitz
-
Itamar Shtull-Trauring