udap_security_test_kit 0.11.5 → 0.11.6
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_received_test.rb +8 -0
- data/lib/udap_security_test_kit/authorization_code_redirect_test.rb +3 -0
- data/lib/udap_security_test_kit/authorization_code_token_exchange_test.rb +2 -0
- data/lib/udap_security_test_kit/authorization_endpoint_field_test.rb +5 -1
- data/lib/udap_security_test_kit/client_suite/access_ac_group.rb +2 -0
- data/lib/udap_security_test_kit/client_suite/authorization_request_verification_test.rb +5 -0
- data/lib/udap_security_test_kit/client_suite/registration_ac_verification_test.rb +34 -0
- data/lib/udap_security_test_kit/client_suite/registration_cc_verification_test.rb +30 -0
- data/lib/udap_security_test_kit/client_suite/token_request_ac_verification_test.rb +47 -0
- data/lib/udap_security_test_kit/client_suite/token_request_cc_verification_test.rb +25 -0
- data/lib/udap_security_test_kit/client_suite.rb +8 -0
- data/lib/udap_security_test_kit/discovery_group.rb +2 -0
- data/lib/udap_security_test_kit/dynamic_client_registration_group.rb +3 -0
- data/lib/udap_security_test_kit/endpoints/mock_udap_server.rb +2 -2
- data/lib/udap_security_test_kit/grant_types_supported_field_test.rb +3 -0
- data/lib/udap_security_test_kit/reg_endpoint_jwt_signing_alg_values_supported_field_test.rb +6 -0
- data/lib/udap_security_test_kit/registration_endpoint_field_test.rb +3 -0
- data/lib/udap_security_test_kit/registration_failure_invalid_contents_test.rb +3 -0
- data/lib/udap_security_test_kit/registration_failure_invalid_jwt_signature_test.rb +2 -0
- data/lib/udap_security_test_kit/registration_success_contents_test.rb +3 -0
- data/lib/udap_security_test_kit/registration_success_test.rb +3 -0
- data/lib/udap_security_test_kit/requirements/generated/udap_security_client_requirements_coverage.csv +146 -0
- data/lib/udap_security_test_kit/requirements/generated/udap_security_requirements_coverage.csv +164 -0
- data/lib/udap_security_test_kit/requirements/hl7.fhir.us.udap-security_1.0.0_reqs.xlsx +0 -0
- data/lib/udap_security_test_kit/requirements/udap_security_test_kit_requirements.csv +308 -0
- data/lib/udap_security_test_kit/signed_metadata_contents_test.rb +17 -0
- data/lib/udap_security_test_kit/signed_metadata_field_test.rb +4 -1
- data/lib/udap_security_test_kit/token_endpoint_auth_methods_supported_field_test.rb +2 -0
- data/lib/udap_security_test_kit/token_endpoint_auth_signing_alg_values_supported_field_test.rb +5 -0
- data/lib/udap_security_test_kit/token_endpoint_field_test.rb +3 -0
- data/lib/udap_security_test_kit/udap_auth_extensions_required_field_test.rb +3 -0
- data/lib/udap_security_test_kit/udap_auth_extensions_supported_field_test.rb +3 -0
- data/lib/udap_security_test_kit/udap_certifications_required_field_test.rb +3 -0
- data/lib/udap_security_test_kit/udap_certifications_supported_field_test.rb +2 -0
- data/lib/udap_security_test_kit/udap_profiles_supported_field_test.rb +5 -0
- data/lib/udap_security_test_kit/udap_versions_supported_field_test.rb +2 -0
- data/lib/udap_security_test_kit/version.rb +2 -2
- data/lib/udap_security_test_kit/well_known_endpoint_test.rb +4 -0
- data/lib/udap_security_test_kit.rb +8 -0
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba9b8ab76dbc1af4171a44facc2bad0501b87d408914b1112211b4a6dd407972
|
4
|
+
data.tar.gz: ab96e3353c18cb382f24051c0d97869d7bd211ec21827f1389c1703f7f1827a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8901c4441f4dbc98ba53a1babdcb1bbdef421c52457627266e5faaa6602f88df692b58b1d7f788d079374bd8419a46564cf4e0a2edcf7bb67a3e9ee15a7459bb
|
7
|
+
data.tar.gz: 1de972b29f3c1c0ef84273d707420c379f16a9d30b9340f78b0fae573a452ad50cab6e6b5db7a3cf5497e965f7fe8aed424a0f20770c472895ed80dd9658b727
|
@@ -9,12 +9,20 @@ module UDAPSecurityTestKit
|
|
9
9
|
output :udap_authorization_code
|
10
10
|
uses_request :redirect
|
11
11
|
|
12
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@133',
|
13
|
+
'hl7.fhir.us.udap-security_1.0.0@134',
|
14
|
+
'hl7.fhir.us.udap-security_1.0.0@138',
|
15
|
+
'hl7.fhir.us.udap-security_1.0.0@190'
|
16
|
+
|
12
17
|
run do
|
13
18
|
code = request.query_parameters['code']
|
14
19
|
output udap_authorization_code: code
|
15
20
|
|
16
21
|
assert code.present?, 'No `code` parameter received'
|
17
22
|
|
23
|
+
state = request.query_parameters['state']
|
24
|
+
assert state.present?, '`state` parameter is required since it was present in client request'
|
25
|
+
|
18
26
|
error = request.query_parameters['error']
|
19
27
|
|
20
28
|
pass_if error.blank?
|
@@ -13,6 +13,10 @@ module UDAPSecurityTestKit
|
|
13
13
|
input :udap_well_known_metadata_json
|
14
14
|
output :udap_authorization_endpoint
|
15
15
|
|
16
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@9',
|
17
|
+
'hl7.fhir.us.udap-security_1.0.0@38',
|
18
|
+
'hl7.fhir.us.udap-security_1.0.0@39'
|
19
|
+
|
16
20
|
run do
|
17
21
|
assert_valid_json(udap_well_known_metadata_json)
|
18
22
|
config = JSON.parse(udap_well_known_metadata_json)
|
@@ -29,7 +33,7 @@ module UDAPSecurityTestKit
|
|
29
33
|
'`authorization_endpoint` field is only required if `authorization_code` is a supported grant type'
|
30
34
|
|
31
35
|
assert config.key?('authorization_endpoint'),
|
32
|
-
'`authorization_endpoint` field is required if `
|
36
|
+
'`authorization_endpoint` field is required if `authorization_code` is a supported grant type'
|
33
37
|
|
34
38
|
endpoint = config['authorization_endpoint']
|
35
39
|
|
@@ -17,6 +17,8 @@ module UDAPSecurityTestKit
|
|
17
17
|
|
18
18
|
run_as_group
|
19
19
|
|
20
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@126'
|
21
|
+
|
20
22
|
test from: :udap_client_access_ac_interaction
|
21
23
|
test from: :udap_client_authorization_request_verification
|
22
24
|
test from: :udap_client_token_request_ac_verification
|
@@ -24,6 +24,11 @@ module UDAPSecurityTestKit
|
|
24
24
|
locked: 'true',
|
25
25
|
description: INPUT_UDAP_REGISTRATION_JWT_DESCRIPTION_LOCKED
|
26
26
|
|
27
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@67',
|
28
|
+
'hl7.fhir.us.udap-security_1.0.0@127',
|
29
|
+
'hl7.fhir.us.udap-security_1.0.0@128',
|
30
|
+
'hl7.fhir.us.udap-security_1.0.0@129'
|
31
|
+
|
27
32
|
def client_suite_id
|
28
33
|
return config.options[:endpoint_suite_id] if config.options[:endpoint_suite_id].present?
|
29
34
|
|
@@ -17,6 +17,40 @@ module UDAPSecurityTestKit
|
|
17
17
|
input :udap_client_uri
|
18
18
|
output :udap_registration_jwt
|
19
19
|
|
20
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@1',
|
21
|
+
'hl7.fhir.us.udap-security_1.0.0@2',
|
22
|
+
'hl7.fhir.us.udap-security_1.0.0@3',
|
23
|
+
'hl7.fhir.us.udap-security_1.0.0@7',
|
24
|
+
'hl7.fhir.us.udap-security_1.0.0@8',
|
25
|
+
'hl7.fhir.us.udap-security_1.0.0@66',
|
26
|
+
'hl7.fhir.us.udap-security_1.0.0@71',
|
27
|
+
'hl7.fhir.us.udap-security_1.0.0@72',
|
28
|
+
'hl7.fhir.us.udap-security_1.0.0@73',
|
29
|
+
'hl7.fhir.us.udap-security_1.0.0@74',
|
30
|
+
'hl7.fhir.us.udap-security_1.0.0@75',
|
31
|
+
'hl7.fhir.us.udap-security_1.0.0@76',
|
32
|
+
'hl7.fhir.us.udap-security_1.0.0@77',
|
33
|
+
'hl7.fhir.us.udap-security_1.0.0@78',
|
34
|
+
'hl7.fhir.us.udap-security_1.0.0@79',
|
35
|
+
'hl7.fhir.us.udap-security_1.0.0@80',
|
36
|
+
'hl7.fhir.us.udap-security_1.0.0@81',
|
37
|
+
'hl7.fhir.us.udap-security_1.0.0@83',
|
38
|
+
'hl7.fhir.us.udap-security_1.0.0@84',
|
39
|
+
'hl7.fhir.us.udap-security_1.0.0@86',
|
40
|
+
'hl7.fhir.us.udap-security_1.0.0@87',
|
41
|
+
'hl7.fhir.us.udap-security_1.0.0@88',
|
42
|
+
'hl7.fhir.us.udap-security_1.0.0@90',
|
43
|
+
'hl7.fhir.us.udap-security_1.0.0@91',
|
44
|
+
'hl7.fhir.us.udap-security_1.0.0@92',
|
45
|
+
'hl7.fhir.us.udap-security_1.0.0@93',
|
46
|
+
'hl7.fhir.us.udap-security_1.0.0@94',
|
47
|
+
'hl7.fhir.us.udap-security_1.0.0@96',
|
48
|
+
'hl7.fhir.us.udap-security_1.0.0@97',
|
49
|
+
'hl7.fhir.us.udap-security_1.0.0@101',
|
50
|
+
'hl7.fhir.us.udap-security_1.0.0@102',
|
51
|
+
'hl7.fhir.us.udap-security_1.0.0@103',
|
52
|
+
'hl7.fhir.us.udap-security_1.0.0@104'
|
53
|
+
|
20
54
|
def client_suite_id
|
21
55
|
return config.options[:endpoint_suite_id] if config.options[:endpoint_suite_id].present?
|
22
56
|
|
@@ -23,6 +23,36 @@ module UDAPSecurityTestKit
|
|
23
23
|
UDAPSecurityTestKit::UDAPSecurityClientTestSuite.id
|
24
24
|
end
|
25
25
|
|
26
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@1',
|
27
|
+
'hl7.fhir.us.udap-security_1.0.0@2',
|
28
|
+
'hl7.fhir.us.udap-security_1.0.0@3',
|
29
|
+
'hl7.fhir.us.udap-security_1.0.0@7',
|
30
|
+
'hl7.fhir.us.udap-security_1.0.0@8',
|
31
|
+
'hl7.fhir.us.udap-security_1.0.0@66',
|
32
|
+
'hl7.fhir.us.udap-security_1.0.0@71',
|
33
|
+
'hl7.fhir.us.udap-security_1.0.0@72',
|
34
|
+
'hl7.fhir.us.udap-security_1.0.0@73',
|
35
|
+
'hl7.fhir.us.udap-security_1.0.0@74',
|
36
|
+
'hl7.fhir.us.udap-security_1.0.0@75',
|
37
|
+
'hl7.fhir.us.udap-security_1.0.0@76',
|
38
|
+
'hl7.fhir.us.udap-security_1.0.0@77',
|
39
|
+
'hl7.fhir.us.udap-security_1.0.0@78',
|
40
|
+
'hl7.fhir.us.udap-security_1.0.0@79',
|
41
|
+
'hl7.fhir.us.udap-security_1.0.0@80',
|
42
|
+
'hl7.fhir.us.udap-security_1.0.0@81',
|
43
|
+
'hl7.fhir.us.udap-security_1.0.0@83',
|
44
|
+
'hl7.fhir.us.udap-security_1.0.0@85',
|
45
|
+
'hl7.fhir.us.udap-security_1.0.0@86',
|
46
|
+
'hl7.fhir.us.udap-security_1.0.0@87',
|
47
|
+
'hl7.fhir.us.udap-security_1.0.0@92',
|
48
|
+
'hl7.fhir.us.udap-security_1.0.0@95',
|
49
|
+
'hl7.fhir.us.udap-security_1.0.0@96',
|
50
|
+
'hl7.fhir.us.udap-security_1.0.0@97',
|
51
|
+
'hl7.fhir.us.udap-security_1.0.0@101',
|
52
|
+
'hl7.fhir.us.udap-security_1.0.0@102',
|
53
|
+
'hl7.fhir.us.udap-security_1.0.0@103',
|
54
|
+
'hl7.fhir.us.udap-security_1.0.0@104'
|
55
|
+
|
26
56
|
run do
|
27
57
|
client_registration_requests = load_registration_requests_for_client_uri(udap_client_uri)
|
28
58
|
skip_if client_registration_requests.empty?,
|
@@ -28,6 +28,53 @@ module UDAPSecurityTestKit
|
|
28
28
|
description: INPUT_UDAP_REGISTRATION_JWT_DESCRIPTION_LOCKED
|
29
29
|
output :udap_tokens
|
30
30
|
|
31
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@1',
|
32
|
+
'hl7.fhir.us.udap-security_1.0.0@2',
|
33
|
+
'hl7.fhir.us.udap-security_1.0.0@3',
|
34
|
+
'hl7.fhir.us.udap-security_1.0.0@7',
|
35
|
+
'hl7.fhir.us.udap-security_1.0.0@8',
|
36
|
+
'hl7.fhir.us.udap-security_1.0.0@67',
|
37
|
+
'hl7.fhir.us.udap-security_1.0.0@69',
|
38
|
+
'hl7.fhir.us.udap-security_1.0.0@140',
|
39
|
+
'hl7.fhir.us.udap-security_1.0.0@141',
|
40
|
+
'hl7.fhir.us.udap-security_1.0.0@142',
|
41
|
+
'hl7.fhir.us.udap-security_1.0.0@143',
|
42
|
+
'hl7.fhir.us.udap-security_1.0.0@145',
|
43
|
+
'hl7.fhir.us.udap-security_1.0.0@151',
|
44
|
+
'hl7.fhir.us.udap-security_1.0.0@152',
|
45
|
+
'hl7.fhir.us.udap-security_1.0.0@153',
|
46
|
+
'hl7.fhir.us.udap-security_1.0.0@154',
|
47
|
+
'hl7.fhir.us.udap-security_1.0.0@155',
|
48
|
+
'hl7.fhir.us.udap-security_1.0.0@156',
|
49
|
+
'hl7.fhir.us.udap-security_1.0.0@157',
|
50
|
+
'hl7.fhir.us.udap-security_1.0.0@158',
|
51
|
+
'hl7.fhir.us.udap-security_1.0.0@160',
|
52
|
+
'hl7.fhir.us.udap-security_1.0.0@161',
|
53
|
+
'hl7.fhir.us.udap-security_1.0.0@163',
|
54
|
+
'hl7.fhir.us.udap-security_1.0.0@165',
|
55
|
+
'hl7.fhir.us.udap-security_1.0.0@166',
|
56
|
+
'hl7.fhir.us.udap-security_1.0.0@167',
|
57
|
+
'hl7.fhir.us.udap-security_1.0.0@168',
|
58
|
+
'hl7.fhir.us.udap-security_1.0.0@169',
|
59
|
+
'hl7.fhir.us.udap-security_1.0.0@170',
|
60
|
+
'hl7.fhir.us.udap-security_1.0.0@171',
|
61
|
+
'hl7.fhir.us.udap-security_1.0.0@175',
|
62
|
+
'hl7.fhir.us.udap-security_1.0.0@177',
|
63
|
+
'hl7.fhir.us.udap-security_1.0.0@178',
|
64
|
+
'hl7.fhir.us.udap-security_1.0.0@179',
|
65
|
+
'hl7.fhir.us.udap-security_1.0.0@180',
|
66
|
+
'hl7.fhir.us.udap-security_1.0.0@185',
|
67
|
+
'hl7.fhir.us.udap-security_1.0.0@192',
|
68
|
+
'hl7.fhir.us.udap-security_1.0.0@193',
|
69
|
+
'hl7.fhir.us.udap-security_1.0.0@194',
|
70
|
+
'hl7.fhir.us.udap-security_1.0.0@195',
|
71
|
+
'hl7.fhir.us.udap-security_1.0.0@196',
|
72
|
+
'hl7.fhir.us.udap-security_1.0.0@197',
|
73
|
+
'hl7.fhir.us.udap-security_1.0.0@222',
|
74
|
+
'hl7.fhir.us.udap-security_1.0.0@232',
|
75
|
+
'hl7.fhir.us.udap-security_1.0.0@233',
|
76
|
+
'hl7.fhir.us.udap-security_1.0.0@234'
|
77
|
+
|
31
78
|
def client_suite_id
|
32
79
|
return config.options[:endpoint_suite_id] if config.options[:endpoint_suite_id].present?
|
33
80
|
|
@@ -28,6 +28,31 @@ module UDAPSecurityTestKit
|
|
28
28
|
description: INPUT_UDAP_REGISTRATION_JWT_DESCRIPTION_LOCKED
|
29
29
|
output :udap_tokens
|
30
30
|
|
31
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@1',
|
32
|
+
'hl7.fhir.us.udap-security_1.0.0@2',
|
33
|
+
'hl7.fhir.us.udap-security_1.0.0@3',
|
34
|
+
'hl7.fhir.us.udap-security_1.0.0@7',
|
35
|
+
'hl7.fhir.us.udap-security_1.0.0@8',
|
36
|
+
'hl7.fhir.us.udap-security_1.0.0@67',
|
37
|
+
'hl7.fhir.us.udap-security_1.0.0@69',
|
38
|
+
'hl7.fhir.us.udap-security_1.0.0@186',
|
39
|
+
'hl7.fhir.us.udap-security_1.0.0@192',
|
40
|
+
'hl7.fhir.us.udap-security_1.0.0@193',
|
41
|
+
'hl7.fhir.us.udap-security_1.0.0@194',
|
42
|
+
'hl7.fhir.us.udap-security_1.0.0@195',
|
43
|
+
'hl7.fhir.us.udap-security_1.0.0@196',
|
44
|
+
'hl7.fhir.us.udap-security_1.0.0@197',
|
45
|
+
'hl7.fhir.us.udap-security_1.0.0@198',
|
46
|
+
'hl7.fhir.us.udap-security_1.0.0@202',
|
47
|
+
'hl7.fhir.us.udap-security_1.0.0@212',
|
48
|
+
'hl7.fhir.us.udap-security_1.0.0@214',
|
49
|
+
'hl7.fhir.us.udap-security_1.0.0@215',
|
50
|
+
'hl7.fhir.us.udap-security_1.0.0@223',
|
51
|
+
'hl7.fhir.us.udap-security_1.0.0@225',
|
52
|
+
'hl7.fhir.us.udap-security_1.0.0@226',
|
53
|
+
'hl7.fhir.us.udap-security_1.0.0@227',
|
54
|
+
'hl7.fhir.us.udap-security_1.0.0@228'
|
55
|
+
|
31
56
|
def client_suite_id
|
32
57
|
return config.options[:endpoint_suite_id] if config.options[:endpoint_suite_id].present?
|
33
58
|
|
@@ -15,6 +15,14 @@ module UDAPSecurityTestKit
|
|
15
15
|
title 'UDAP Security Client'
|
16
16
|
description File.read(File.join(__dir__, 'docs', 'udap_client_suite_description.md'))
|
17
17
|
|
18
|
+
requirement_sets(
|
19
|
+
{
|
20
|
+
identifier: 'hl7.fhir.us.udap-security_1.0.0',
|
21
|
+
title: 'Security for Scalable Registration, Authentication, and Authorization (UDAP)',
|
22
|
+
actor: 'Client'
|
23
|
+
}
|
24
|
+
)
|
25
|
+
|
18
26
|
links [
|
19
27
|
{
|
20
28
|
type: 'source_code',
|
@@ -61,6 +61,8 @@ module UDAPSecurityTestKit
|
|
61
61
|
output :udap_registration_endpoint
|
62
62
|
output :udap_registration_grant_type
|
63
63
|
|
64
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@15'
|
65
|
+
|
64
66
|
test from: :udap_well_known_endpoint
|
65
67
|
test from: :udap_versions_supported_field
|
66
68
|
test from: :udap_grant_types_supported_field
|
@@ -141,6 +141,9 @@ module UDAPSecurityTestKit
|
|
141
141
|
type: 'textarea',
|
142
142
|
optional: true
|
143
143
|
|
144
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@68',
|
145
|
+
'hl7.fhir.us.udap-security_1.0.0@105'
|
146
|
+
|
144
147
|
test from: :udap_registration_failure_invalid_contents
|
145
148
|
test from: :udap_registration_failure_invalid_jwt_signature
|
146
149
|
test from: :udap_registration_success
|
@@ -159,7 +159,7 @@ module UDAPSecurityTestKit
|
|
159
159
|
|
160
160
|
def decode_token(token)
|
161
161
|
token_to_decode =
|
162
|
-
if issued_token_is_refresh_token(token)
|
162
|
+
if issued_token_is_refresh_token?(token)
|
163
163
|
refresh_token_to_authorization_code(token)
|
164
164
|
else
|
165
165
|
token
|
@@ -175,7 +175,7 @@ module UDAPSecurityTestKit
|
|
175
175
|
decode_token(token)&.dig('client_id')
|
176
176
|
end
|
177
177
|
|
178
|
-
def issued_token_is_refresh_token(token)
|
178
|
+
def issued_token_is_refresh_token?(token)
|
179
179
|
token.end_with?('_rt')
|
180
180
|
end
|
181
181
|
|
@@ -13,6 +13,9 @@ module UDAPSecurityTestKit
|
|
13
13
|
input :required_flow_type
|
14
14
|
output :udap_registration_grant_type
|
15
15
|
|
16
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@36',
|
17
|
+
'hl7.fhir.us.udap-security_1.0.0@37'
|
18
|
+
|
16
19
|
run do
|
17
20
|
assert_valid_json(udap_well_known_metadata_json)
|
18
21
|
config = JSON.parse(udap_well_known_metadata_json)
|
@@ -16,6 +16,9 @@ module UDAPSecurityTestKit
|
|
16
16
|
|
17
17
|
input :udap_well_known_metadata_json
|
18
18
|
|
19
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@4',
|
20
|
+
'hl7.fhir.us.udap-security_1.0.0@45'
|
21
|
+
|
19
22
|
run do
|
20
23
|
assert_valid_json(udap_well_known_metadata_json)
|
21
24
|
config = JSON.parse(udap_well_known_metadata_json)
|
@@ -24,6 +27,9 @@ module UDAPSecurityTestKit
|
|
24
27
|
'`registration_endpoint_jwt_signing_alg_values_supported` field is recommended but not required'
|
25
28
|
|
26
29
|
CommonAssertions.assert_array_of_strings(config, 'registration_endpoint_jwt_signing_alg_values_supported')
|
30
|
+
|
31
|
+
assert config['registration_endpoint_jwt_signing_alg_values_supported'].include?('RS256'),
|
32
|
+
'All UDAP implementations must support RS256 signature algorithm'
|
27
33
|
end
|
28
34
|
end
|
29
35
|
end
|
@@ -12,6 +12,9 @@ module UDAPSecurityTestKit
|
|
12
12
|
input :udap_well_known_metadata_json
|
13
13
|
output :udap_registration_endpoint
|
14
14
|
|
15
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@11',
|
16
|
+
'hl7.fhir.us.udap-security_1.0.0@43'
|
17
|
+
|
15
18
|
run do
|
16
19
|
assert_valid_json(udap_well_known_metadata_json)
|
17
20
|
config = JSON.parse(udap_well_known_metadata_json)
|
@@ -35,6 +35,9 @@ module UDAPSecurityTestKit
|
|
35
35
|
input :udap_registration_certifications,
|
36
36
|
optional: true
|
37
37
|
|
38
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@106',
|
39
|
+
'hl7.fhir.us.udap-security_1.0.0@114'
|
40
|
+
|
38
41
|
run do
|
39
42
|
software_statement_payload = SoftwareStatementBuilder.build_payload(
|
40
43
|
'invalid_iss',
|
@@ -43,6 +43,9 @@ module UDAPSecurityTestKit
|
|
43
43
|
|
44
44
|
output :udap_client_id
|
45
45
|
|
46
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@111',
|
47
|
+
'hl7.fhir.us.udap-security_1.0.0@113'
|
48
|
+
|
46
49
|
run do
|
47
50
|
assert_valid_json(udap_registration_response)
|
48
51
|
registration_response = JSON.parse(udap_registration_response)
|
@@ -39,6 +39,9 @@ module UDAPSecurityTestKit
|
|
39
39
|
output :udap_software_statement_json
|
40
40
|
output :udap_registration_response
|
41
41
|
|
42
|
+
verifies_requirements 'hl7.fhir.us.udap-security_1.0.0@110',
|
43
|
+
'hl7.fhir.us.udap-security_1.0.0@119'
|
44
|
+
|
42
45
|
run do
|
43
46
|
software_statement_payload = SoftwareStatementBuilder.build_payload(
|
44
47
|
udap_cert_iss,
|