@eudiplo/cli 9.1.0-main.c6ae22c → 9.1.0-main.d547bae

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.
Files changed (26) hide show
  1. package/dist/commands/config/portability/migrations.spec.js +4 -2
  2. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  3. package/dist/commands/config/portability/upgrade.d.ts.map +1 -1
  4. package/dist/commands/config/portability/upgrade.js +2 -7
  5. package/dist/commands/config/portability/upgrade.js.map +1 -1
  6. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  7. package/dist/commands/config/tenant/action.js +2 -1
  8. package/dist/commands/config/tenant/action.js.map +1 -1
  9. package/dist/commands/config/validate/registry.json +21 -0
  10. package/dist/index.js +18162 -7229
  11. package/package.json +4 -4
  12. package/templates/demo-config/key-chains/status-list.json +3 -3
  13. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  14. package/templates/schemas/CreateTenantDto.schema.json +2 -2
  15. package/templates/schemas/CredentialConfigCreate.schema.json +236 -6
  16. package/templates/schemas/CredentialConfigFile.schema.json +797 -1
  17. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  18. package/templates/schemas/IssuanceConfig.schema.json +80 -10
  19. package/templates/schemas/IssuanceConfigFile.schema.json +1552 -1
  20. package/templates/schemas/KeyChainConfigFile.schema.json +740 -1
  21. package/templates/schemas/KeyChainCreateDto.schema.json +2 -0
  22. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  23. package/templates/schemas/KeyChainImportDto.schema.json +2 -0
  24. package/templates/schemas/TenantConfigFile.schema.json +395 -0
  25. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  26. package/templates/schemas.manifest.json +4 -0
@@ -9,7 +9,7 @@
9
9
  "properties": {
10
10
  "$schema": {
11
11
  "type": "string",
12
- "const": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json"
12
+ "const": "https://eudiplo.dev/schemas/v4/KeyChainConfigFile.schema.json"
13
13
  },
14
14
  "metadata": {
15
15
  "type": "object",
@@ -42,9 +42,11 @@
42
42
  "type": "string",
43
43
  "enum": [
44
44
  "access",
45
+ "accessToken",
45
46
  "attestation",
46
47
  "trustList",
47
48
  "statusList",
49
+ "federation",
48
50
  "encrypt"
49
51
  ]
50
52
  },
@@ -727,6 +729,741 @@
727
729
  ],
728
730
  "additionalProperties": false
729
731
  },
732
+ {
733
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
734
+ "$id": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json",
735
+ "title": "KeyChainConfigFile",
736
+ "type": "object",
737
+ "properties": {
738
+ "$schema": {
739
+ "type": "string",
740
+ "const": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json"
741
+ },
742
+ "metadata": {
743
+ "type": "object",
744
+ "properties": {
745
+ "generation": {
746
+ "type": "integer",
747
+ "minimum": 1,
748
+ "maximum": 9007199254740991
749
+ },
750
+ "ownership": {
751
+ "type": "string",
752
+ "enum": [
753
+ "unmanaged",
754
+ "file-managed"
755
+ ]
756
+ }
757
+ },
758
+ "additionalProperties": false
759
+ },
760
+ "spec": {
761
+ "type": "object",
762
+ "properties": {
763
+ "id": {
764
+ "type": "string"
765
+ },
766
+ "description": {
767
+ "type": "string"
768
+ },
769
+ "usageType": {
770
+ "type": "string",
771
+ "enum": [
772
+ "access",
773
+ "attestation",
774
+ "trustList",
775
+ "statusList",
776
+ "encrypt"
777
+ ]
778
+ },
779
+ "type": {
780
+ "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.",
781
+ "type": "string",
782
+ "enum": [
783
+ "standalone",
784
+ "internalChain"
785
+ ]
786
+ },
787
+ "keySource": {
788
+ "oneOf": [
789
+ {
790
+ "type": "object",
791
+ "properties": {
792
+ "type": {
793
+ "type": "string",
794
+ "const": "private-jwk"
795
+ },
796
+ "jwk": {
797
+ "type": "object",
798
+ "properties": {
799
+ "kty": {
800
+ "type": "string",
801
+ "description": "Key type (for example EC)."
802
+ },
803
+ "x": {
804
+ "type": "string",
805
+ "description": "Elliptic curve public x coordinate."
806
+ },
807
+ "y": {
808
+ "type": "string",
809
+ "description": "Elliptic curve public y coordinate."
810
+ },
811
+ "crv": {
812
+ "type": "string",
813
+ "description": "Elliptic curve name."
814
+ },
815
+ "d": {
816
+ "type": "string",
817
+ "description": "Private key value."
818
+ },
819
+ "alg": {
820
+ "description": "Optional algorithm hint.",
821
+ "type": "string"
822
+ },
823
+ "kid": {
824
+ "description": "Optional key identifier.",
825
+ "type": "string"
826
+ }
827
+ },
828
+ "required": [
829
+ "kty",
830
+ "x",
831
+ "y",
832
+ "crv",
833
+ "d"
834
+ ],
835
+ "additionalProperties": false
836
+ },
837
+ "activeJwk": {
838
+ "type": "object",
839
+ "properties": {
840
+ "kty": {
841
+ "type": "string",
842
+ "description": "Key type (for example EC)."
843
+ },
844
+ "x": {
845
+ "type": "string",
846
+ "description": "Elliptic curve public x coordinate."
847
+ },
848
+ "y": {
849
+ "type": "string",
850
+ "description": "Elliptic curve public y coordinate."
851
+ },
852
+ "crv": {
853
+ "type": "string",
854
+ "description": "Elliptic curve name."
855
+ },
856
+ "d": {
857
+ "type": "string",
858
+ "description": "Private key value."
859
+ },
860
+ "alg": {
861
+ "description": "Optional algorithm hint.",
862
+ "type": "string"
863
+ },
864
+ "kid": {
865
+ "description": "Optional key identifier.",
866
+ "type": "string"
867
+ }
868
+ },
869
+ "required": [
870
+ "kty",
871
+ "x",
872
+ "y",
873
+ "crv",
874
+ "d"
875
+ ],
876
+ "additionalProperties": false
877
+ }
878
+ },
879
+ "required": [
880
+ "type",
881
+ "jwk"
882
+ ],
883
+ "additionalProperties": false
884
+ },
885
+ {
886
+ "type": "object",
887
+ "properties": {
888
+ "type": {
889
+ "type": "string",
890
+ "const": "external-reference"
891
+ },
892
+ "provider": {
893
+ "type": "string"
894
+ },
895
+ "externalKeyId": {
896
+ "type": "string"
897
+ },
898
+ "publicJwk": {
899
+ "type": "object",
900
+ "properties": {
901
+ "kty": {
902
+ "type": "string"
903
+ },
904
+ "x": {
905
+ "type": "string"
906
+ },
907
+ "y": {
908
+ "type": "string"
909
+ },
910
+ "crv": {
911
+ "type": "string"
912
+ },
913
+ "alg": {
914
+ "type": "string"
915
+ },
916
+ "kid": {
917
+ "type": "string"
918
+ }
919
+ },
920
+ "required": [
921
+ "kty",
922
+ "x",
923
+ "y",
924
+ "crv"
925
+ ],
926
+ "additionalProperties": false
927
+ },
928
+ "activeExternalKeyId": {
929
+ "type": "string"
930
+ },
931
+ "activePublicJwk": {
932
+ "type": "object",
933
+ "properties": {
934
+ "kty": {
935
+ "type": "string"
936
+ },
937
+ "x": {
938
+ "type": "string"
939
+ },
940
+ "y": {
941
+ "type": "string"
942
+ },
943
+ "crv": {
944
+ "type": "string"
945
+ },
946
+ "alg": {
947
+ "type": "string"
948
+ },
949
+ "kid": {
950
+ "type": "string"
951
+ }
952
+ },
953
+ "required": [
954
+ "kty",
955
+ "x",
956
+ "y",
957
+ "crv"
958
+ ],
959
+ "additionalProperties": false
960
+ }
961
+ },
962
+ "required": [
963
+ "type",
964
+ "provider",
965
+ "externalKeyId",
966
+ "publicJwk"
967
+ ],
968
+ "additionalProperties": false
969
+ },
970
+ {
971
+ "type": "object",
972
+ "properties": {
973
+ "type": {
974
+ "type": "string",
975
+ "const": "required"
976
+ },
977
+ "publicJwk": {
978
+ "type": "object",
979
+ "properties": {
980
+ "kty": {
981
+ "type": "string"
982
+ },
983
+ "x": {
984
+ "type": "string"
985
+ },
986
+ "y": {
987
+ "type": "string"
988
+ },
989
+ "crv": {
990
+ "type": "string"
991
+ },
992
+ "alg": {
993
+ "type": "string"
994
+ },
995
+ "kid": {
996
+ "type": "string"
997
+ }
998
+ },
999
+ "required": [
1000
+ "kty",
1001
+ "x",
1002
+ "y",
1003
+ "crv"
1004
+ ],
1005
+ "additionalProperties": false
1006
+ }
1007
+ },
1008
+ "required": [
1009
+ "type"
1010
+ ],
1011
+ "additionalProperties": false
1012
+ },
1013
+ {
1014
+ "type": "object",
1015
+ "properties": {
1016
+ "type": {
1017
+ "type": "string",
1018
+ "const": "regenerate"
1019
+ },
1020
+ "keyChainType": {
1021
+ "type": "string",
1022
+ "enum": [
1023
+ "standalone",
1024
+ "internalChain"
1025
+ ]
1026
+ }
1027
+ },
1028
+ "required": [
1029
+ "type"
1030
+ ],
1031
+ "additionalProperties": false
1032
+ }
1033
+ ]
1034
+ },
1035
+ "crt": {
1036
+ "type": "array",
1037
+ "items": {
1038
+ "type": "string"
1039
+ }
1040
+ },
1041
+ "activeCertificate": {
1042
+ "description": "Active certificate for an internal key chain.",
1043
+ "type": "string"
1044
+ },
1045
+ "kmsProvider": {
1046
+ "type": "string"
1047
+ },
1048
+ "rotationPolicy": {
1049
+ "type": "object",
1050
+ "properties": {
1051
+ "enabled": {
1052
+ "type": "boolean"
1053
+ },
1054
+ "intervalDays": {
1055
+ "anyOf": [
1056
+ {
1057
+ "type": "number",
1058
+ "minimum": 1,
1059
+ "maximum": 3650
1060
+ },
1061
+ {
1062
+ "type": "null"
1063
+ }
1064
+ ]
1065
+ },
1066
+ "certValidityDays": {
1067
+ "anyOf": [
1068
+ {
1069
+ "type": "number",
1070
+ "minimum": 1,
1071
+ "maximum": 3650
1072
+ },
1073
+ {
1074
+ "type": "null"
1075
+ }
1076
+ ]
1077
+ }
1078
+ },
1079
+ "required": [
1080
+ "enabled"
1081
+ ],
1082
+ "additionalProperties": false
1083
+ }
1084
+ },
1085
+ "required": [
1086
+ "usageType",
1087
+ "keySource"
1088
+ ],
1089
+ "additionalProperties": false
1090
+ }
1091
+ },
1092
+ "required": [
1093
+ "$schema",
1094
+ "metadata",
1095
+ "spec"
1096
+ ],
1097
+ "additionalProperties": false
1098
+ },
1099
+ {
1100
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1101
+ "$id": "https://eudiplo.dev/schemas/v3/KeyChainConfigFile.schema.json",
1102
+ "title": "KeyChainConfigFile",
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "$schema": {
1106
+ "type": "string",
1107
+ "const": "https://eudiplo.dev/schemas/v3/KeyChainConfigFile.schema.json"
1108
+ },
1109
+ "metadata": {
1110
+ "type": "object",
1111
+ "properties": {
1112
+ "generation": {
1113
+ "type": "integer",
1114
+ "minimum": 1,
1115
+ "maximum": 9007199254740991
1116
+ },
1117
+ "ownership": {
1118
+ "type": "string",
1119
+ "enum": [
1120
+ "unmanaged",
1121
+ "file-managed"
1122
+ ]
1123
+ }
1124
+ },
1125
+ "additionalProperties": false
1126
+ },
1127
+ "spec": {
1128
+ "type": "object",
1129
+ "properties": {
1130
+ "id": {
1131
+ "type": "string"
1132
+ },
1133
+ "description": {
1134
+ "type": "string"
1135
+ },
1136
+ "usageType": {
1137
+ "type": "string",
1138
+ "enum": [
1139
+ "access",
1140
+ "attestation",
1141
+ "trustList",
1142
+ "statusList",
1143
+ "federation",
1144
+ "encrypt"
1145
+ ]
1146
+ },
1147
+ "type": {
1148
+ "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.",
1149
+ "type": "string",
1150
+ "enum": [
1151
+ "standalone",
1152
+ "internalChain"
1153
+ ]
1154
+ },
1155
+ "keySource": {
1156
+ "oneOf": [
1157
+ {
1158
+ "type": "object",
1159
+ "properties": {
1160
+ "type": {
1161
+ "type": "string",
1162
+ "const": "private-jwk"
1163
+ },
1164
+ "jwk": {
1165
+ "type": "object",
1166
+ "properties": {
1167
+ "kty": {
1168
+ "type": "string",
1169
+ "description": "Key type (for example EC)."
1170
+ },
1171
+ "x": {
1172
+ "type": "string",
1173
+ "description": "Elliptic curve public x coordinate."
1174
+ },
1175
+ "y": {
1176
+ "type": "string",
1177
+ "description": "Elliptic curve public y coordinate."
1178
+ },
1179
+ "crv": {
1180
+ "type": "string",
1181
+ "description": "Elliptic curve name."
1182
+ },
1183
+ "d": {
1184
+ "type": "string",
1185
+ "description": "Private key value."
1186
+ },
1187
+ "alg": {
1188
+ "description": "Optional algorithm hint.",
1189
+ "type": "string"
1190
+ },
1191
+ "kid": {
1192
+ "description": "Optional key identifier.",
1193
+ "type": "string"
1194
+ }
1195
+ },
1196
+ "required": [
1197
+ "kty",
1198
+ "x",
1199
+ "y",
1200
+ "crv",
1201
+ "d"
1202
+ ],
1203
+ "additionalProperties": false
1204
+ },
1205
+ "activeJwk": {
1206
+ "type": "object",
1207
+ "properties": {
1208
+ "kty": {
1209
+ "type": "string",
1210
+ "description": "Key type (for example EC)."
1211
+ },
1212
+ "x": {
1213
+ "type": "string",
1214
+ "description": "Elliptic curve public x coordinate."
1215
+ },
1216
+ "y": {
1217
+ "type": "string",
1218
+ "description": "Elliptic curve public y coordinate."
1219
+ },
1220
+ "crv": {
1221
+ "type": "string",
1222
+ "description": "Elliptic curve name."
1223
+ },
1224
+ "d": {
1225
+ "type": "string",
1226
+ "description": "Private key value."
1227
+ },
1228
+ "alg": {
1229
+ "description": "Optional algorithm hint.",
1230
+ "type": "string"
1231
+ },
1232
+ "kid": {
1233
+ "description": "Optional key identifier.",
1234
+ "type": "string"
1235
+ }
1236
+ },
1237
+ "required": [
1238
+ "kty",
1239
+ "x",
1240
+ "y",
1241
+ "crv",
1242
+ "d"
1243
+ ],
1244
+ "additionalProperties": false
1245
+ }
1246
+ },
1247
+ "required": [
1248
+ "type",
1249
+ "jwk"
1250
+ ],
1251
+ "additionalProperties": false
1252
+ },
1253
+ {
1254
+ "type": "object",
1255
+ "properties": {
1256
+ "type": {
1257
+ "type": "string",
1258
+ "const": "external-reference"
1259
+ },
1260
+ "provider": {
1261
+ "type": "string"
1262
+ },
1263
+ "externalKeyId": {
1264
+ "type": "string"
1265
+ },
1266
+ "publicJwk": {
1267
+ "type": "object",
1268
+ "properties": {
1269
+ "kty": {
1270
+ "type": "string"
1271
+ },
1272
+ "x": {
1273
+ "type": "string"
1274
+ },
1275
+ "y": {
1276
+ "type": "string"
1277
+ },
1278
+ "crv": {
1279
+ "type": "string"
1280
+ },
1281
+ "alg": {
1282
+ "type": "string"
1283
+ },
1284
+ "kid": {
1285
+ "type": "string"
1286
+ }
1287
+ },
1288
+ "required": [
1289
+ "kty",
1290
+ "x",
1291
+ "y",
1292
+ "crv"
1293
+ ],
1294
+ "additionalProperties": false
1295
+ },
1296
+ "activeExternalKeyId": {
1297
+ "type": "string"
1298
+ },
1299
+ "activePublicJwk": {
1300
+ "type": "object",
1301
+ "properties": {
1302
+ "kty": {
1303
+ "type": "string"
1304
+ },
1305
+ "x": {
1306
+ "type": "string"
1307
+ },
1308
+ "y": {
1309
+ "type": "string"
1310
+ },
1311
+ "crv": {
1312
+ "type": "string"
1313
+ },
1314
+ "alg": {
1315
+ "type": "string"
1316
+ },
1317
+ "kid": {
1318
+ "type": "string"
1319
+ }
1320
+ },
1321
+ "required": [
1322
+ "kty",
1323
+ "x",
1324
+ "y",
1325
+ "crv"
1326
+ ],
1327
+ "additionalProperties": false
1328
+ }
1329
+ },
1330
+ "required": [
1331
+ "type",
1332
+ "provider",
1333
+ "externalKeyId",
1334
+ "publicJwk"
1335
+ ],
1336
+ "additionalProperties": false
1337
+ },
1338
+ {
1339
+ "type": "object",
1340
+ "properties": {
1341
+ "type": {
1342
+ "type": "string",
1343
+ "const": "required"
1344
+ },
1345
+ "publicJwk": {
1346
+ "type": "object",
1347
+ "properties": {
1348
+ "kty": {
1349
+ "type": "string"
1350
+ },
1351
+ "x": {
1352
+ "type": "string"
1353
+ },
1354
+ "y": {
1355
+ "type": "string"
1356
+ },
1357
+ "crv": {
1358
+ "type": "string"
1359
+ },
1360
+ "alg": {
1361
+ "type": "string"
1362
+ },
1363
+ "kid": {
1364
+ "type": "string"
1365
+ }
1366
+ },
1367
+ "required": [
1368
+ "kty",
1369
+ "x",
1370
+ "y",
1371
+ "crv"
1372
+ ],
1373
+ "additionalProperties": false
1374
+ }
1375
+ },
1376
+ "required": [
1377
+ "type"
1378
+ ],
1379
+ "additionalProperties": false
1380
+ },
1381
+ {
1382
+ "type": "object",
1383
+ "properties": {
1384
+ "type": {
1385
+ "type": "string",
1386
+ "const": "regenerate"
1387
+ },
1388
+ "keyChainType": {
1389
+ "type": "string",
1390
+ "enum": [
1391
+ "standalone",
1392
+ "internalChain"
1393
+ ]
1394
+ }
1395
+ },
1396
+ "required": [
1397
+ "type"
1398
+ ],
1399
+ "additionalProperties": false
1400
+ }
1401
+ ]
1402
+ },
1403
+ "crt": {
1404
+ "type": "array",
1405
+ "items": {
1406
+ "type": "string"
1407
+ }
1408
+ },
1409
+ "activeCertificate": {
1410
+ "description": "Active certificate for an internal key chain.",
1411
+ "type": "string"
1412
+ },
1413
+ "kmsProvider": {
1414
+ "type": "string"
1415
+ },
1416
+ "rotationPolicy": {
1417
+ "type": "object",
1418
+ "properties": {
1419
+ "enabled": {
1420
+ "type": "boolean"
1421
+ },
1422
+ "intervalDays": {
1423
+ "anyOf": [
1424
+ {
1425
+ "type": "number",
1426
+ "minimum": 1,
1427
+ "maximum": 3650
1428
+ },
1429
+ {
1430
+ "type": "null"
1431
+ }
1432
+ ]
1433
+ },
1434
+ "certValidityDays": {
1435
+ "anyOf": [
1436
+ {
1437
+ "type": "number",
1438
+ "minimum": 1,
1439
+ "maximum": 3650
1440
+ },
1441
+ {
1442
+ "type": "null"
1443
+ }
1444
+ ]
1445
+ }
1446
+ },
1447
+ "required": [
1448
+ "enabled"
1449
+ ],
1450
+ "additionalProperties": false
1451
+ }
1452
+ },
1453
+ "required": [
1454
+ "usageType",
1455
+ "keySource"
1456
+ ],
1457
+ "additionalProperties": false
1458
+ }
1459
+ },
1460
+ "required": [
1461
+ "$schema",
1462
+ "metadata",
1463
+ "spec"
1464
+ ],
1465
+ "additionalProperties": false
1466
+ },
730
1467
  {
731
1468
  "type": "object",
732
1469
  "properties": {
@@ -789,9 +1526,11 @@
789
1526
  "type": "string",
790
1527
  "enum": [
791
1528
  "access",
1529
+ "accessToken",
792
1530
  "attestation",
793
1531
  "trustList",
794
1532
  "statusList",
1533
+ "federation",
795
1534
  "encrypt"
796
1535
  ],
797
1536
  "description": "Key usage category for the imported key chain."