@eudiplo/cli 9.1.0-main.2d54936 → 9.1.0-main.3156bf0
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.
- package/dist/commands/config/portability/migrations.spec.js +3 -2
- package/dist/commands/config/portability/migrations.spec.js.map +1 -1
- package/dist/commands/config/validate/registry.json +10 -0
- package/dist/index.js +1945 -549
- package/package.json +2 -2
- package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
- package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
- package/templates/schemas/IssuanceConfig.schema.json +77 -2
- package/templates/schemas/IssuanceConfigFile.schema.json +739 -1
- package/templates/schemas/KeyChainConfigFile.schema.json +370 -1
- package/templates/schemas/KeyChainCreateDto.schema.json +1 -0
- package/templates/schemas/KeyChainImportDto.schema.json +1 -0
- package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
- package/templates/schemas.manifest.json +3 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"properties": {
|
|
10
10
|
"$schema": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"const": "https://eudiplo.dev/schemas/
|
|
12
|
+
"const": "https://eudiplo.dev/schemas/v3/KeyChainConfigFile.schema.json"
|
|
13
13
|
},
|
|
14
14
|
"metadata": {
|
|
15
15
|
"type": "object",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"attestation",
|
|
46
46
|
"trustList",
|
|
47
47
|
"statusList",
|
|
48
|
+
"federation",
|
|
48
49
|
"encrypt"
|
|
49
50
|
]
|
|
50
51
|
},
|
|
@@ -727,6 +728,373 @@
|
|
|
727
728
|
],
|
|
728
729
|
"additionalProperties": false
|
|
729
730
|
},
|
|
731
|
+
{
|
|
732
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
733
|
+
"$id": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json",
|
|
734
|
+
"title": "KeyChainConfigFile",
|
|
735
|
+
"type": "object",
|
|
736
|
+
"properties": {
|
|
737
|
+
"$schema": {
|
|
738
|
+
"type": "string",
|
|
739
|
+
"const": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json"
|
|
740
|
+
},
|
|
741
|
+
"metadata": {
|
|
742
|
+
"type": "object",
|
|
743
|
+
"properties": {
|
|
744
|
+
"generation": {
|
|
745
|
+
"type": "integer",
|
|
746
|
+
"minimum": 1,
|
|
747
|
+
"maximum": 9007199254740991
|
|
748
|
+
},
|
|
749
|
+
"ownership": {
|
|
750
|
+
"type": "string",
|
|
751
|
+
"enum": [
|
|
752
|
+
"unmanaged",
|
|
753
|
+
"file-managed"
|
|
754
|
+
]
|
|
755
|
+
}
|
|
756
|
+
},
|
|
757
|
+
"additionalProperties": false
|
|
758
|
+
},
|
|
759
|
+
"spec": {
|
|
760
|
+
"type": "object",
|
|
761
|
+
"properties": {
|
|
762
|
+
"id": {
|
|
763
|
+
"type": "string"
|
|
764
|
+
},
|
|
765
|
+
"description": {
|
|
766
|
+
"type": "string"
|
|
767
|
+
},
|
|
768
|
+
"usageType": {
|
|
769
|
+
"type": "string",
|
|
770
|
+
"enum": [
|
|
771
|
+
"access",
|
|
772
|
+
"attestation",
|
|
773
|
+
"trustList",
|
|
774
|
+
"statusList",
|
|
775
|
+
"encrypt"
|
|
776
|
+
]
|
|
777
|
+
},
|
|
778
|
+
"type": {
|
|
779
|
+
"description": "Key chain type. For a `private-jwk` key source without `activeJwk`, `standalone` makes `jwk` the signing key and `crt` its chain, leaf first; `internalChain` makes `jwk` a CA key and the last `crt` entry its CA certificate (created if `crt` is omitted), and the import generates a new signing key with a certificate issued by it. Without `type`, `jwk` is a CA key only if `rotationPolicy.enabled` is true and `crt` is not a single self-signed certificate that is not a CA. For `regenerate`, it is the type of the new key chain and must equal `keySource.keyChainType` if both are set. For the other key sources, it must match the key chain they describe.",
|
|
780
|
+
"type": "string",
|
|
781
|
+
"enum": [
|
|
782
|
+
"standalone",
|
|
783
|
+
"internalChain"
|
|
784
|
+
]
|
|
785
|
+
},
|
|
786
|
+
"keySource": {
|
|
787
|
+
"oneOf": [
|
|
788
|
+
{
|
|
789
|
+
"type": "object",
|
|
790
|
+
"properties": {
|
|
791
|
+
"type": {
|
|
792
|
+
"type": "string",
|
|
793
|
+
"const": "private-jwk"
|
|
794
|
+
},
|
|
795
|
+
"jwk": {
|
|
796
|
+
"type": "object",
|
|
797
|
+
"properties": {
|
|
798
|
+
"kty": {
|
|
799
|
+
"type": "string",
|
|
800
|
+
"description": "Key type (for example EC)."
|
|
801
|
+
},
|
|
802
|
+
"x": {
|
|
803
|
+
"type": "string",
|
|
804
|
+
"description": "Elliptic curve public x coordinate."
|
|
805
|
+
},
|
|
806
|
+
"y": {
|
|
807
|
+
"type": "string",
|
|
808
|
+
"description": "Elliptic curve public y coordinate."
|
|
809
|
+
},
|
|
810
|
+
"crv": {
|
|
811
|
+
"type": "string",
|
|
812
|
+
"description": "Elliptic curve name."
|
|
813
|
+
},
|
|
814
|
+
"d": {
|
|
815
|
+
"type": "string",
|
|
816
|
+
"description": "Private key value."
|
|
817
|
+
},
|
|
818
|
+
"alg": {
|
|
819
|
+
"description": "Optional algorithm hint.",
|
|
820
|
+
"type": "string"
|
|
821
|
+
},
|
|
822
|
+
"kid": {
|
|
823
|
+
"description": "Optional key identifier.",
|
|
824
|
+
"type": "string"
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
"required": [
|
|
828
|
+
"kty",
|
|
829
|
+
"x",
|
|
830
|
+
"y",
|
|
831
|
+
"crv",
|
|
832
|
+
"d"
|
|
833
|
+
],
|
|
834
|
+
"additionalProperties": false
|
|
835
|
+
},
|
|
836
|
+
"activeJwk": {
|
|
837
|
+
"type": "object",
|
|
838
|
+
"properties": {
|
|
839
|
+
"kty": {
|
|
840
|
+
"type": "string",
|
|
841
|
+
"description": "Key type (for example EC)."
|
|
842
|
+
},
|
|
843
|
+
"x": {
|
|
844
|
+
"type": "string",
|
|
845
|
+
"description": "Elliptic curve public x coordinate."
|
|
846
|
+
},
|
|
847
|
+
"y": {
|
|
848
|
+
"type": "string",
|
|
849
|
+
"description": "Elliptic curve public y coordinate."
|
|
850
|
+
},
|
|
851
|
+
"crv": {
|
|
852
|
+
"type": "string",
|
|
853
|
+
"description": "Elliptic curve name."
|
|
854
|
+
},
|
|
855
|
+
"d": {
|
|
856
|
+
"type": "string",
|
|
857
|
+
"description": "Private key value."
|
|
858
|
+
},
|
|
859
|
+
"alg": {
|
|
860
|
+
"description": "Optional algorithm hint.",
|
|
861
|
+
"type": "string"
|
|
862
|
+
},
|
|
863
|
+
"kid": {
|
|
864
|
+
"description": "Optional key identifier.",
|
|
865
|
+
"type": "string"
|
|
866
|
+
}
|
|
867
|
+
},
|
|
868
|
+
"required": [
|
|
869
|
+
"kty",
|
|
870
|
+
"x",
|
|
871
|
+
"y",
|
|
872
|
+
"crv",
|
|
873
|
+
"d"
|
|
874
|
+
],
|
|
875
|
+
"additionalProperties": false
|
|
876
|
+
}
|
|
877
|
+
},
|
|
878
|
+
"required": [
|
|
879
|
+
"type",
|
|
880
|
+
"jwk"
|
|
881
|
+
],
|
|
882
|
+
"additionalProperties": false
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
"type": "object",
|
|
886
|
+
"properties": {
|
|
887
|
+
"type": {
|
|
888
|
+
"type": "string",
|
|
889
|
+
"const": "external-reference"
|
|
890
|
+
},
|
|
891
|
+
"provider": {
|
|
892
|
+
"type": "string"
|
|
893
|
+
},
|
|
894
|
+
"externalKeyId": {
|
|
895
|
+
"type": "string"
|
|
896
|
+
},
|
|
897
|
+
"publicJwk": {
|
|
898
|
+
"type": "object",
|
|
899
|
+
"properties": {
|
|
900
|
+
"kty": {
|
|
901
|
+
"type": "string"
|
|
902
|
+
},
|
|
903
|
+
"x": {
|
|
904
|
+
"type": "string"
|
|
905
|
+
},
|
|
906
|
+
"y": {
|
|
907
|
+
"type": "string"
|
|
908
|
+
},
|
|
909
|
+
"crv": {
|
|
910
|
+
"type": "string"
|
|
911
|
+
},
|
|
912
|
+
"alg": {
|
|
913
|
+
"type": "string"
|
|
914
|
+
},
|
|
915
|
+
"kid": {
|
|
916
|
+
"type": "string"
|
|
917
|
+
}
|
|
918
|
+
},
|
|
919
|
+
"required": [
|
|
920
|
+
"kty",
|
|
921
|
+
"x",
|
|
922
|
+
"y",
|
|
923
|
+
"crv"
|
|
924
|
+
],
|
|
925
|
+
"additionalProperties": false
|
|
926
|
+
},
|
|
927
|
+
"activeExternalKeyId": {
|
|
928
|
+
"type": "string"
|
|
929
|
+
},
|
|
930
|
+
"activePublicJwk": {
|
|
931
|
+
"type": "object",
|
|
932
|
+
"properties": {
|
|
933
|
+
"kty": {
|
|
934
|
+
"type": "string"
|
|
935
|
+
},
|
|
936
|
+
"x": {
|
|
937
|
+
"type": "string"
|
|
938
|
+
},
|
|
939
|
+
"y": {
|
|
940
|
+
"type": "string"
|
|
941
|
+
},
|
|
942
|
+
"crv": {
|
|
943
|
+
"type": "string"
|
|
944
|
+
},
|
|
945
|
+
"alg": {
|
|
946
|
+
"type": "string"
|
|
947
|
+
},
|
|
948
|
+
"kid": {
|
|
949
|
+
"type": "string"
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
"required": [
|
|
953
|
+
"kty",
|
|
954
|
+
"x",
|
|
955
|
+
"y",
|
|
956
|
+
"crv"
|
|
957
|
+
],
|
|
958
|
+
"additionalProperties": false
|
|
959
|
+
}
|
|
960
|
+
},
|
|
961
|
+
"required": [
|
|
962
|
+
"type",
|
|
963
|
+
"provider",
|
|
964
|
+
"externalKeyId",
|
|
965
|
+
"publicJwk"
|
|
966
|
+
],
|
|
967
|
+
"additionalProperties": false
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
"type": "object",
|
|
971
|
+
"properties": {
|
|
972
|
+
"type": {
|
|
973
|
+
"type": "string",
|
|
974
|
+
"const": "required"
|
|
975
|
+
},
|
|
976
|
+
"publicJwk": {
|
|
977
|
+
"type": "object",
|
|
978
|
+
"properties": {
|
|
979
|
+
"kty": {
|
|
980
|
+
"type": "string"
|
|
981
|
+
},
|
|
982
|
+
"x": {
|
|
983
|
+
"type": "string"
|
|
984
|
+
},
|
|
985
|
+
"y": {
|
|
986
|
+
"type": "string"
|
|
987
|
+
},
|
|
988
|
+
"crv": {
|
|
989
|
+
"type": "string"
|
|
990
|
+
},
|
|
991
|
+
"alg": {
|
|
992
|
+
"type": "string"
|
|
993
|
+
},
|
|
994
|
+
"kid": {
|
|
995
|
+
"type": "string"
|
|
996
|
+
}
|
|
997
|
+
},
|
|
998
|
+
"required": [
|
|
999
|
+
"kty",
|
|
1000
|
+
"x",
|
|
1001
|
+
"y",
|
|
1002
|
+
"crv"
|
|
1003
|
+
],
|
|
1004
|
+
"additionalProperties": false
|
|
1005
|
+
}
|
|
1006
|
+
},
|
|
1007
|
+
"required": [
|
|
1008
|
+
"type"
|
|
1009
|
+
],
|
|
1010
|
+
"additionalProperties": false
|
|
1011
|
+
},
|
|
1012
|
+
{
|
|
1013
|
+
"type": "object",
|
|
1014
|
+
"properties": {
|
|
1015
|
+
"type": {
|
|
1016
|
+
"type": "string",
|
|
1017
|
+
"const": "regenerate"
|
|
1018
|
+
},
|
|
1019
|
+
"keyChainType": {
|
|
1020
|
+
"type": "string",
|
|
1021
|
+
"enum": [
|
|
1022
|
+
"standalone",
|
|
1023
|
+
"internalChain"
|
|
1024
|
+
]
|
|
1025
|
+
}
|
|
1026
|
+
},
|
|
1027
|
+
"required": [
|
|
1028
|
+
"type"
|
|
1029
|
+
],
|
|
1030
|
+
"additionalProperties": false
|
|
1031
|
+
}
|
|
1032
|
+
]
|
|
1033
|
+
},
|
|
1034
|
+
"crt": {
|
|
1035
|
+
"type": "array",
|
|
1036
|
+
"items": {
|
|
1037
|
+
"type": "string"
|
|
1038
|
+
}
|
|
1039
|
+
},
|
|
1040
|
+
"activeCertificate": {
|
|
1041
|
+
"description": "Active certificate for an internal key chain.",
|
|
1042
|
+
"type": "string"
|
|
1043
|
+
},
|
|
1044
|
+
"kmsProvider": {
|
|
1045
|
+
"type": "string"
|
|
1046
|
+
},
|
|
1047
|
+
"rotationPolicy": {
|
|
1048
|
+
"type": "object",
|
|
1049
|
+
"properties": {
|
|
1050
|
+
"enabled": {
|
|
1051
|
+
"type": "boolean"
|
|
1052
|
+
},
|
|
1053
|
+
"intervalDays": {
|
|
1054
|
+
"anyOf": [
|
|
1055
|
+
{
|
|
1056
|
+
"type": "number",
|
|
1057
|
+
"minimum": 1,
|
|
1058
|
+
"maximum": 3650
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
"type": "null"
|
|
1062
|
+
}
|
|
1063
|
+
]
|
|
1064
|
+
},
|
|
1065
|
+
"certValidityDays": {
|
|
1066
|
+
"anyOf": [
|
|
1067
|
+
{
|
|
1068
|
+
"type": "number",
|
|
1069
|
+
"minimum": 1,
|
|
1070
|
+
"maximum": 3650
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"type": "null"
|
|
1074
|
+
}
|
|
1075
|
+
]
|
|
1076
|
+
}
|
|
1077
|
+
},
|
|
1078
|
+
"required": [
|
|
1079
|
+
"enabled"
|
|
1080
|
+
],
|
|
1081
|
+
"additionalProperties": false
|
|
1082
|
+
}
|
|
1083
|
+
},
|
|
1084
|
+
"required": [
|
|
1085
|
+
"usageType",
|
|
1086
|
+
"keySource"
|
|
1087
|
+
],
|
|
1088
|
+
"additionalProperties": false
|
|
1089
|
+
}
|
|
1090
|
+
},
|
|
1091
|
+
"required": [
|
|
1092
|
+
"$schema",
|
|
1093
|
+
"metadata",
|
|
1094
|
+
"spec"
|
|
1095
|
+
],
|
|
1096
|
+
"additionalProperties": false
|
|
1097
|
+
},
|
|
730
1098
|
{
|
|
731
1099
|
"type": "object",
|
|
732
1100
|
"properties": {
|
|
@@ -792,6 +1160,7 @@
|
|
|
792
1160
|
"attestation",
|
|
793
1161
|
"trustList",
|
|
794
1162
|
"statusList",
|
|
1163
|
+
"federation",
|
|
795
1164
|
"encrypt"
|
|
796
1165
|
],
|
|
797
1166
|
"description": "Key usage category for the imported key chain."
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"entityId": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"minLength": 1,
|
|
8
|
+
"maxLength": 2048,
|
|
9
|
+
"description": "Entity identifier of the trust anchor, exactly as configured in `federation.trustAnchors` and DCQL `openid_federation` values."
|
|
10
|
+
},
|
|
11
|
+
"description": {
|
|
12
|
+
"anyOf": [
|
|
13
|
+
{
|
|
14
|
+
"type": "string",
|
|
15
|
+
"minLength": 1,
|
|
16
|
+
"maxLength": 1000
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"type": "null"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"description": "Optional description of the trust anchor."
|
|
23
|
+
},
|
|
24
|
+
"jwks": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"keys": {
|
|
28
|
+
"minItems": 1,
|
|
29
|
+
"maxItems": 20,
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"kty": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"enum": [
|
|
37
|
+
"EC",
|
|
38
|
+
"RSA",
|
|
39
|
+
"OKP"
|
|
40
|
+
],
|
|
41
|
+
"description": "Key type of the public federation key."
|
|
42
|
+
},
|
|
43
|
+
"kid": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1,
|
|
46
|
+
"maxLength": 256,
|
|
47
|
+
"description": "Key ID. Federation statements name their signing key with `kid`."
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"required": [
|
|
51
|
+
"kty",
|
|
52
|
+
"kid"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": {},
|
|
55
|
+
"description": "Public federation key of the trust anchor as a JWK."
|
|
56
|
+
},
|
|
57
|
+
"description": "The trust anchor's federation keys."
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"keys"
|
|
62
|
+
],
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"description": "JWK set with the federation keys of the trust anchor, obtained out of band (OpenID Federation 1.0 Section 10.2)."
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"$id": "./UpdateFederationTrustAnchorDto.schema.json",
|
|
69
|
+
"title": "UpdateFederationTrustAnchorDto"
|
|
70
|
+
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"ConfigDocumentMetadata.schema.json",
|
|
7
7
|
"CreateAttributeProviderDto.schema.json",
|
|
8
8
|
"CreateClientDto.schema.json",
|
|
9
|
+
"CreateFederationTrustAnchorDto.schema.json",
|
|
9
10
|
"CreateRegistrarConfigDto.schema.json",
|
|
10
11
|
"CreateStatusListDto.schema.json",
|
|
11
12
|
"CreateTenantDto.schema.json",
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
"CredentialConfigFile.schema.json",
|
|
15
16
|
"DCQL.schema.json",
|
|
16
17
|
"EmbeddedDisclosurePolicy.schema.json",
|
|
18
|
+
"FederationTrustAnchorConfigFile.schema.json",
|
|
17
19
|
"ImportTenantDto.schema.json",
|
|
18
20
|
"IssuanceConfig.schema.json",
|
|
19
21
|
"IssuanceConfigFile.schema.json",
|
|
@@ -38,6 +40,7 @@
|
|
|
38
40
|
"TrustListCreateDto.schema.json",
|
|
39
41
|
"UpdateAttributeProviderDto.schema.json",
|
|
40
42
|
"UpdateClientDto.schema.json",
|
|
43
|
+
"UpdateFederationTrustAnchorDto.schema.json",
|
|
41
44
|
"UpdateStatusListConfigDto.schema.json",
|
|
42
45
|
"UpdateStatusListDto.schema.json",
|
|
43
46
|
"UpdateTenantDto.schema.json",
|