Source code for slixmpp.plugins.xep_0257.client_cert_management
# Slixmpp: The Slick XMPP Library# Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout# This file is part of Slixmpp.# See the file LICENSE for copying permission.importloggingfromslixmppimportIqfromslixmpp.pluginsimportBasePluginfromslixmpp.xmlstreamimportregister_stanza_pluginfromslixmpp.plugins.xep_0257importstanza,Certsfromslixmpp.plugins.xep_0257importAppendCert,DisableCert,RevokeCertlog=logging.getLogger(__name__)
[docs]classXEP_0257(BasePlugin):name='xep_0257'description='XEP-0257: Client Certificate Management for SASL EXTERNAL'dependencies={'xep_0030'}stanza=stanzadefplugin_init(self):register_stanza_plugin(Iq,Certs)register_stanza_plugin(Iq,AppendCert)register_stanza_plugin(Iq,DisableCert)register_stanza_plugin(Iq,RevokeCert)defget_certs(self,ifrom=None,timeout=None,callback=None,timeout_callback=None):iq=self.xmpp.Iq()iq['type']='get'iq['from']=ifromiq.enable('sasl_certs')returniq.send(timeout=timeout,callback=callback,timeout_callback=timeout_callback)defadd_cert(self,name,cert,allow_management=True,ifrom=None,timeout=None,callback=None,timeout_callback=None):iq=self.xmpp.Iq()iq['type']='set'iq['from']=ifromiq['sasl_cert_append']['name']=nameiq['sasl_cert_append']['x509cert']=certiq['sasl_cert_append']['cert_management']=allow_managementreturniq.send(timeout=timeout,callback=callback,timeout_callback=timeout_callback)defdisable_cert(self,name,ifrom=None,timeout=None,callback=None,timeout_callback=None):iq=self.xmpp.Iq()iq['type']='set'iq['from']=ifromiq['sasl_cert_disable']['name']=namereturniq.send(timeout=timeout,callback=callback,timeout_callback=timeout_callback)defrevoke_cert(self,name,ifrom=None,timeout=None,callback=None,timeout_callback=None):iq=self.xmpp.Iq()iq['type']='set'iq['from']=ifromiq['sasl_cert_revoke']['name']=namereturniq.send(timeout=timeout,callback=callback,timeout_callback=timeout_callback)