def askTrustSiteCertificate(self, pem, reconnect): import M2Crypto.X509 as X509 import osaf.framework.certstore.certificate as certificate x509 = X509.load_cert_string(pem) fingerprint = certificate._fingerprint(x509) # XXX Need to design real dialog dlg = wx.SingleChoiceDialog( wx.GetApp().mainFrame, "Do you want to trust this certificate?\n" + "SHA1 fingerprint: " + fingerprint + "\n" + x509.as_text(), "Trust Site Certificate?", choices=[ "Trust the authenticity of this certificate until program exit.", "Trust the authenticity of this certificate permanently.", ], ) try: if dlg.ShowModal() == wx.ID_OK: selection = dlg.GetSelection() if selection == 0: import crypto.ssl as ssl ssl.trusted_until_shutdown_site_certs += [pem] else: certificate._importCertificate(x509, fingerprint, certificate.TRUST_AUTHENTICITY, self.itsView) reconnect() finally: dlg.Destroy()
def askTrustSiteCertificate(self, pem, reconnect): import M2Crypto.X509 as X509 import osaf.framework.certstore.certificate as certificate x509 = X509.load_cert_string(pem) fingerprint = certificate._fingerprint(x509) # XXX Need to design real dialog dlg = wx.SingleChoiceDialog(wx.GetApp().mainFrame, 'Do you want to trust this certificate?\n' + 'SHA1 fingerprint: ' + fingerprint + '\n' + x509.as_text(), 'Trust Site Certificate?', choices=['Trust the authenticity of this certificate until program exit.', 'Trust the authenticity of this certificate permanently.']) try: if dlg.ShowModal() == wx.ID_OK: selection = dlg.GetSelection() if selection == 0: import crypto.ssl as ssl ssl.trusted_until_shutdown_site_certs += [pem] else: certificate._importCertificate(x509, fingerprint, certificate.TRUST_AUTHENTICITY, self.itsView) reconnect() finally: dlg.Destroy()
def _importAndFind(self, pem, trust): x509 = X509.load_cert_string(pem) fingerprint = certificate._fingerprint(x509) certificate._importCertificate(x509, fingerprint, trust, self.rep.view) qString = u'for i in "//parcels/osaf/framework/certstore/Certificate" where i.fingerprint == "%s"' % fingerprint qName = 'fpCertQuery' + fingerprint q = self.rep.view.findPath('//Queries/%s' % (qName)) if q is None: p = self.rep.view.findPath('//Queries') k = self.rep.view.findPath('//Schema/Core/Query') q = Query.Query(qName, p, k, qString) assert len(q) == 1 for cert in q: #q[0] does not seem to work return cert
def _importAndFind(self, pem, trust): x509 = X509.load_cert_string(pem) fingerprint = certificate._fingerprint(x509) certificate._importCertificate(x509, fingerprint, trust, self.rep.view) qString = u'for i in "//parcels/osaf/framework/certstore/Certificate" where i.fingerprint == "%s"' % fingerprint qName = 'fpCertQuery' + fingerprint q = self.rep.view.findPath('//Queries/%s' %(qName)) if q is None: p = self.rep.view.findPath('//Queries') k = self.rep.view.findPath('//Schema/Core/Query') q = Query.Query(qName, p, k, qString) assert len(q) == 1 for cert in q: #q[0] does not seem to work return cert