def populatePKITestCerts(): """ Populate AuthManager with test certificates. heavily based on testqgsauthmanager.cpp. """ global AUTHM global AUTHCFGID global AUTHTYPE assert (AUTHM is not None) if AUTHCFGID: removePKITestCerts() assert (AUTHCFGID is None) # set alice PKI data p_config = QgsAuthMethodConfig() p_config.setName("alice") p_config.setMethod("PKI-Paths") p_config.setUri("http://example.com") p_config.setConfig("certpath", os.path.join(PKIDATA, 'alice-cert.pem')) p_config.setConfig("keypath", os.path.join(PKIDATA, 'alice-key.pem')) assert p_config.isValid() # add authorities cacerts = QSslCertificate.fromPath( os.path.join(PKIDATA, 'subissuer-issuer-root-ca_issuer-2-root-2-ca_chains.pem')) assert cacerts is not None AUTHM.storeCertAuthorities(cacerts) AUTHM.rebuildCaCertsCache() AUTHM.rebuildTrustedCaCertsCache() # add alice cert # boundle = QgsPkiBundle.fromPemPaths(os.path.join(PKIDATA, 'alice-cert.pem'), # os.path.join(PKIDATA, 'alice-key_w-pass.pem'), # 'password', # cacerts) # assert boundle is not None # assert boundle.isValid() # register alice data in auth AUTHM.storeAuthenticationConfig(p_config) AUTHCFGID = p_config.id() assert (AUTHCFGID is not None) assert (AUTHCFGID != '') AUTHTYPE = p_config.method()
def populatePKITestCerts(): """ Populate AuthManager with test certificates. heavily based on testqgsauthmanager.cpp. """ global AUTHM global AUTHCFGID global AUTHTYPE assert (AUTHM is not None) if AUTHCFGID: removePKITestCerts() assert (AUTHCFGID is None) # set alice PKI data p_config = QgsAuthMethodConfig() p_config.setName("alice") p_config.setMethod("PKI-Paths") p_config.setUri("http://example.com") p_config.setConfig("certpath", os.path.join(PKIDATA, 'alice-cert.pem')) p_config.setConfig("keypath", os.path.join(PKIDATA, 'alice-key.pem')) assert p_config.isValid() # add authorities cacerts = QSslCertificate.fromPath(os.path.join(PKIDATA, 'subissuer-issuer-root-ca_issuer-2-root-2-ca_chains.pem')) assert cacerts is not None AUTHM.storeCertAuthorities(cacerts) AUTHM.rebuildCaCertsCache() AUTHM.rebuildTrustedCaCertsCache() # add alice cert # boundle = QgsPkiBundle.fromPemPaths(os.path.join(PKIDATA, 'alice-cert.pem'), # os.path.join(PKIDATA, 'alice-key_w-pass.pem'), # 'password', # cacerts) # assert boundle is not None # assert boundle.isValid() # register alice data in auth AUTHM.storeAuthenticationConfig(p_config) AUTHCFGID = p_config.id() assert (AUTHCFGID is not None) assert (AUTHCFGID != '') AUTHTYPE = p_config.method()
from PyQt4.QtNetwork import QSslCertificate from qgis.gui import QgsAuthCertInfoDialog # Certificate for test from http://fm4dd.com/openssl/certexamples.htm # The one retrieved is http://fm4dd.com/openssl/source/PEM/certs/1024b-rsa-example-cert.pem remote_url = 'http://fm4dd.com/openssl/source/PEM/certs/1024b-rsa-example-cert.pem' pem_path = remote_url.split('/')[-1] # Fetch certificate from remote url and write to file with open(pem_path, 'wb') as f: certificate_string = urllib.urlopen(remote_url).read() f.write(certificate_string) # Instanciate a first QgsAuthCertInfoDialog using QSslCertificate.fromPath auth_cert_info_dialog_1 = QgsAuthCertInfoDialog( QSslCertificate.fromPath(pem_path)[0], True ) auth_cert_info_dialog_1.show() # Instanciate a second QgsAuthCertInfoDialog using QSslCertificate.fromData auth_cert_info_dialog_2 = QgsAuthCertInfoDialog( QSslCertificate.fromData( QByteArray(certificate_string) )[0], False ) auth_cert_info_dialog_2.show()
# coding: utf-8 import urllib from PyQt4.QtNetwork import QSslCertificate from qgis.gui import QgsAuthCertInfo # Certificate for test from http://fm4dd.com/openssl/certexamples.htm # The one retrieved is http://fm4dd.com/openssl/source/PEM/certs/1024b-rsa-example-cert.pem remote_url = 'http://fm4dd.com/openssl/source/PEM/certs/1024b-rsa-example-cert.pem' pem_path = remote_url.split('/')[-1] # Fetch certificate from remote url and write to file with open(pem_path, 'wb') as f: certificate_string = urllib.urlopen(remote_url).read() f.write(certificate_string) # Instanciate a QgsAuthCertInfo using QSslCertificate.fromPath auth_cert_info = QgsAuthCertInfo(QSslCertificate.fromPath(pem_path)[0], True) auth_cert_info.show()