summaryrefslogtreecommitdiffstats
path: root/python/examples/test.py
blob: 11e2b8d4c910e2ddcbd341c441587dea5b587767 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#! /usr/bin/env python

import sys
sys.path.insert(0, '../')
import lasso

lasso.init()

# creation d'une AuthnRequest
req = lasso.AuthnRequest("providerid.com",
                         "federated",
                         0,
                         1,
                         "pp", # None
                         "3",
                         ["test"],
                         None,
                         lasso.libAuthnContextComparisonExact, # None
                         "encoded_RelayState", # None
                         0,
                         None,
                         "obtained")

req.node.dump("iso-8859-1", 1)

query = req.node.url_encode(1, "../../examples/rsakey.pem")

print query

# creation d'une AuthnResponse
res = lasso.AuthnResponse(query, 1,
                          "../../examples/rsapub.pem",
                          "../../examples/rsakey.pem",
                          "../../examples/rsacert.pem", 0)

res.init("toto", 1)

assertion = lasso.assertion_build(res, "http://idprovider.com")
authentication_statement = lasso.authentication_statement_build("password",
                                                                "3",
                                                                "tralala",
                                                                "dslqkjfslfj",
                                                                "http://service-provider.com",
                                                                "federated",
                                                                "wxkfjesmqfj",
                                                                "http://idp-provider.com",
                                                                "federated",
                                                                "bearer")
lasso.assertion_add_authenticationStatement(assertion, authentication_statement);
res.add_assertion(assertion)
res.node.dump("iso-8859-1", 1)

# Verification de l'assertion de l'AuthnResponse
#assertion.verify_signature("../../examples/rootcert.pem")
res.node.get_child("Assertion").verify_signature("../../examples/rootcert.pem")

# recuperation du StatusCode
status = res.node.get_child("Status")
status_code = status.get_child("StatusCode")
print status_code.get_attr_value("Value")

#req.node.destroy()

#lasso.shutdown()