diff options
author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-05-25 13:38:12 +0000 |
---|---|---|
committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-05-25 13:38:12 +0000 |
commit | 0fad7d9ace52ae5d2630c76eb4da2896b0b81548 (patch) | |
tree | 04278235b8c2fad2b169569713c2a0d49e463bd6 /python/examples/test.py | |
parent | 25edc80a74530df9da9dcf6c426ffed4137ab0db (diff) | |
download | lasso-0fad7d9ace52ae5d2630c76eb4da2896b0b81548.tar.gz lasso-0fad7d9ace52ae5d2630c76eb4da2896b0b81548.tar.xz lasso-0fad7d9ace52ae5d2630c76eb4da2896b0b81548.zip |
*** empty log message ***
Diffstat (limited to 'python/examples/test.py')
-rwxr-xr-x | python/examples/test.py | 80 |
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() |