udap_security_test_kit 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/udap_security_test_kit/authorization_code_authentication_group.rb +33 -38
- data/lib/udap_security_test_kit/authorization_code_group.rb +2 -8
- data/lib/udap_security_test_kit/client_credentials_authentication_group.rb +33 -38
- data/lib/udap_security_test_kit/client_credentials_group.rb +2 -8
- data/lib/udap_security_test_kit/dynamic_client_registration_group.rb +0 -1
- data/lib/udap_security_test_kit/version.rb +1 -1
- data/lib/udap_security_test_kit.rb +0 -6
- metadata +2 -3
- data/lib/udap_security_test_kit/generate_client_certs_test.rb +0 -60
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 191991de0d6424f3f08d07ef03bb5609a2fad336acdde0f61e4a62de7786fdd2
|
4
|
+
data.tar.gz: f65208486d7cea656ce8aa10f54cffc0ec885200703ce753e7d6c179e111a533
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d47d7583522b6f734d6048333dc9e127f21f503e0ed0369872a3af86f40c36d904c1ab50d00b886ff3d49158be427b6638f3f3e54f3ac24070ca5bb664276fc7
|
7
|
+
data.tar.gz: 868a2a47d0c8575db14b97327027b2221e19367ac6daa37376992b7bf6cbc87c905327351c7f2233b1b62507765e4a389c86e4e61e2c280e356b367f0ace89fa
|
@@ -14,45 +14,40 @@ module UDAPSecurityTestKit
|
|
14
14
|
)
|
15
15
|
id :udap_authorization_code_authentication_group
|
16
16
|
|
17
|
+
config(
|
18
|
+
requests: {
|
19
|
+
token_exchange: {
|
20
|
+
name: :udap_auth_code_flow_token_exchange
|
21
|
+
}
|
22
|
+
},
|
23
|
+
inputs: {
|
24
|
+
udap_client_id: {
|
25
|
+
name: :udap_authorization_code_flow_client_id
|
26
|
+
},
|
27
|
+
token_response_body: {
|
28
|
+
name: :udap_auth_code_flow_token_exchange_response_body
|
29
|
+
}
|
30
|
+
},
|
31
|
+
outputs: {
|
32
|
+
udap_access_token: {
|
33
|
+
name: :udap_auth_code_flow_access_token
|
34
|
+
},
|
35
|
+
udap_expires_in: {
|
36
|
+
name: :udap_auth_code_flow_expires_in
|
37
|
+
},
|
38
|
+
udap_received_scopes: {
|
39
|
+
name: :udap_auth_code_flow_received_scopes
|
40
|
+
},
|
41
|
+
udap_refresh_token: {
|
42
|
+
name: :udap_auth_code_flow_refresh_token
|
43
|
+
}
|
44
|
+
}
|
45
|
+
)
|
46
|
+
|
17
47
|
test from: :udap_authorization_code_redirect
|
18
48
|
test from: :udap_authorization_code_received
|
19
|
-
test from: :udap_authorization_code_token_exchange
|
20
|
-
|
21
|
-
|
22
|
-
token_exchange: {
|
23
|
-
name: :udap_auth_code_flow_token_exchange
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
test from: :udap_token_exchange_response_body,
|
28
|
-
config: {
|
29
|
-
inputs: {
|
30
|
-
token_response_body: {
|
31
|
-
name: :udap_auth_code_flow_token_exchange_response_body
|
32
|
-
}
|
33
|
-
},
|
34
|
-
outputs: {
|
35
|
-
udap_access_token: {
|
36
|
-
name: :udap_auth_code_flow_access_token
|
37
|
-
},
|
38
|
-
udap_expires_in: {
|
39
|
-
name: :udap_auth_code_flow_expires_in
|
40
|
-
},
|
41
|
-
udap_received_scopes: {
|
42
|
-
name: :udap_auth_code_flow_received_scopes
|
43
|
-
},
|
44
|
-
udap_refresh_token: {
|
45
|
-
name: :udap_auth_code_flow_refresh_token
|
46
|
-
}
|
47
|
-
}
|
48
|
-
}
|
49
|
-
test from: :udap_token_exchange_response_headers,
|
50
|
-
config: {
|
51
|
-
requests: {
|
52
|
-
token_exchange: {
|
53
|
-
name: :udap_auth_code_flow_token_exchange
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
49
|
+
test from: :udap_authorization_code_token_exchange
|
50
|
+
test from: :udap_token_exchange_response_body
|
51
|
+
test from: :udap_token_exchange_response_headers
|
57
52
|
end
|
58
53
|
end
|
@@ -80,14 +80,8 @@ module UDAPSecurityTestKit
|
|
80
80
|
}
|
81
81
|
},
|
82
82
|
outputs: {
|
83
|
-
|
84
|
-
name: :
|
85
|
-
},
|
86
|
-
udap_client_private_key_pem: {
|
87
|
-
name: :udap_auth_code_flow_client_private_key
|
88
|
-
},
|
89
|
-
udap_cert_iss: {
|
90
|
-
name: :udap_auth_code_flow_cert_iss
|
83
|
+
udap_client_id: {
|
84
|
+
name: :udap_authorization_code_flow_client_id
|
91
85
|
}
|
92
86
|
}
|
93
87
|
} do
|
@@ -12,43 +12,38 @@ module UDAPSecurityTestKit
|
|
12
12
|
)
|
13
13
|
id :udap_client_credentials_authentication_group
|
14
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
|
-
test from: :
|
46
|
-
|
47
|
-
|
48
|
-
token_exchange: {
|
49
|
-
name: :udap_client_credentials_flow_token_exchange
|
50
|
-
}
|
51
|
-
}
|
52
|
-
}
|
15
|
+
config(
|
16
|
+
requests: {
|
17
|
+
token_exchange: {
|
18
|
+
name: :udap_client_credentials_flow_token_exchange
|
19
|
+
}
|
20
|
+
},
|
21
|
+
inputs: {
|
22
|
+
udap_client_id: {
|
23
|
+
name: :udap_client_credentials_flow_client_id
|
24
|
+
},
|
25
|
+
token_response_body: {
|
26
|
+
name: :udap_client_credentials_flow_token_exchange_response_body
|
27
|
+
}
|
28
|
+
},
|
29
|
+
outputs: {
|
30
|
+
udap_access_token: {
|
31
|
+
name: :udap_client_credentials_flow_access_token
|
32
|
+
},
|
33
|
+
udap_expires_in: {
|
34
|
+
name: :udap_client_credentials_flow_expires_in
|
35
|
+
},
|
36
|
+
udap_received_scopes: {
|
37
|
+
name: :udap_client_credentials_flow_received_scopes
|
38
|
+
},
|
39
|
+
udap_refresh_token: {
|
40
|
+
name: :udap_client_credentials_flow_refresh_token
|
41
|
+
}
|
42
|
+
}
|
43
|
+
)
|
44
|
+
|
45
|
+
test from: :udap_client_credentials_token_exchange
|
46
|
+
test from: :udap_token_exchange_response_body
|
47
|
+
test from: :udap_token_exchange_response_headers
|
53
48
|
end
|
54
49
|
end
|
@@ -82,14 +82,8 @@ module UDAPSecurityTestKit
|
|
82
82
|
}
|
83
83
|
},
|
84
84
|
outputs: {
|
85
|
-
|
86
|
-
name: :
|
87
|
-
},
|
88
|
-
udap_client_private_key_pem: {
|
89
|
-
name: :udap_client_credentials_flow_client_private_key
|
90
|
-
},
|
91
|
-
udap_cert_iss: {
|
92
|
-
name: :udap_cert_iss_client_creds_flow
|
85
|
+
udap_client_id: {
|
86
|
+
name: :udap_client_credentials_flow_client_id
|
93
87
|
}
|
94
88
|
}
|
95
89
|
} do
|
@@ -51,12 +51,6 @@ module UDAPSecurityTestKit
|
|
51
51
|
entries on `grant_type` and `iss` claims for more details.
|
52
52
|
)
|
53
53
|
|
54
|
-
# cert_file = File.read(File.join(File.dirname(__FILE__), 'udap_security_test_kit/certs/InfernoCA.pem'))
|
55
|
-
|
56
|
-
# cert_file_route_handler = proc { [200, { 'Content-Type' => 'application/x-pem-file' }, [cert_file]] }
|
57
|
-
|
58
|
-
# route(:get, '/inferno_ca.pem', cert_file_route_handler)
|
59
|
-
|
60
54
|
resume_test_route :get, '/redirect' do |request|
|
61
55
|
request.query_parameters['state']
|
62
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: udap_security_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-
|
12
|
+
date: 2025-03-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: inferno_core
|
@@ -66,7 +66,6 @@ files:
|
|
66
66
|
- lib/udap_security_test_kit/default_cert_file_loader.rb
|
67
67
|
- lib/udap_security_test_kit/discovery_group.rb
|
68
68
|
- lib/udap_security_test_kit/dynamic_client_registration_group.rb
|
69
|
-
- lib/udap_security_test_kit/generate_client_certs_test.rb
|
70
69
|
- lib/udap_security_test_kit/grant_types_supported_field_test.rb
|
71
70
|
- lib/udap_security_test_kit/igs/put_ig_package_dot_tgz_here
|
72
71
|
- lib/udap_security_test_kit/metadata.rb
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require_relative 'udap_x509_certificate'
|
2
|
-
require_relative 'default_cert_file_loader'
|
3
|
-
|
4
|
-
module UDAPSecurityTestKit
|
5
|
-
class GenerateClientCertsTest < Inferno::Test
|
6
|
-
title 'Generate Client Certificates'
|
7
|
-
id :udap_generate_client_certs
|
8
|
-
description %(
|
9
|
-
This test may be included in test groups to generate and output a new client certificate for use in UDAP dynamic
|
10
|
-
client registration or authentication/authorization tests.
|
11
|
-
)
|
12
|
-
|
13
|
-
input :udap_client_cert_pem,
|
14
|
-
title: 'X.509 Client Certificate(s) (PEM Format)',
|
15
|
-
description: %(
|
16
|
-
A list of one or more X.509 certificates in PEM format separated by a newline. The first (leaf) certificate
|
17
|
-
MUST represent the client entity and the certificate chain must resolve to a CA trusted by the authorization
|
18
|
-
server under test.
|
19
|
-
Will be auto-generated if left blank.
|
20
|
-
),
|
21
|
-
type: 'textarea',
|
22
|
-
optional: true
|
23
|
-
|
24
|
-
input :udap_client_private_key_pem,
|
25
|
-
title: 'Client Private Key (PEM Format)',
|
26
|
-
description: %(
|
27
|
-
The private key corresponding to the client certificate used for registration, in PEM format. Used to sign
|
28
|
-
registration and/or authentication JWTs.
|
29
|
-
Will be auto-generated if left blank.
|
30
|
-
),
|
31
|
-
type: 'textarea',
|
32
|
-
optional: true
|
33
|
-
|
34
|
-
input :udap_cert_iss,
|
35
|
-
title: 'JWT Issuer (iss) Claim',
|
36
|
-
description: %(
|
37
|
-
MUST correspond to a unique URI entry in the Subject Alternative Name (SAN) extension of the client
|
38
|
-
certificate used for registration.
|
39
|
-
Will be auto-generated with the client cert if left blank.
|
40
|
-
),
|
41
|
-
optional: true
|
42
|
-
|
43
|
-
output :udap_cert_iss
|
44
|
-
output :udap_client_cert_pem
|
45
|
-
output :udap_client_private_key_pem
|
46
|
-
|
47
|
-
run do
|
48
|
-
omit_if udap_client_cert_pem.present? && udap_client_private_key_pem.present?,
|
49
|
-
'User has opted to provide client certs'
|
50
|
-
|
51
|
-
signing_key = DefaultCertFileLoader.load_default_ca_private_key_file
|
52
|
-
|
53
|
-
cert = UDAPX509Certificate.new(DefaultCertFileLoader.load_default_ca_pem_file, signing_key)
|
54
|
-
|
55
|
-
output udap_cert_iss: cert.san
|
56
|
-
output udap_client_cert_pem: cert.cert.to_pem
|
57
|
-
output udap_client_private_key_pem: cert.cert_private_key.to_pem
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|