Skip to content

Commit 508f1e8

Browse files
committed
fix: updated settings
1 parent ea6bbed commit 508f1e8

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

pyeudiw/tests/settings.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,61 @@
55

66
from pyeudiw.tools.utils import exp_from_now, iat_now
77
from pyeudiw.tests.x509.test_x509 import gen_chain
8+
from ssl import DER_cert_to_PEM_cert
89

910
from pyeudiw.tests.federation.base import ta_jwk
11+
from cryptography.hazmat.primitives.asymmetric import rsa
1012

1113
BASE_URL = "https://example.com"
1214
AUTHZ_PAGE = "example.com"
1315
AUTH_ENDPOINT = "https://example.com/auth"
1416
CLIENT_ID = "client_id"
1517

18+
19+
def base64url_to_int(val):
20+
import base64
21+
import binascii
22+
return int.from_bytes(base64.urlsafe_b64decode(val + '=='), 'big')
23+
24+
jwk = {
25+
"kty": "RSA",
26+
"use": "sig",
27+
"alg": "RS256",
28+
"kid": "m00NPAelNBnG_wK2R5EpI_k-GWCHEUySamQYubgFjCg",
29+
"d": "nMsnqz0lPHNGBgUqyuJ5nXQ0jh-mzs6d2xOY_QhpkRW1kEbexRJDdVV3fqMxj_s0MiF8mn-s8ea3e8cbNDgIy000Wvx05y1rMkB6KaZX2ZL5jwU7i_xP6NlLh8itikqJz7kKQSILgibQFFQDcScpEk8gUKa6fmSJQVwTII6GoJCdiJflv-FI2OQ_TCBQEEVVLpeUiVSP0n3OMUKGBlbaHOQkArUpla_ke_mtdfIrl7uB74Rxrin68KtFHkGDGdJPs-PPO1yJ2paFZI9QR_ettZ22v45c-qIgmCjsEnITDMaO9724PU_umlWsWe36Y9RAAzofKsjKqvA1OIzU03ob9Q",
30+
"n": "sP6jt1XwJE0JDKxy4B7r3Jdb8W6bSRoVunyjWMgl5IafqFwHsJlYgCAWPeTrAL-iyjdnWC1csHuTqWjdndDL-oqEarrqoDAycVkfFTUTD81_wVhWUzAwxhQHiT7PTUIsV7m9VGlfC_kdCpQl5CcK1yx2nQ1KbqWOV1_5WnMgnN_EpNmztkZDnJmKedVduOb2dKWwnLS3fcGvUxXc87DjAzC2vfgQSoQfXAZbwItyS6OinFiUnBxRvt9ZY2IapjI1-wwDKKeRrqPC-fV2oWTrMqoYAvIDnf9AjKHAbIw7q301-7-eaUMF1hVtAz1XeXvMp0wK8_uSo9Vgv1vHhBpOwQ",
31+
"e": "AQAB",
32+
"p": "0ViKTSyZdLtvbLBpTvVAXTdrhTwGXuh16PadQMAVmkoxOPiExRB5uLiy2ADaVKSglia5aQBUp9v0ygEEOmkiUtn5A26D9ui0dkPR0hx4fwqCOOmA2ZyDUNFJ_qrGSwT1SxGQDHeRteymJG7uN9QekS3XiBDgFJxwl-vVpoSTBJM",
33+
"q": "2HBr9qhVd3zZUQuNb7ro06ErLl4fhL-DiKsNqXB772tDNTJYeog1nOWgS22tcv5WHrSoYF1x5Q74YVoA6yVj6DwFx2Hc2pYZazzhYMRC3NAWkTEdroy9IjtpzKIpQIqw-sq8CbWVBXzho8uQBCdg8h73z11_HPyXT9BqQCmxJ9s",
34+
"dp": "WsQ32rQuqNUnv4lRb4GYcZI41SCsZnQFw4dBsTRXaXknlFr0PfkhvXyfVlYwU6i5U8DgfO0-xzTwErGUIrs4vZFyjRFauDA3JlvLWn0rpXFp-sELM87PhLfpjDiBFz_EFtM7kJw7GhTMCFnsgVpAEpQ8sesXLPiTPNts2_D5SW8",
35+
"dq": "jWlucLrtFGOjDRuyLjT9l__uWZ4vk6kZRHsWMwWGRBhd0ezx-CT0em1hPMcNE1vvYqKAfG2xU4pjaB_JB9nnG73TvMBI7xwwwWsGihXQ5bqjc_uWPAxCKpKM_qFYuI2lMkaxctqL4gkE1-LRVpVv9uGa4YZh3ct_BSvTr9ZNpA8",
36+
"qi": "kn9Etj4a2erCUmoZUQalPjHxCRYm5Q3wAkFIRGSQADA51mkwQHyTYqXbHcmXn2ZgXBVI6XDWJB51Me-NCPfITTlusqxvATF7Q-QJtdK_FbgNtcVRNc1FMq_M7VBHA1i9wJR7T4t57aywfXPmlsA5TToTDRe-ybdw0C3ys4KQATs"
37+
}
38+
39+
# Extract components from JWK
40+
_n = base64url_to_int(jwk['n'])
41+
_e = base64url_to_int(jwk['e'])
42+
_d = base64url_to_int(jwk['d'])
43+
_p = base64url_to_int(jwk['p'])
44+
_q = base64url_to_int(jwk['q'])
45+
_dp = base64url_to_int(jwk['dp'])
46+
_dq = base64url_to_int(jwk['dq'])
47+
_qi = base64url_to_int(jwk['qi'])
48+
49+
# Create RSA private key
50+
private_key = rsa.RSAPrivateNumbers(
51+
p=_p,
52+
q=_q,
53+
d=_d,
54+
dmp1=_dp,
55+
dmq1=_dq,
56+
iqmp=_qi,
57+
public_numbers=rsa.RSAPublicNumbers(e=_e, n=_n)
58+
).private_key()
59+
60+
DEFAULT_X509_CHAIN = gen_chain(leaf_private_key=private_key)
61+
DEFAULT_X509_LEAF_JWK = jwk
62+
1663
httpc_params = {
1764
"connection": {"ssl": True},
1865
"session": {"timeout": 1},
@@ -267,6 +314,10 @@
267314
"relying_party_certificate_chains_by_ca":{
268315
"ca.example.com": gen_chain(leaf_cn="example.com"),
269316
},
317+
"certificate_authorities": {
318+
"ca.example.com": DER_cert_to_PEM_cert(DEFAULT_X509_CHAIN[-1]),
319+
"https://credential-issuer.example.org": "-----BEGIN CERTIFICATE-----\nMIIB/jCCAaSgAwIBAgIUUMBi34bUh6gnoMbxypdmBk/JeUMwCgYIKoZIzj0EAwIw\nZDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNh\nbiBGcmFuY2lzY28xEzARBgNVBAoMCk15IENvbXBhbnkxEzARBgNVBAMMCm15c2l0\nZS5jb20wHhcNMjUwMzI1MTQyMTE0WhcNMjUwNDA0MTQyMTE0WjBkMQswCQYDVQQG\nEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNj\nbzETMBEGA1UECgwKTXkgQ29tcGFueTETMBEGA1UEAwwKbXlzaXRlLmNvbTBZMBMG\nByqGSM49AgEGCCqGSM49AwEHA0IABEXbtJ1tl7OFv1FF4q3BSy7kFlDUxvdQr03c\ncT72OoZw/BR+q735qhltuHSuDeAt5O7yNbSbS0KQbQvf4HQWzDujNDAyMDAGA1Ud\nEQQpMCeGJWh0dHBzOi8vY3JlZGVudGlhbC1pc3N1ZXIuZXhhbXBsZS5vcmcwCgYI\nKoZIzj0EAwIDSAAwRQIgFgMjgF11XRv0E1rtNmWWOarprjbmu6tqOsulAMFXxV4C\nIQDrpFoPCc2uDlEY4BzS10prwAgonpZeg/lm8/ll0IjVkQ==\n-----END CERTIFICATE-----\n"
320+
},
270321
"private_keys": [
271322
{
272323
"kty": "RSA",

0 commit comments

Comments
 (0)