summaryrefslogtreecommitdiffstats
path: root/python/examples/test.py
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-05-25 13:38:12 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-05-25 13:38:12 +0000
commit0fad7d9ace52ae5d2630c76eb4da2896b0b81548 (patch)
tree04278235b8c2fad2b169569713c2a0d49e463bd6 /python/examples/test.py
parent25edc80a74530df9da9dcf6c426ffed4137ab0db (diff)
downloadlasso-0fad7d9ace52ae5d2630c76eb4da2896b0b81548.tar.gz
lasso-0fad7d9ace52ae5d2630c76eb4da2896b0b81548.tar.xz
lasso-0fad7d9ace52ae5d2630c76eb4da2896b0b81548.zip
*** empty log message ***
Diffstat (limited to 'python/examples/test.py')
-rwxr-xr-xpython/examples/test.py80
1 files changed, 46 insertions, 34 deletions
diff --git a/python/examples/test.py b/python/examples/test.py
index 39f1224a..9f4ada8f 100755
--- a/python/examples/test.py
+++ b/python/examples/test.py
@@ -10,7 +10,7 @@ lasso.init()
# creation d'une AuthnRequest
req = lasso.AuthnRequest("http://providerid.com")
req.set_forceAuthn(0)
-req.set_isPassive(0)
+req.set_isPassive(1)
req.set_protocolProfile(lasso.libProtocolProfilePost)
req.set_requestAuthnContext(["test1", "test2"],
None,
@@ -30,44 +30,56 @@ if protocolProfile == lasso.libProtocolProfilePost:
# verification de la signature de la query
print "Query signature check:", res.verify_signature("../../examples/rsapub.pem",
"../../examples/rsakey.pem")
- print "Must authenticate? :", res.must_authenticate(is_authenticated=0)
- # dump (sauvegarde avant authentification)
- dump_response = res.dump()
- res.destroy()
+ must_authenticate = res.must_authenticate(is_authenticated=0)
+ print "Must authenticate? :", must_authenticate
+
+ if must_authenticate:
+ # dump (sauvegarde avant authentification)
+ dump_response = res.dump()
+ res.destroy()
+
+ # reconstruction de la reponse apres authentification du Principal
+ res = lasso.AuthnResponse.new_from_dump(dump_response)
+ res.process_authentication_result(1)
+
+ # if NameIDPolicy omitted or none and federation KO
+ # statusCode = lib:FederationDoesNotExist
+
+ # creation de l'assertion
+ assertion = lasso.Assertion("issuer", res.get_attr_value("InResponseTo"))
+ authentication_statement = lasso.AuthenticationStatement("password",
+ "tralala",
+ "dslqkjfslfj",
+ "http://service-provider.com",
+ "federated",
+ "wxkfjesmqfj",
+ "http://idp-provider.com",
+ "federated")
+ assertion.add_authenticationStatement(authentication_statement)
+ assertion.set_signature(1, "../../examples/rsakey.pem",
+ "../../examples/rsacert.pem");
+ # ajout de l'assertion
+ res.add_assertion(assertion)
- # reconstruction de la reponse apres authentification du Principal
- res = lasso.AuthnResponse.new_from_dump(dump_response)
- res.process_authentication_result(1)
- # creation de l'assertion
- assertion = lasso.Assertion("issuer", res.get_attr_value("InResponseTo"))
- authentication_statement = lasso.AuthenticationStatement("password",
- "tralala",
- "dslqkjfslfj",
- "http://service-provider.com",
- "federated",
- "wxkfjesmqfj",
- "http://idp-provider.com",
- "federated")
- assertion.add_authenticationStatement(authentication_statement)
- assertion.set_signature(1, "../../examples/rsakey.pem",
- "../../examples/rsacert.pem");
- # ajout de l'assertion
- res.add_assertion(assertion)
# export de la response (base64 encodée) pr envoi au SP
res_b64 = res.export_to_base64()
res.destroy()
-
- # partie SP
- # reconstruction de la reponse
- res = lasso.AuthnResponse.new_from_export(res_b64, type=1)
- # Verification de la signature de l'assertion
- print "Assertion signature check: ", res.get_child("Assertion").verify_signature("../../examples/rootcert.pem")
- # recuperation du StatusCode
- status_code = res.get_child("StatusCode")
- # recuperation de la valeur de l'attribut "Value"
- print "Resultat de la demande d'authentification:", status_code.get_attr_value("Value")
- res.destroy()
else:
print "La Response (par artifact) n'est pas encore implementée"
+ lasso.shutdown()
+ sys.exit(0)
+
+# partie SP
+# reconstruction de la reponse
+res = lasso.AuthnResponse.new_from_export(res_b64, type=1)
+# Verification de la signature de l'assertion
+assertion = res.get_child("Assertion")
+if assertion:
+ print "Assertion signature check: ", res.get_child("Assertion").verify_signature("../../examples/rootcert.pem")
+# recuperation du StatusCode
+status_code = res.get_child("StatusCode")
+# recuperation de la valeur de l'attribut "Value"
+print "Resultat de la demande d'authentification:", status_code.get_attr_value("Value")
+res.destroy()
lasso.shutdown()