Added code to retrieve certificate.

This commit is contained in:
Hans Hörberg
2014-02-28 08:30:18 +01:00
parent bc9a7bc0eb
commit 535acbafaa
4 changed files with 10 additions and 1 deletions

2
.gitignore vendored
View File

@@ -147,3 +147,5 @@ example/sp/sp_nocert.xml
example/sp/sp_nocert2.xml
example/sp/test.py
example/sp/sp_conf.py

View File

@@ -136,7 +136,7 @@ class AuthnBroker(object):
res = []
for ref in _refs[1:]:
item = self.db[ref]
item = self.db["info"][ref]
res.append((item["method"], ref))
if func(_level, item["level"]):
_level = item["level"]

View File

@@ -83,6 +83,11 @@ class Server(Entity):
self.iv = os.urandom(16)
self.lock = threading.Lock()
def getvalid_certificate_str(self):
if self.sec.cert_handler is not None:
return self.sec.cert_handler._last_validated_cert
return None
def support_AssertionIDRequest(self):
return True

View File

@@ -964,6 +964,7 @@ class CertHandler(object):
"""
self._verify_cert = False
self._generate_cert = False
self._last_cert_verified = None #This cert do not have to be valid, it is just the last cert to be validated.
if cert_type == "pem" and key_type == "pem":
self._verify_cert = verify_cert is True
self._security_context = security_context
@@ -993,6 +994,7 @@ class CertHandler(object):
def verify_cert(self, cert_file):
if self._verify_cert:
cert_str = self._osw.read_str_from_file(cert_file, "pem")
self._last_validated_cert = cert_str
if self._cert_handler_extra_class is not None and self._cert_handler_extra_class.use_validate_cert_func():
self._cert_handler_extra_class.validate_cert(cert_str, self._cert_str, self._key_str)
else: