def onSSLConnect( err ) : global logger if err is not None : logger.error( 'ssl connect err=%s' % str(err) ) sslAbort( sslConn ) op.notify( None ) return try : peerCert = sslConn.getPeerCertificate() peerKey = RSAKey() peerKey.fromPKey_PublicKey(peerCert.get_pubkey()) CN = peerCert.get_subject().CN if CN.count('@'): peerName, peerKeyID = CN.split('@') else: peerName, peerKeyID = CN, '' except (SSLError,X509Error,RSAError), e : logger.exception( 'ssl connect error' ) sslAbort( sslConn ) op.notify( None ) return
def onSSLAccept( err ) : global logger if err is not None : sslAbort( sslConn ) op.notify( None ) return try : peerCert = sslConn.getPeerCertificate() peerKey = RSAKey() peerKey.fromPKey_PublicKey(peerCert.get_pubkey()) CN = peerCert.get_subject().CN if CN.count('@'): peerName, peerKeyID = CN.split('@') else: peerName, peerKeyID = CN, '' except (SSLError,X509Error,RSAError) : logger.exception('ssl accept error') sslAbort( sslConn ) op.notify( None ) return data = (sslConn,peerKey,peerName,peerKeyID) # logger.info('onSSLAccept SUCCESSFUL with %s' % str(peerName)) op.notify( data )