@credo-ts/core 0.6.2-alpha-20251211125344 → 0.6.2-alpha-20260108172346
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/build/crypto/index.d.mts +1 -1
- package/build/crypto/index.mjs +1 -0
- package/build/crypto/webcrypto/index.d.mts +1 -1
- package/build/crypto/webcrypto/index.mjs +1 -0
- package/build/crypto/webcrypto/types.d.mts +16 -2
- package/build/crypto/webcrypto/types.d.mts.map +1 -1
- package/build/crypto/webcrypto/types.mjs +50 -1
- package/build/crypto/webcrypto/types.mjs.map +1 -1
- package/build/crypto/webcrypto/utils/keyAlgorithmConversion.mjs +1 -2
- package/build/crypto/webcrypto/utils/keyAlgorithmConversion.mjs.map +1 -1
- package/build/index.d.mts +5 -3
- package/build/index.d.mts.map +1 -1
- package/build/index.mjs +4 -1
- package/build/index.mjs.map +1 -1
- package/build/modules/dids/domain/keyDidDocument.mjs +2 -2
- package/build/modules/dids/domain/keyDidDocument.mjs.map +1 -1
- package/build/modules/dids/methods/jwk/DidJwk.mjs +1 -1
- package/build/modules/dids/methods/jwk/DidJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/PublicJwk.d.mts +9 -2
- package/build/modules/kms/jwk/PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/PublicJwk.mjs +19 -9
- package/build/modules/kms/jwk/PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/PublicJwk.d.mts +1 -1
- package/build/modules/kms/jwk/kty/PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.d.mts +3 -3
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.mjs.map +1 -1
- package/build/modules/mdoc/MdocContext.mjs +1 -1
- package/build/modules/mdoc/MdocContext.mjs.map +1 -1
- package/build/modules/x509/CertificateSigningRequest.d.mts +58 -0
- package/build/modules/x509/CertificateSigningRequest.d.mts.map +1 -0
- package/build/modules/x509/CertificateSigningRequest.mjs +148 -0
- package/build/modules/x509/CertificateSigningRequest.mjs.map +1 -0
- package/build/modules/x509/X509Api.d.mts +4 -1
- package/build/modules/x509/X509Api.d.mts.map +1 -1
- package/build/modules/x509/X509Api.mjs +6 -0
- package/build/modules/x509/X509Api.mjs.map +1 -1
- package/build/modules/x509/X509Certificate.d.mts +4 -4
- package/build/modules/x509/X509Certificate.d.mts.map +1 -1
- package/build/modules/x509/X509Certificate.mjs +3 -3
- package/build/modules/x509/X509Certificate.mjs.map +1 -1
- package/build/modules/x509/X509Service.d.mts +8 -3
- package/build/modules/x509/X509Service.d.mts.map +1 -1
- package/build/modules/x509/X509Service.mjs +10 -2
- package/build/modules/x509/X509Service.mjs.map +1 -1
- package/build/modules/x509/X509ServiceOptions.d.mts +22 -1
- package/build/modules/x509/X509ServiceOptions.d.mts.map +1 -1
- package/build/modules/x509/index.d.mts +2 -1
- package/build/modules/x509/index.mjs +1 -0
- package/build/modules/x509/utils/nameConversion.mjs +1 -1
- package/build/modules/x509/utils/nameConversion.mjs.map +1 -1
- package/build/utils/IntegrityVerifier.d.mts +44 -0
- package/build/utils/IntegrityVerifier.d.mts.map +1 -0
- package/build/utils/index.d.mts +1 -0
- package/package.json +1 -1
|
@@ -68,6 +68,7 @@ type X509CertificateExtensionsOptions = AddMarkAsCritical<{
|
|
|
68
68
|
urls: Array<string>;
|
|
69
69
|
};
|
|
70
70
|
}>;
|
|
71
|
+
type X509CertificateSigningRequestExtensionsOptions = Pick<X509CertificateExtensionsOptions, 'subjectKeyIdentifier' | 'keyUsage' | 'extendedKeyUsage' | 'subjectAlternativeName'>;
|
|
71
72
|
interface X509CertificateIssuerAndSubjectOptions {
|
|
72
73
|
countryName?: string;
|
|
73
74
|
stateOrProvinceName?: string;
|
|
@@ -137,6 +138,26 @@ interface X509CreateCertificateOptions {
|
|
|
137
138
|
*/
|
|
138
139
|
extensions?: X509CertificateExtensionsOptions;
|
|
139
140
|
}
|
|
141
|
+
interface X509CreateCertificateSigningRequestOptions {
|
|
142
|
+
/**
|
|
143
|
+
* The key that is the subject of the certificate signing request.
|
|
144
|
+
*
|
|
145
|
+
* If you want to influence the specific signature algorithm to use
|
|
146
|
+
* make sure to set the `alg` on the jwk.
|
|
147
|
+
*/
|
|
148
|
+
subjectPublicKey: PublicJwk;
|
|
149
|
+
/**
|
|
150
|
+
* The subject information of the certificate signing request
|
|
151
|
+
*/
|
|
152
|
+
subject: string | X509CertificateIssuerAndSubjectOptions;
|
|
153
|
+
/**
|
|
154
|
+
* X.509 v3 Extensions to be added to the certificate signing request
|
|
155
|
+
*/
|
|
156
|
+
extensions?: X509CertificateSigningRequestExtensionsOptions;
|
|
157
|
+
}
|
|
158
|
+
interface X509ParseCertificateSigningRequestOptions {
|
|
159
|
+
encodedCertificateSigningRequest: string;
|
|
160
|
+
}
|
|
140
161
|
//#endregion
|
|
141
|
-
export { EncodedX509Certificate, X509CertificateExtensionsOptions, X509CertificateIssuerAndSubjectOptions, X509CreateCertificateChainOptions, X509CreateCertificateOptions, X509GetLeafCertificateOptions, X509ParseCertificateOptions, X509ValidateCertificateChainOptions };
|
|
162
|
+
export { EncodedX509Certificate, X509CertificateExtensionsOptions, X509CertificateIssuerAndSubjectOptions, X509CertificateSigningRequestExtensionsOptions, X509CreateCertificateChainOptions, X509CreateCertificateOptions, X509CreateCertificateSigningRequestOptions, X509GetLeafCertificateOptions, X509ParseCertificateOptions, X509ParseCertificateSigningRequestOptions, X509ValidateCertificateChainOptions };
|
|
142
163
|
//# sourceMappingURL=X509ServiceOptions.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"X509ServiceOptions.d.mts","names":[],"sources":["../../../src/modules/x509/X509ServiceOptions.ts"],"sourcesContent":[],"mappings":";;;;;;KAIK,4BAA4B,eAAe,4BAA4B,kBAC9D,IAAI,EAAE;;;AAHwE;;;AAEhB,KAShE,sBAAA,GATgE,MAAA;AAC9D,UAUG,mCAAA,CAVH;EAAI,gBAAA,EAWE,KAXF,CAWQ,sBAXR,CAAA;EAAE,WAAA,CAAA,EAaJ,sBAbI;EAAC;AAQrB;AAEA;;;;;;EAewB,gBAAA,CAAA,EAFH,IAEG;EAAK,mBAAA,CAAA,EAAL,KAAK,CAAC,sBAAD,CAAA;AAG7B;AAIiB,UAJA,6BAAA,CAI2B;EAI3B,gBAAA,EAPG,KAOH,CAAA,MAAA,CAAA;AAKjB;AAKkB,UAdD,2BAAA,CAcC;EAAN,kBAAA,EAAA,MAAA;;AAGA,UAbK,iCAAA,CAaL;EAMY,YAAA,EAlBR,KAkBQ,CAlBF,eAkBE,GAAA,MAAA,CAAA;EAAd,YAAA,CAAA,EAAA,KAAA,GAAA,QAAA;;AAGA,KAjBE,gCAAA,GAAmC,iBAiBrC,CAAA;EAOA,oBAAA,CAAA,EAAA;IAxBqC,OAAA,EAAA,OAAA;EAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"X509ServiceOptions.d.mts","names":[],"sources":["../../../src/modules/x509/X509ServiceOptions.ts"],"sourcesContent":[],"mappings":";;;;;;KAIK,4BAA4B,eAAe,4BAA4B,kBAC9D,IAAI,EAAE;;;AAHwE;;;AAEhB,KAShE,sBAAA,GATgE,MAAA;AAC9D,UAUG,mCAAA,CAVH;EAAI,gBAAA,EAWE,KAXF,CAWQ,sBAXR,CAAA;EAAE,WAAA,CAAA,EAaJ,sBAbI;EAAC;AAQrB;AAEA;;;;;;EAewB,gBAAA,CAAA,EAFH,IAEG;EAAK,mBAAA,CAAA,EAAL,KAAK,CAAC,sBAAD,CAAA;AAG7B;AAIiB,UAJA,6BAAA,CAI2B;EAI3B,gBAAA,EAPG,KAOH,CAAA,MAAA,CAAA;AAKjB;AAKkB,UAdD,2BAAA,CAcC;EAAN,kBAAA,EAAA,MAAA;;AAGA,UAbK,iCAAA,CAaL;EAMY,YAAA,EAlBR,KAkBQ,CAlBF,eAkBE,GAAA,MAAA,CAAA;EAAd,YAAA,CAAA,EAAA,KAAA,GAAA,QAAA;;AAGA,KAjBE,gCAAA,GAAmC,iBAiBrC,CAAA;EAOA,oBAAA,CAAA,EAAA;IAxBqC,OAAA,EAAA,OAAA;EAAiB,CAAA;EA4BpD,QAAA,CAAA,EAAA;IAKK,MAAA,EA5BL,KA4BK,CA5BC,YA4BD,CAAA;EAOA,CAAA;EAaD,gBAAA,CAAA,EAAA;IAUK,MAAA,EAvDT,KAuDS,CAvDH,oBAuDG,CAAA;EAOF,CAAA;EAUE,sBAAA,CAAA,EAAA;IAaL,OAAA,EAAA,OAAA;EAOD,CAAA;EAQA,qBAAA,CAAA,EAAA;IAAgC,IAAA,EA9FrC,KA8FqC,CAAA;MAG9B,IAAA,EAjGO,eAiGP;MAOG,KAAA,EAAA,MAAA;IAKA,CAAA,CAAA;EAKL,CAAA;EAA8C,sBAAA,CAAA,EAAA;IAG5C,IAAA,EAlHP,KAkHO,CAAA;YAlHO;;;;;;;;;UAOd;;;KAIE,8CAAA,GAAiD,KAC3D;UAIe,sCAAA;;;;;;UAOA,4BAAA;;;;;;;;;;;;gBAaD;;;;;;;;;qBAUK;;;;;;mBAOF;;;;;;;;;qBAUE;;;;;;;;;;;;gBAaL;;;;;;eAOD;;;;;;;eAQA;;UAGE,0CAAA;;;;;;;oBAOG;;;;oBAKA;;;;eAKL;;UAGE,yCAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { EncodedX509Certificate, X509CertificateExtensionsOptions, X509CertificateIssuerAndSubjectOptions, X509CreateCertificateChainOptions, X509CreateCertificateOptions, X509GetLeafCertificateOptions, X509ParseCertificateOptions, X509ValidateCertificateChainOptions } from "./X509ServiceOptions.mjs";
|
|
1
|
+
import { EncodedX509Certificate, X509CertificateExtensionsOptions, X509CertificateIssuerAndSubjectOptions, X509CertificateSigningRequestExtensionsOptions, X509CreateCertificateChainOptions, X509CreateCertificateOptions, X509CreateCertificateSigningRequestOptions, X509GetLeafCertificateOptions, X509ParseCertificateOptions, X509ParseCertificateSigningRequestOptions, X509ValidateCertificateChainOptions } from "./X509ServiceOptions.mjs";
|
|
2
2
|
import { X509Certificate, X509CertificateOptions, X509ExtendedKeyUsage, X509KeyUsage } from "./X509Certificate.mjs";
|
|
3
|
+
import { CertificateSigningRequest, CertificateSigningRequestOptions } from "./CertificateSigningRequest.mjs";
|
|
3
4
|
import { extractX509CertificatesFromJwt } from "./extraction.mjs";
|
|
4
5
|
import { createAuthorityKeyIdentifierExtension, createBasicConstraintsExtension, createCrlDistributionPointsExtension, createExtendedKeyUsagesExtension, createIssuerAlternativeNameExtension, createKeyUsagesExtension, createSubjectAlternativeNameExtension, createSubjectKeyIdentifierExtension } from "./utils/extensions.mjs";
|
|
5
6
|
import { convertName } from "./utils/nameConversion.mjs";
|
|
@@ -5,6 +5,7 @@ import { X509Error } from "./X509Error.mjs";
|
|
|
5
5
|
import { convertName } from "./utils/nameConversion.mjs";
|
|
6
6
|
import "./utils/index.mjs";
|
|
7
7
|
import { X509Certificate, X509ExtendedKeyUsage, X509KeyUsage } from "./X509Certificate.mjs";
|
|
8
|
+
import { CertificateSigningRequest } from "./CertificateSigningRequest.mjs";
|
|
8
9
|
import { extractX509CertificatesFromJwt } from "./extraction.mjs";
|
|
9
10
|
import { X509ModuleConfig } from "./X509ModuleConfig.mjs";
|
|
10
11
|
import { X509Service } from "./X509Service.mjs";
|
|
@@ -9,7 +9,7 @@ const convertName = (name) => {
|
|
|
9
9
|
if (name.commonName) nameBuilder = nameBuilder.concat(`CN=${name.commonName}, `);
|
|
10
10
|
if (name.countryName) nameBuilder = nameBuilder.concat(`C=${name.countryName}, `);
|
|
11
11
|
if (name.organizationalUnit) nameBuilder = nameBuilder.concat(`OU=${name.organizationalUnit}, `);
|
|
12
|
-
if (name.stateOrProvinceName) nameBuilder = nameBuilder.concat(`
|
|
12
|
+
if (name.stateOrProvinceName) nameBuilder = nameBuilder.concat(`ST=${name.stateOrProvinceName}, `);
|
|
13
13
|
if (nameBuilder.length === 0) throw new X509Error("Provided name object has no entries. Could not generate an issuer/subject name");
|
|
14
14
|
return nameBuilder.slice(0, nameBuilder.length - 2);
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nameConversion.mjs","names":[],"sources":["../../../../src/modules/x509/utils/nameConversion.ts"],"sourcesContent":["import { X509Error } from '../X509Error'\nimport type { X509CertificateIssuerAndSubjectOptions } from '../X509ServiceOptions'\n\nexport const convertName = (name: string | X509CertificateIssuerAndSubjectOptions) => {\n if (typeof name === 'string') return name\n\n let nameBuilder = ''\n\n if (name.commonName) nameBuilder = nameBuilder.concat(`CN=${name.commonName}, `)\n if (name.countryName) nameBuilder = nameBuilder.concat(`C=${name.countryName}, `)\n if (name.organizationalUnit) nameBuilder = nameBuilder.concat(`OU=${name.organizationalUnit}, `)\n if (name.stateOrProvinceName) nameBuilder = nameBuilder.concat(`
|
|
1
|
+
{"version":3,"file":"nameConversion.mjs","names":[],"sources":["../../../../src/modules/x509/utils/nameConversion.ts"],"sourcesContent":["import { X509Error } from '../X509Error'\nimport type { X509CertificateIssuerAndSubjectOptions } from '../X509ServiceOptions'\n\nexport const convertName = (name: string | X509CertificateIssuerAndSubjectOptions) => {\n if (typeof name === 'string') return name\n\n let nameBuilder = ''\n\n if (name.commonName) nameBuilder = nameBuilder.concat(`CN=${name.commonName}, `)\n if (name.countryName) nameBuilder = nameBuilder.concat(`C=${name.countryName}, `)\n if (name.organizationalUnit) nameBuilder = nameBuilder.concat(`OU=${name.organizationalUnit}, `)\n if (name.stateOrProvinceName) nameBuilder = nameBuilder.concat(`ST=${name.stateOrProvinceName}, `)\n\n if (nameBuilder.length === 0) {\n throw new X509Error('Provided name object has no entries. Could not generate an issuer/subject name')\n }\n\n // Remove the trailing `, `\n return nameBuilder.slice(0, nameBuilder.length - 2)\n}\n"],"mappings":";;;;;AAGA,MAAa,eAAe,SAA0D;AACpF,KAAI,OAAO,SAAS,SAAU,QAAO;CAErC,IAAI,cAAc;AAElB,KAAI,KAAK,WAAY,eAAc,YAAY,OAAO,MAAM,KAAK,WAAW,IAAI;AAChF,KAAI,KAAK,YAAa,eAAc,YAAY,OAAO,KAAK,KAAK,YAAY,IAAI;AACjF,KAAI,KAAK,mBAAoB,eAAc,YAAY,OAAO,MAAM,KAAK,mBAAmB,IAAI;AAChG,KAAI,KAAK,oBAAqB,eAAc,YAAY,OAAO,MAAM,KAAK,oBAAoB,IAAI;AAElG,KAAI,YAAY,WAAW,EACzB,OAAM,IAAI,UAAU,iFAAiF;AAIvG,QAAO,YAAY,MAAM,GAAG,YAAY,SAAS,EAAE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/utils/IntegrityVerifier.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Verifies Subresource Integrity (SRI) metadata according to W3C specification.
|
|
4
|
+
*
|
|
5
|
+
* This class implements the verification logic for integrity metadata strings
|
|
6
|
+
* as defined in the W3C Subresource Integrity specification.
|
|
7
|
+
*
|
|
8
|
+
* @see https://www.w3.org/TR/SRI/
|
|
9
|
+
*/
|
|
10
|
+
declare class IntegrityVerifier {
|
|
11
|
+
/**
|
|
12
|
+
* Verifies the integrity of raw data against provided integrity metadata.
|
|
13
|
+
*
|
|
14
|
+
* @param data - The data to verify
|
|
15
|
+
* @param integrityMetadata - The integrity metadata string (e.g., "sha256-...")
|
|
16
|
+
* @throws {CredoError} if verification fails
|
|
17
|
+
*/
|
|
18
|
+
static verifyIntegrity(data: Uint8Array, integrityMetadata: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Parses integrity metadata string into structured format.
|
|
21
|
+
*
|
|
22
|
+
* @param metadata - The integrity metadata string
|
|
23
|
+
* @returns Array of parsed metadata objects
|
|
24
|
+
*/
|
|
25
|
+
private static parseIntegrityMetadata;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the metadata for the strongest algorithm(s) in the set.
|
|
28
|
+
*
|
|
29
|
+
* @param metadataSet - Array of parsed metadata
|
|
30
|
+
* @returns Array containing only the strongest algorithm's metadata
|
|
31
|
+
*/
|
|
32
|
+
private static getStrongestMetadata;
|
|
33
|
+
/**
|
|
34
|
+
* Applies the specified hash algorithm to the given bytes.
|
|
35
|
+
*
|
|
36
|
+
* @param bytes - The bytes to hash
|
|
37
|
+
* @param algorithm - The hash algorithm name
|
|
38
|
+
* @returns Base64-encoded hash value
|
|
39
|
+
*/
|
|
40
|
+
private static applyAlgorithmToBytes;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { IntegrityVerifier };
|
|
44
|
+
//# sourceMappingURL=IntegrityVerifier.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntegrityVerifier.d.mts","names":[],"sources":["../../src/utils/IntegrityVerifier.ts"],"sourcesContent":[],"mappings":";;;;AAaA;;;;;cAAa,iBAAA;;;;;;;;+BAQyB"}
|
package/build/utils/index.d.mts
CHANGED
|
@@ -2,6 +2,7 @@ import { Buffer } from "./buffer.mjs";
|
|
|
2
2
|
import { asArray } from "./array.mjs";
|
|
3
3
|
import { deepEquality, equalsIgnoreOrder, equalsWithOrder } from "./deepEquality.mjs";
|
|
4
4
|
import { indyDidFromPublicKeyBase58, isDid } from "./did.mjs";
|
|
5
|
+
import { IntegrityVerifier } from "./IntegrityVerifier.mjs";
|
|
5
6
|
import { JsonEncoder } from "./JsonEncoder.mjs";
|
|
6
7
|
import { JsonTransformer } from "./JsonTransformer.mjs";
|
|
7
8
|
import { MessageValidator } from "./MessageValidator.mjs";
|