@brightchain/brightchain-lib 0.29.26 → 0.29.27
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/package.json +10 -4
- package/src/index.d.ts +1 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +2 -1
- package/src/index.js.map +1 -1
- package/src/lib/enumeration-translations/index.d.ts +2 -0
- package/src/lib/enumeration-translations/index.d.ts.map +1 -1
- package/src/lib/enumeration-translations/index.js +1 -0
- package/src/lib/enumeration-translations/index.js.map +1 -1
- package/src/lib/enumeration-translations/memberStatusType.d.ts +5 -0
- package/src/lib/enumeration-translations/memberStatusType.d.ts.map +1 -0
- package/src/lib/enumeration-translations/memberStatusType.js +58 -0
- package/src/lib/enumeration-translations/memberStatusType.js.map +1 -0
- package/src/lib/enumerations/brightChainStrings.d.ts +43 -0
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +44 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/brightchainFeatures.d.ts +1 -0
- package/src/lib/enumerations/brightchainFeatures.d.ts.map +1 -1
- package/src/lib/enumerations/brightchainFeatures.js +1 -0
- package/src/lib/enumerations/brightchainFeatures.js.map +1 -1
- package/src/lib/enumerations/communication.d.ts +7 -1
- package/src/lib/enumerations/communication.d.ts.map +1 -1
- package/src/lib/enumerations/communication.js +6 -0
- package/src/lib/enumerations/communication.js.map +1 -1
- package/src/lib/enumerations/messaging/emailErrorType.d.ts +15 -2
- package/src/lib/enumerations/messaging/emailErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/messaging/emailErrorType.js +17 -1
- package/src/lib/enumerations/messaging/emailErrorType.js.map +1 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +4 -2
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js +3 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -1
- package/src/lib/errors/encryptionErrors.d.ts +71 -0
- package/src/lib/errors/encryptionErrors.d.ts.map +1 -0
- package/src/lib/errors/encryptionErrors.js +112 -0
- package/src/lib/errors/encryptionErrors.js.map +1 -0
- package/src/lib/errors/index.d.ts +10 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +13 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/i18n/i18n-setup.d.ts +2 -2
- package/src/lib/i18n/i18n-setup.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUK.d.ts +2 -2
- package/src/lib/i18n/strings/englishUK.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUK.js.map +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts +2 -2
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +45 -1
- package/src/lib/i18n/strings/englishUs.js.map +1 -1
- package/src/lib/i18n/strings/french.d.ts +2 -2
- package/src/lib/i18n/strings/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/french.js +58 -13
- package/src/lib/i18n/strings/french.js.map +1 -1
- package/src/lib/i18n/strings/german.d.ts +2 -2
- package/src/lib/i18n/strings/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/german.js +57 -12
- package/src/lib/i18n/strings/german.js.map +1 -1
- package/src/lib/i18n/strings/japanese.d.ts +2 -2
- package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/japanese.js +57 -12
- package/src/lib/i18n/strings/japanese.js.map +1 -1
- package/src/lib/i18n/strings/mandarin.d.ts +2 -2
- package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/mandarin.js +57 -12
- package/src/lib/i18n/strings/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/spanish.d.ts +2 -2
- package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/spanish.js +57 -12
- package/src/lib/i18n/strings/spanish.js.map +1 -1
- package/src/lib/i18n/strings/ukrainian.d.ts +2 -2
- package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/ukrainian.js +57 -12
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/index.d.ts +31 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +29 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/interfaces/auth/writeProof.d.ts +2 -0
- package/src/lib/interfaces/auth/writeProof.d.ts.map +1 -1
- package/src/lib/interfaces/auth/writeProofUtils.d.ts +1 -1
- package/src/lib/interfaces/auth/writeProofUtils.d.ts.map +1 -1
- package/src/lib/interfaces/auth/writeProofUtils.js +2 -2
- package/src/lib/interfaces/auth/writeProofUtils.js.map +1 -1
- package/src/lib/interfaces/availability/gossipService.d.ts +99 -1
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js +4 -0
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/communication/blockContentStore.d.ts +57 -0
- package/src/lib/interfaces/communication/blockContentStore.d.ts.map +1 -0
- package/src/lib/interfaces/communication/blockContentStore.js +21 -0
- package/src/lib/interfaces/communication/blockContentStore.js.map +1 -0
- package/src/lib/interfaces/communication/chatStorageProvider.d.ts +77 -0
- package/src/lib/interfaces/communication/chatStorageProvider.d.ts.map +1 -0
- package/src/lib/interfaces/communication/chatStorageProvider.js +25 -0
- package/src/lib/interfaces/communication/chatStorageProvider.js.map +1 -0
- package/src/lib/interfaces/communication/index.d.ts +4 -0
- package/src/lib/interfaces/communication/index.d.ts.map +1 -0
- package/src/lib/interfaces/communication/index.js +3 -0
- package/src/lib/interfaces/communication/index.js.map +1 -0
- package/src/lib/interfaces/communication/server.d.ts +57 -0
- package/src/lib/interfaces/communication/server.d.ts.map +1 -0
- package/src/lib/interfaces/communication/server.js +14 -0
- package/src/lib/interfaces/communication/server.js.map +1 -0
- package/src/lib/interfaces/communication.d.ts +60 -5
- package/src/lib/interfaces/communication.d.ts.map +1 -1
- package/src/lib/interfaces/communication.js +8 -0
- package/src/lib/interfaces/communication.js.map +1 -1
- package/src/lib/interfaces/communicationEvents.d.ts +59 -1
- package/src/lib/interfaces/communicationEvents.d.ts.map +1 -1
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts +9 -0
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts.map +1 -1
- package/src/lib/interfaces/events/communicationEventEmitter.js +9 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js.map +1 -1
- package/src/lib/interfaces/index.d.ts +4 -1
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +3 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/messaging/gpgKey.d.ts +93 -0
- package/src/lib/interfaces/messaging/gpgKey.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/gpgKey.js +12 -0
- package/src/lib/interfaces/messaging/gpgKey.js.map +1 -0
- package/src/lib/interfaces/messaging/index.d.ts +4 -0
- package/src/lib/interfaces/messaging/index.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/index.js +4 -0
- package/src/lib/interfaces/messaging/index.js.map +1 -1
- package/src/lib/interfaces/messaging/keyStore.d.ts +100 -0
- package/src/lib/interfaces/messaging/keyStore.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/keyStore.js +13 -0
- package/src/lib/interfaces/messaging/keyStore.js.map +1 -0
- package/src/lib/interfaces/messaging/recipientKeyResolver.d.ts +92 -0
- package/src/lib/interfaces/messaging/recipientKeyResolver.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/recipientKeyResolver.js +13 -0
- package/src/lib/interfaces/messaging/recipientKeyResolver.js.map +1 -0
- package/src/lib/interfaces/messaging/smimeCertificate.d.ts +99 -0
- package/src/lib/interfaces/messaging/smimeCertificate.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/smimeCertificate.js +12 -0
- package/src/lib/interfaces/messaging/smimeCertificate.js.map +1 -0
- package/src/lib/interfaces/responses/adminDashboardResponse.d.ts +8 -0
- package/src/lib/interfaces/responses/adminDashboardResponse.d.ts.map +1 -1
- package/src/lib/interfaces/responses/communicationResponses.d.ts +25 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -1
- package/src/lib/services/blockService.d.ts +11 -3
- package/src/lib/services/blockService.d.ts.map +1 -1
- package/src/lib/services/blockService.js +22 -2
- package/src/lib/services/blockService.js.map +1 -1
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts +108 -0
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts.map +1 -0
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.js +284 -0
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.js.map +1 -0
- package/src/lib/services/communication/attachmentUtils.d.ts +20 -0
- package/src/lib/services/communication/attachmentUtils.d.ts.map +1 -0
- package/src/lib/services/communication/attachmentUtils.js +43 -0
- package/src/lib/services/communication/attachmentUtils.js.map +1 -0
- package/src/lib/services/communication/channelService.d.ts +127 -12
- package/src/lib/services/communication/channelService.d.ts.map +1 -1
- package/src/lib/services/communication/channelService.js +486 -30
- package/src/lib/services/communication/channelService.js.map +1 -1
- package/src/lib/services/communication/conversationService.d.ts +91 -4
- package/src/lib/services/communication/conversationService.d.ts.map +1 -1
- package/src/lib/services/communication/conversationService.js +237 -5
- package/src/lib/services/communication/conversationService.js.map +1 -1
- package/src/lib/services/communication/eciesKeyEncryptionHandler.d.ts +36 -0
- package/src/lib/services/communication/eciesKeyEncryptionHandler.d.ts.map +1 -0
- package/src/lib/services/communication/eciesKeyEncryptionHandler.js +30 -0
- package/src/lib/services/communication/eciesKeyEncryptionHandler.js.map +1 -0
- package/src/lib/services/communication/groupService.d.ts +99 -21
- package/src/lib/services/communication/groupService.d.ts.map +1 -1
- package/src/lib/services/communication/groupService.js +359 -39
- package/src/lib/services/communication/groupService.js.map +1 -1
- package/src/lib/services/communication/index.d.ts +6 -1
- package/src/lib/services/communication/index.d.ts.map +1 -1
- package/src/lib/services/communication/index.js +20 -1
- package/src/lib/services/communication/index.js.map +1 -1
- package/src/lib/services/communication/keyEpochManager.d.ts +41 -0
- package/src/lib/services/communication/keyEpochManager.d.ts.map +1 -0
- package/src/lib/services/communication/keyEpochManager.js +59 -0
- package/src/lib/services/communication/keyEpochManager.js.map +1 -0
- package/src/lib/services/communication/rehydrationHelpers.d.ts +32 -0
- package/src/lib/services/communication/rehydrationHelpers.d.ts.map +1 -0
- package/src/lib/services/communication/rehydrationHelpers.js +58 -0
- package/src/lib/services/communication/rehydrationHelpers.js.map +1 -0
- package/src/lib/services/communication/serverService.d.ts +193 -0
- package/src/lib/services/communication/serverService.d.ts.map +1 -0
- package/src/lib/services/communication/serverService.js +497 -0
- package/src/lib/services/communication/serverService.js.map +1 -0
- package/src/lib/services/memberStore.d.ts +10 -0
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +41 -16
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/messaging/emailEncryptionService.d.ts +162 -0
- package/src/lib/services/messaging/emailEncryptionService.d.ts.map +1 -1
- package/src/lib/services/messaging/emailEncryptionService.js +293 -0
- package/src/lib/services/messaging/emailEncryptionService.js.map +1 -1
- package/src/lib/services/messaging/emailMessageService.d.ts +64 -0
- package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
- package/src/lib/services/messaging/emailMessageService.js +142 -13
- package/src/lib/services/messaging/emailMessageService.js.map +1 -1
- package/src/lib/services/messaging/gpgKeyManager.d.ts +130 -0
- package/src/lib/services/messaging/gpgKeyManager.d.ts.map +1 -0
- package/src/lib/services/messaging/gpgKeyManager.js +381 -0
- package/src/lib/services/messaging/gpgKeyManager.js.map +1 -0
- package/src/lib/services/messaging/index.d.ts +3 -0
- package/src/lib/services/messaging/index.d.ts.map +1 -1
- package/src/lib/services/messaging/index.js +3 -0
- package/src/lib/services/messaging/index.js.map +1 -1
- package/src/lib/services/messaging/recipientKeyResolver.d.ts +47 -0
- package/src/lib/services/messaging/recipientKeyResolver.d.ts.map +1 -0
- package/src/lib/services/messaging/recipientKeyResolver.js +132 -0
- package/src/lib/services/messaging/recipientKeyResolver.js.map +1 -0
- package/src/lib/services/messaging/smimeCertificateManager.d.ts +207 -0
- package/src/lib/services/messaging/smimeCertificateManager.d.ts.map +1 -0
- package/src/lib/services/messaging/smimeCertificateManager.js +696 -0
- package/src/lib/services/messaging/smimeCertificateManager.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/index.ts"],"names":[],"mappings":";;;AACA,yDAA+B;AA+B/B,oDAA0B;AAkB1B,oDAA0B;AAW1B,+GAA+G;AAC/G,sDAA4B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/index.ts"],"names":[],"mappings":";;;AACA,yDAA+B;AA+B/B,oDAA0B;AAkB1B,oDAA0B;AAW1B,+GAA+G;AAC/G,sDAA4B;AAK5B,gEAAgE;AAChE,4FAA4F;AAC5F,0DAAgC;AAchC,yCAAyC;AACzC,uDAA6B;AAE7B,mEAAmE;AACnE,mDAAyB;AAEzB,kDAAkD;AAClD,uDAA6B;AAE7B,kDAAkD;AAClD,4GAA4G;AAC5G,iDAAuB;AAEvB,oEAAoE;AACpE,yGAAyG;AACzG,2DAAiC;AAEjC,oFAAoF;AACpF,yGAAyG;AACzG,oDAA0B;AAS1B,gEAAsC;AAKtC,0DAAgC;AAGhC,8DAA8D;AAC9D,gDAAsB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GPG (OpenPGP) key interfaces for BrightMail encryption.
|
|
3
|
+
*
|
|
4
|
+
* These interfaces define the data structures for GPG key management,
|
|
5
|
+
* encryption results, signature results, and verification results
|
|
6
|
+
* used throughout the messaging system.
|
|
7
|
+
*
|
|
8
|
+
* @see Requirements 1.1, 1.3, 4.1, 5.3
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Metadata for a GPG (OpenPGP) key.
|
|
12
|
+
*
|
|
13
|
+
* Contains identifying information extracted from an OpenPGP key,
|
|
14
|
+
* including the key ID, fingerprint, creation/expiration dates,
|
|
15
|
+
* the associated user ID string, and the cryptographic algorithm.
|
|
16
|
+
*
|
|
17
|
+
* @see Requirement 1.3 — Key metadata display (key ID, fingerprint, creation date, user ID)
|
|
18
|
+
*/
|
|
19
|
+
export interface IGpgKeyMetadata {
|
|
20
|
+
/** Short key ID (last 16 hex characters of the fingerprint) */
|
|
21
|
+
keyId: string;
|
|
22
|
+
/** Full key fingerprint (40 hex characters for v4 keys) */
|
|
23
|
+
fingerprint: string;
|
|
24
|
+
/** Date the key was created */
|
|
25
|
+
createdAt: Date;
|
|
26
|
+
/** Date the key expires, or null if it does not expire */
|
|
27
|
+
expiresAt: Date | null;
|
|
28
|
+
/** User ID string in the format "Display Name <email@example.com>" */
|
|
29
|
+
userId: string;
|
|
30
|
+
/** Cryptographic algorithm used (e.g., "rsa4096", "ed25519") */
|
|
31
|
+
algorithm: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A GPG keypair consisting of ASCII-armored public and private keys
|
|
35
|
+
* along with associated metadata.
|
|
36
|
+
*
|
|
37
|
+
* @remarks
|
|
38
|
+
* The private key is stored in ASCII-armored format and should be
|
|
39
|
+
* encrypted at rest before persistence to the key store.
|
|
40
|
+
*
|
|
41
|
+
* @see Requirement 1.1 — GPG keypair generation
|
|
42
|
+
*/
|
|
43
|
+
export interface IGpgKeyPair {
|
|
44
|
+
/** ASCII-armored PGP public key block */
|
|
45
|
+
publicKeyArmored: string;
|
|
46
|
+
/** ASCII-armored PGP private key block (encrypted at rest before storage) */
|
|
47
|
+
privateKeyArmored: string;
|
|
48
|
+
/** Metadata extracted from the generated keypair */
|
|
49
|
+
metadata: IGpgKeyMetadata;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Result of a GPG encryption operation.
|
|
53
|
+
*
|
|
54
|
+
* Contains the encrypted message in ASCII-armored OpenPGP format
|
|
55
|
+
* conforming to RFC 4880.
|
|
56
|
+
*
|
|
57
|
+
* @see Requirement 1.1 — GPG encryption output
|
|
58
|
+
*/
|
|
59
|
+
export interface IGpgEncryptionResult {
|
|
60
|
+
/** ASCII-armored OpenPGP encrypted message */
|
|
61
|
+
encryptedMessage: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Result of a GPG signing operation.
|
|
65
|
+
*
|
|
66
|
+
* Contains the detached ASCII-armored signature and the key ID
|
|
67
|
+
* of the signing key.
|
|
68
|
+
*
|
|
69
|
+
* @see Requirement 4.1 — Detached OpenPGP signature production
|
|
70
|
+
*/
|
|
71
|
+
export interface IGpgSignatureResult {
|
|
72
|
+
/** Detached ASCII-armored OpenPGP signature */
|
|
73
|
+
signature: string;
|
|
74
|
+
/** Key ID of the key used to produce the signature */
|
|
75
|
+
signerKeyId: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Result of a GPG signature verification operation.
|
|
79
|
+
*
|
|
80
|
+
* Indicates whether the signature is valid, and optionally provides
|
|
81
|
+
* the signer's key ID and a reason string for failures.
|
|
82
|
+
*
|
|
83
|
+
* @see Requirement 5.3 — Verification result with signer key ID and valid status
|
|
84
|
+
*/
|
|
85
|
+
export interface IGpgVerificationResult {
|
|
86
|
+
/** Whether the signature is valid */
|
|
87
|
+
valid: boolean;
|
|
88
|
+
/** Key ID of the signer, if verification succeeded or the key was identified */
|
|
89
|
+
signerKeyId?: string;
|
|
90
|
+
/** Human-readable reason for verification failure */
|
|
91
|
+
reason?: string;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=gpgKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpgKey.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/gpgKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IAEd,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,SAAS,EAAE,IAAI,CAAC;IAEhB,0DAA0D;IAC1D,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IAEf,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,6EAA6E;IAC7E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,oDAAoD;IACpD,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAElB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;IAEf,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GPG (OpenPGP) key interfaces for BrightMail encryption.
|
|
4
|
+
*
|
|
5
|
+
* These interfaces define the data structures for GPG key management,
|
|
6
|
+
* encryption results, signature results, and verification results
|
|
7
|
+
* used throughout the messaging system.
|
|
8
|
+
*
|
|
9
|
+
* @see Requirements 1.1, 1.3, 4.1, 5.3
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=gpgKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpgKey.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/gpgKey.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -3,9 +3,13 @@ export * from './emailAddress';
|
|
|
3
3
|
export * from './emailDelivery';
|
|
4
4
|
export * from './emailGateway';
|
|
5
5
|
export * from './emailMetadata';
|
|
6
|
+
export * from './gpgKey';
|
|
7
|
+
export * from './keyStore';
|
|
6
8
|
export * from './messageMetadata';
|
|
7
9
|
export * from './messageMetadataStore';
|
|
8
10
|
export * from './messageSystemConfig';
|
|
9
11
|
export * from './mimePart';
|
|
12
|
+
export * from './recipientKeyResolver';
|
|
10
13
|
export * from './recipientVerification';
|
|
14
|
+
export * from './smimeCertificate';
|
|
11
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
|
@@ -6,9 +6,13 @@ tslib_1.__exportStar(require("./emailAddress"), exports);
|
|
|
6
6
|
tslib_1.__exportStar(require("./emailDelivery"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./emailGateway"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./emailMetadata"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./gpgKey"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./keyStore"), exports);
|
|
9
11
|
tslib_1.__exportStar(require("./messageMetadata"), exports);
|
|
10
12
|
tslib_1.__exportStar(require("./messageMetadataStore"), exports);
|
|
11
13
|
tslib_1.__exportStar(require("./messageSystemConfig"), exports);
|
|
12
14
|
tslib_1.__exportStar(require("./mimePart"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./recipientKeyResolver"), exports);
|
|
13
16
|
tslib_1.__exportStar(require("./recipientVerification"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./smimeCertificate"), exports);
|
|
14
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,yDAA+B;AAC/B,0DAAgC;AAChC,yDAA+B;AAC/B,0DAAgC;AAChC,4DAAkC;AAClC,iEAAuC;AACvC,gEAAsC;AACtC,qDAA2B;AAC3B,kEAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,yDAA+B;AAC/B,0DAAgC;AAChC,yDAA+B;AAC/B,0DAAgC;AAChC,mDAAyB;AACzB,qDAA2B;AAC3B,4DAAkC;AAClC,iEAAuC;AACvC,gEAAsC;AACtC,qDAA2B;AAC3B,iEAAuC;AACvC,kEAAwC;AACxC,6DAAmC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Key store interfaces for BrightMail encryption key/certificate persistence.
|
|
3
|
+
*
|
|
4
|
+
* These interfaces define the platform-agnostic contract for storing and
|
|
5
|
+
* retrieving GPG keypairs, GPG public keys, S/MIME certificates, and
|
|
6
|
+
* encryption preferences. Implemented by BrightDB-backed service in
|
|
7
|
+
* brightchain-api-lib.
|
|
8
|
+
*
|
|
9
|
+
* @see Requirements 1.2, 2.5, 6.2, 6.6, 13.1, 13.2
|
|
10
|
+
*/
|
|
11
|
+
import { MessageEncryptionScheme } from '../../enumerations/messaging/messageEncryptionScheme';
|
|
12
|
+
import { IGpgKeyMetadata, IGpgKeyPair } from './gpgKey';
|
|
13
|
+
import { ISmimeCertificateBundle, ISmimeCertificateMetadata } from './smimeCertificate';
|
|
14
|
+
/**
|
|
15
|
+
* A persisted key store entry representing a GPG key or S/MIME certificate.
|
|
16
|
+
*
|
|
17
|
+
* @typeParam TId - The type of the identifier (defaults to string).
|
|
18
|
+
*
|
|
19
|
+
* @see Requirement 1.2 — Key_Store persists keypairs associated with user account
|
|
20
|
+
* @see Requirement 6.2 — Key_Store persists S/MIME certificate and private key
|
|
21
|
+
*/
|
|
22
|
+
export interface IKeyStoreEntry<TId = string> {
|
|
23
|
+
/** Unique identifier for this key store entry */
|
|
24
|
+
id: TId;
|
|
25
|
+
/** Owner user identifier */
|
|
26
|
+
userId: TId;
|
|
27
|
+
/** Type of cryptographic material stored */
|
|
28
|
+
type: 'gpg_keypair' | 'gpg_public' | 'smime_cert' | 'smime_bundle';
|
|
29
|
+
/** Email address this key/certificate is associated with */
|
|
30
|
+
associatedEmail: string;
|
|
31
|
+
/** Public key material (ASCII armor for GPG, PEM for S/MIME) */
|
|
32
|
+
publicMaterial: string;
|
|
33
|
+
/** Private key material (encrypted at rest); undefined for public-only entries */
|
|
34
|
+
privateMaterial?: string;
|
|
35
|
+
/** Metadata extracted from the key or certificate */
|
|
36
|
+
metadata: IGpgKeyMetadata | ISmimeCertificateMetadata;
|
|
37
|
+
/** Date the entry was created */
|
|
38
|
+
createdAt: Date;
|
|
39
|
+
/** Date the entry was last updated */
|
|
40
|
+
updatedAt: Date;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* An encryption preference for a user, optionally scoped to a specific contact.
|
|
44
|
+
*
|
|
45
|
+
* @typeParam TId - The type of the identifier (defaults to string).
|
|
46
|
+
*
|
|
47
|
+
* @see Requirement 13.1 — Global default encryption preference persistence
|
|
48
|
+
* @see Requirement 13.2 — Per-contact encryption preference persistence
|
|
49
|
+
*/
|
|
50
|
+
export interface IEncryptionPreference<TId = string> {
|
|
51
|
+
/** User identifier who owns this preference */
|
|
52
|
+
userId: TId;
|
|
53
|
+
/** Contact email this preference applies to; undefined means global default */
|
|
54
|
+
contactEmail?: string;
|
|
55
|
+
/** The preferred encryption scheme */
|
|
56
|
+
scheme: MessageEncryptionScheme;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Platform-agnostic interface for key/certificate persistence.
|
|
60
|
+
*
|
|
61
|
+
* Provides operations for storing, retrieving, and deleting GPG keys,
|
|
62
|
+
* S/MIME certificates, and encryption preferences. Implemented by
|
|
63
|
+
* BrightDB-backed service in brightchain-api-lib.
|
|
64
|
+
*
|
|
65
|
+
* @typeParam TId - The type of the identifier (defaults to string).
|
|
66
|
+
*
|
|
67
|
+
* @see Requirement 1.2 — GPG keypair persistence
|
|
68
|
+
* @see Requirement 2.5 — GPG public key association with contact email
|
|
69
|
+
* @see Requirement 6.2 — S/MIME certificate and private key persistence
|
|
70
|
+
* @see Requirement 6.6 — S/MIME certificate deletion
|
|
71
|
+
*/
|
|
72
|
+
export interface IKeyStore<TId = string> {
|
|
73
|
+
/** Store a GPG keypair (public + private) for a user */
|
|
74
|
+
storeGpgKeyPair(userId: TId, keyPair: IGpgKeyPair): Promise<IKeyStoreEntry<TId>>;
|
|
75
|
+
/** Store a GPG public key for a contact email */
|
|
76
|
+
storeGpgPublicKey(userId: TId, email: string, armoredKey: string, metadata: IGpgKeyMetadata): Promise<IKeyStoreEntry<TId>>;
|
|
77
|
+
/** Retrieve the user's GPG keypair entry, or null if none exists */
|
|
78
|
+
getGpgKeyPair(userId: TId): Promise<IKeyStoreEntry<TId> | null>;
|
|
79
|
+
/** Retrieve a GPG public key entry by associated email */
|
|
80
|
+
getGpgPublicKey(email: string): Promise<IKeyStoreEntry<TId> | null>;
|
|
81
|
+
/** Delete the user's GPG keypair */
|
|
82
|
+
deleteGpgKeyPair(userId: TId): Promise<void>;
|
|
83
|
+
/** Store an S/MIME certificate bundle (cert + optional private key) for a user */
|
|
84
|
+
storeSmimeCertificate(userId: TId, bundle: ISmimeCertificateBundle): Promise<IKeyStoreEntry<TId>>;
|
|
85
|
+
/** Store an S/MIME contact certificate (public only) for a contact email */
|
|
86
|
+
storeSmimeContactCert(userId: TId, email: string, certPem: string, metadata: ISmimeCertificateMetadata): Promise<IKeyStoreEntry<TId>>;
|
|
87
|
+
/** Retrieve the user's S/MIME certificate entry, or null if none exists */
|
|
88
|
+
getSmimeCertificate(userId: TId): Promise<IKeyStoreEntry<TId> | null>;
|
|
89
|
+
/** Retrieve an S/MIME contact certificate by associated email */
|
|
90
|
+
getSmimeContactCert(email: string): Promise<IKeyStoreEntry<TId> | null>;
|
|
91
|
+
/** Delete the user's S/MIME certificate and associated private key */
|
|
92
|
+
deleteSmimeCertificate(userId: TId): Promise<void>;
|
|
93
|
+
/** Set a global or per-contact encryption preference */
|
|
94
|
+
setEncryptionPreference(pref: IEncryptionPreference<TId>): Promise<void>;
|
|
95
|
+
/** Get the encryption preference for a user, optionally scoped to a contact */
|
|
96
|
+
getEncryptionPreference(userId: TId, contactEmail?: string): Promise<IEncryptionPreference<TId> | null>;
|
|
97
|
+
/** Retrieve all key store entries associated with a given email address */
|
|
98
|
+
getKeysForEmail(email: string): Promise<IKeyStoreEntry<TId>[]>;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=keyStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyStore.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/keyStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Key store interfaces for BrightMail encryption key/certificate persistence.
|
|
4
|
+
*
|
|
5
|
+
* These interfaces define the platform-agnostic contract for storing and
|
|
6
|
+
* retrieving GPG keypairs, GPG public keys, S/MIME certificates, and
|
|
7
|
+
* encryption preferences. Implemented by BrightDB-backed service in
|
|
8
|
+
* brightchain-api-lib.
|
|
9
|
+
*
|
|
10
|
+
* @see Requirements 1.2, 2.5, 6.2, 6.6, 13.1, 13.2
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
//# sourceMappingURL=keyStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyStore.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/keyStore.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recipient key resolver interfaces for BrightMail encryption.
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for resolving which encryption schemes are available
|
|
5
|
+
* for a set of recipients, and for retrieving the actual cryptographic
|
|
6
|
+
* material (GPG public keys, S/MIME certificates, ECIES public keys)
|
|
7
|
+
* needed to encrypt a message under a given scheme.
|
|
8
|
+
*
|
|
9
|
+
* @see Requirements 2.3, 11.1, 11.2, 11.7
|
|
10
|
+
*/
|
|
11
|
+
import { MessageEncryptionScheme } from '../../enumerations/messaging/messageEncryptionScheme';
|
|
12
|
+
/**
|
|
13
|
+
* Key availability information for a single recipient.
|
|
14
|
+
*
|
|
15
|
+
* Indicates which types of cryptographic material are available for
|
|
16
|
+
* a given email address, enabling the UI to show/hide encryption options.
|
|
17
|
+
*
|
|
18
|
+
* @see Requirement 11.1 — GPG option shown when recipient has GPG key
|
|
19
|
+
* @see Requirement 11.2 — GPG option hidden when recipient lacks GPG key
|
|
20
|
+
* @see Requirement 11.7 — Resolve recipient keys and display warnings
|
|
21
|
+
*/
|
|
22
|
+
export interface IRecipientKeyAvailability {
|
|
23
|
+
/** The recipient's email address */
|
|
24
|
+
email: string;
|
|
25
|
+
/** Whether a GPG public key is available for this recipient */
|
|
26
|
+
hasGpgKey: boolean;
|
|
27
|
+
/** Whether an S/MIME certificate is available for this recipient */
|
|
28
|
+
hasSmimeCert: boolean;
|
|
29
|
+
/** Whether an ECIES public key is available for this recipient */
|
|
30
|
+
hasEciesKey: boolean;
|
|
31
|
+
/** Whether this recipient is an internal BrightChain member */
|
|
32
|
+
isInternal: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolved cryptographic material for a set of recipients under a given scheme.
|
|
36
|
+
*
|
|
37
|
+
* Contains maps of email → key material for recipients that have keys,
|
|
38
|
+
* and arrays of emails for recipients that are missing the required material.
|
|
39
|
+
*
|
|
40
|
+
* @see Requirement 2.3 — Query keyserver for public keys by email
|
|
41
|
+
* @see Requirement 11.7 — Display warnings for recipients lacking keys
|
|
42
|
+
*/
|
|
43
|
+
export interface IResolvedRecipientKeys {
|
|
44
|
+
/** GPG public keys by recipient email (email → ASCII-armored public key) */
|
|
45
|
+
gpgKeys: Map<string, string>;
|
|
46
|
+
/** S/MIME certificates by recipient email (email → PEM certificate) */
|
|
47
|
+
smimeCerts: Map<string, string>;
|
|
48
|
+
/** ECIES public keys by recipient email (email → raw public key bytes) */
|
|
49
|
+
eciesKeys: Map<string, Uint8Array>;
|
|
50
|
+
/** Emails of recipients missing a GPG public key */
|
|
51
|
+
missingGpg: string[];
|
|
52
|
+
/** Emails of recipients missing an S/MIME certificate */
|
|
53
|
+
missingSmime: string[];
|
|
54
|
+
/** Emails of recipients missing an ECIES public key */
|
|
55
|
+
missingEcies: string[];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Service interface for resolving recipient encryption key availability.
|
|
59
|
+
*
|
|
60
|
+
* Used by the compose flow to determine which encryption schemes can be
|
|
61
|
+
* offered and to retrieve the actual keys/certificates needed for encryption.
|
|
62
|
+
*
|
|
63
|
+
* @see Requirement 2.3 — Import GPG public key by email via keyserver
|
|
64
|
+
* @see Requirement 11.1 — Show GPG option when user has GPG keypair
|
|
65
|
+
* @see Requirement 11.2 — Hide GPG option when user lacks GPG keypair
|
|
66
|
+
* @see Requirement 11.7 — Resolve recipient keys and display warnings
|
|
67
|
+
*/
|
|
68
|
+
export interface IRecipientKeyResolver {
|
|
69
|
+
/**
|
|
70
|
+
* Check key availability for all recipients.
|
|
71
|
+
*
|
|
72
|
+
* Queries the key store for each email to determine which types of
|
|
73
|
+
* cryptographic material are available.
|
|
74
|
+
*
|
|
75
|
+
* @param emails - Array of recipient email addresses to check
|
|
76
|
+
* @returns Availability information for each recipient
|
|
77
|
+
*/
|
|
78
|
+
resolveAvailability(emails: string[]): Promise<IRecipientKeyAvailability[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Resolve actual keys/certificates for a given encryption scheme.
|
|
81
|
+
*
|
|
82
|
+
* Retrieves the cryptographic material needed to encrypt a message
|
|
83
|
+
* under the specified scheme. Populates the appropriate key map and
|
|
84
|
+
* identifies recipients missing the required material.
|
|
85
|
+
*
|
|
86
|
+
* @param emails - Array of recipient email addresses
|
|
87
|
+
* @param scheme - The encryption scheme to resolve keys for
|
|
88
|
+
* @returns Resolved keys and lists of recipients with missing material
|
|
89
|
+
*/
|
|
90
|
+
resolveKeysForScheme(emails: string[], scheme: MessageEncryptionScheme): Promise<IResolvedRecipientKeys>;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=recipientKeyResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipientKeyResolver.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/recipientKeyResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACxC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IAEd,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;IAEnB,oEAAoE;IACpE,YAAY,EAAE,OAAO,CAAC;IAEtB,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;IAErB,+DAA+D;IAC/D,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,uEAAuE;IACvE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,0EAA0E;IAC1E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEnC,oDAAoD;IACpD,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,yDAAyD;IACzD,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAE5E;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Recipient key resolver interfaces for BrightMail encryption.
|
|
4
|
+
*
|
|
5
|
+
* Defines the contract for resolving which encryption schemes are available
|
|
6
|
+
* for a set of recipients, and for retrieving the actual cryptographic
|
|
7
|
+
* material (GPG public keys, S/MIME certificates, ECIES public keys)
|
|
8
|
+
* needed to encrypt a message under a given scheme.
|
|
9
|
+
*
|
|
10
|
+
* @see Requirements 2.3, 11.1, 11.2, 11.7
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
//# sourceMappingURL=recipientKeyResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipientKeyResolver.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/recipientKeyResolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* S/MIME certificate interfaces for BrightMail encryption.
|
|
3
|
+
*
|
|
4
|
+
* These interfaces define the data structures for S/MIME X.509 certificate
|
|
5
|
+
* management, CMS encryption results, signature results, and verification
|
|
6
|
+
* results used throughout the messaging system.
|
|
7
|
+
*
|
|
8
|
+
* @see Requirements 6.1, 6.3, 7.1, 8.1, 9.2
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Metadata for an S/MIME X.509 certificate.
|
|
12
|
+
*
|
|
13
|
+
* Contains identifying information extracted from an X.509 certificate,
|
|
14
|
+
* including the subject, issuer, serial number, validity period,
|
|
15
|
+
* associated email addresses, fingerprint, and expiration status.
|
|
16
|
+
*
|
|
17
|
+
* @see Requirement 6.3 — Certificate metadata display (subject, issuer, serial number, validity period, email addresses)
|
|
18
|
+
*/
|
|
19
|
+
export interface ISmimeCertificateMetadata {
|
|
20
|
+
/** Certificate subject distinguished name (e.g., "CN=John Doe, O=Example Corp") */
|
|
21
|
+
subject: string;
|
|
22
|
+
/** Certificate issuer distinguished name */
|
|
23
|
+
issuer: string;
|
|
24
|
+
/** Certificate serial number (hex string) */
|
|
25
|
+
serialNumber: string;
|
|
26
|
+
/** Date the certificate becomes valid */
|
|
27
|
+
validFrom: Date;
|
|
28
|
+
/** Date the certificate expires */
|
|
29
|
+
validTo: Date;
|
|
30
|
+
/** Email addresses associated with the certificate (from Subject Alternative Name) */
|
|
31
|
+
emailAddresses: string[];
|
|
32
|
+
/** Certificate fingerprint (SHA-256 hash, hex string) */
|
|
33
|
+
fingerprint: string;
|
|
34
|
+
/** Whether the certificate has expired based on the current date */
|
|
35
|
+
isExpired: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* An S/MIME certificate bundle consisting of a PEM-encoded certificate,
|
|
39
|
+
* an optional PEM-encoded private key, and associated metadata.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* The private key, when present, should be encrypted at rest before
|
|
43
|
+
* persistence to the key store.
|
|
44
|
+
*
|
|
45
|
+
* @see Requirement 6.2 — S/MIME certificate with private key (PKCS#12) import
|
|
46
|
+
*/
|
|
47
|
+
export interface ISmimeCertificateBundle {
|
|
48
|
+
/** PEM-encoded X.509 certificate */
|
|
49
|
+
certificatePem: string;
|
|
50
|
+
/** PEM-encoded private key (encrypted at rest before storage); undefined for public-only certificates */
|
|
51
|
+
privateKeyPem?: string;
|
|
52
|
+
/** Metadata extracted from the certificate */
|
|
53
|
+
metadata: ISmimeCertificateMetadata;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Result of an S/MIME CMS encryption operation.
|
|
57
|
+
*
|
|
58
|
+
* Contains the encrypted content as a DER-encoded CMS/PKCS#7 enveloped-data
|
|
59
|
+
* structure conforming to RFC 5751.
|
|
60
|
+
*
|
|
61
|
+
* @see Requirement 7.1 — CMS/PKCS#7 encryption per RFC 5751
|
|
62
|
+
*/
|
|
63
|
+
export interface ISmimeEncryptionResult {
|
|
64
|
+
/** DER-encoded CMS/PKCS#7 enveloped-data content */
|
|
65
|
+
encryptedContent: Uint8Array;
|
|
66
|
+
/** MIME content type for the encrypted content */
|
|
67
|
+
contentType: 'application/pkcs7-mime; smime-type=enveloped-data';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Result of an S/MIME CMS signing operation.
|
|
71
|
+
*
|
|
72
|
+
* Contains the detached CMS signature and the subject of the
|
|
73
|
+
* signer's certificate.
|
|
74
|
+
*
|
|
75
|
+
* @see Requirement 8.1 — CMS detached signature production
|
|
76
|
+
*/
|
|
77
|
+
export interface ISmimeSignatureResult {
|
|
78
|
+
/** Detached CMS signature (DER-encoded) */
|
|
79
|
+
signature: Uint8Array;
|
|
80
|
+
/** Subject distinguished name of the signer's certificate */
|
|
81
|
+
signerCertSubject: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Result of an S/MIME CMS signature verification operation.
|
|
85
|
+
*
|
|
86
|
+
* Indicates whether the signature is valid, and optionally provides
|
|
87
|
+
* the signer's certificate subject and a reason string for failures.
|
|
88
|
+
*
|
|
89
|
+
* @see Requirement 9.2 — Verification result with signer subject and valid status
|
|
90
|
+
*/
|
|
91
|
+
export interface ISmimeVerificationResult {
|
|
92
|
+
/** Whether the signature is valid */
|
|
93
|
+
valid: boolean;
|
|
94
|
+
/** Subject distinguished name of the signer's certificate, if identified */
|
|
95
|
+
signerSubject?: string;
|
|
96
|
+
/** Human-readable reason for verification failure */
|
|
97
|
+
reason?: string;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=smimeCertificate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smimeCertificate.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/smimeCertificate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IAErB,yCAAyC;IACzC,SAAS,EAAE,IAAI,CAAC;IAEhB,mCAAmC;IACnC,OAAO,EAAE,IAAI,CAAC;IAEd,sFAAsF;IACtF,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IAEpB,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IAEvB,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8CAA8C;IAC9C,QAAQ,EAAE,yBAAyB,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,gBAAgB,EAAE,UAAU,CAAC;IAE7B,kDAAkD;IAClD,WAAW,EAAE,mDAAmD,CAAC;CAClE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,SAAS,EAAE,UAAU,CAAC;IAEtB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;IAEf,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* S/MIME certificate interfaces for BrightMail encryption.
|
|
4
|
+
*
|
|
5
|
+
* These interfaces define the data structures for S/MIME X.509 certificate
|
|
6
|
+
* management, CMS encryption results, signature results, and verification
|
|
7
|
+
* results used throughout the messaging system.
|
|
8
|
+
*
|
|
9
|
+
* @see Requirements 6.1, 6.3, 7.1, 8.1, 9.2
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=smimeCertificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smimeCertificate.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/smimeCertificate.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -102,6 +102,14 @@ export interface IAdminDashboardData {
|
|
|
102
102
|
chat: IAdminChatStats;
|
|
103
103
|
pass: IAdminPassStats;
|
|
104
104
|
mail: IAdminMailStats;
|
|
105
|
+
auditLedger?: {
|
|
106
|
+
/** Number of entries in the audit ledger */
|
|
107
|
+
length: number;
|
|
108
|
+
/** Current Merkle root (hex string, first 32 chars) */
|
|
109
|
+
merkleRoot: string | null;
|
|
110
|
+
/** Whether the chain was validated successfully on startup */
|
|
111
|
+
chainValid: boolean | null;
|
|
112
|
+
};
|
|
105
113
|
timestamp: string;
|
|
106
114
|
}
|
|
107
115
|
//# sourceMappingURL=adminDashboardResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adminDashboardResponse.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/responses/adminDashboardResponse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adminDashboardResponse.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/responses/adminDashboardResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* Requirements: 10.1
|
|
14
14
|
*/
|
|
15
15
|
import { IApiEnvelope, IChannel, ICommunicationMessage, IConversation, IGroup, IInviteToken, IPaginatedResult, ISearchResultItem } from '../communication';
|
|
16
|
+
import { IServer, IServerInviteToken } from '../communication/server';
|
|
16
17
|
export type ISendDirectMessageResponse<TId = string, TData = string> = IApiEnvelope<ICommunicationMessage<TId, TData>>;
|
|
17
18
|
export type IListConversationsResponse<TId = string> = IApiEnvelope<IPaginatedResult<IConversation<TId>>>;
|
|
18
19
|
export type IGetMessagesResponse<TId = string, TData = string> = IApiEnvelope<IPaginatedResult<ICommunicationMessage<TId, TData>>>;
|
|
@@ -80,4 +81,28 @@ export type IUnpinMessageResponse = IApiEnvelope<{
|
|
|
80
81
|
unpinned: boolean;
|
|
81
82
|
}>;
|
|
82
83
|
export type ISearchAllMessagesResponse<TId = string, TData = string> = IApiEnvelope<IPaginatedResult<ISearchResultItem<TId, TData>>>;
|
|
84
|
+
export type ICreateServerResponse<TId = string, TData = string> = IApiEnvelope<IServer<TId, TData>>;
|
|
85
|
+
export type IListServersResponse<TId = string, TData = string> = IApiEnvelope<IPaginatedResult<IServer<TId, TData>>>;
|
|
86
|
+
export type IGetServerResponse<TId = string, TData = string> = IApiEnvelope<IServer<TId, TData>>;
|
|
87
|
+
export type IUpdateServerResponse<TId = string, TData = string> = IApiEnvelope<IServer<TId, TData>>;
|
|
88
|
+
export type IDeleteServerResponse = IApiEnvelope<{
|
|
89
|
+
deleted: boolean;
|
|
90
|
+
}>;
|
|
91
|
+
export type IAddServerMembersResponse = IApiEnvelope<{
|
|
92
|
+
added: string[];
|
|
93
|
+
}>;
|
|
94
|
+
export type IRemoveServerMemberResponse = IApiEnvelope<{
|
|
95
|
+
removed: string;
|
|
96
|
+
}>;
|
|
97
|
+
export type ICreateServerInviteResponse<TId = string> = IApiEnvelope<IServerInviteToken<TId>>;
|
|
98
|
+
export type IRedeemServerInviteResponse = IApiEnvelope<{
|
|
99
|
+
redeemed: boolean;
|
|
100
|
+
}>;
|
|
101
|
+
export type ISearchUsersResponse = IApiEnvelope<{
|
|
102
|
+
users: Array<{
|
|
103
|
+
id: string;
|
|
104
|
+
displayName: string;
|
|
105
|
+
avatarUrl?: string;
|
|
106
|
+
}>;
|
|
107
|
+
}>;
|
|
83
108
|
//# sourceMappingURL=communicationResponses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communicationResponses.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/responses/communicationResponses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"communicationResponses.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/responses/communicationResponses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAItE,MAAM,MAAM,0BAA0B,CACpC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,0BAA0B,CAAC,GAAG,GAAG,MAAM,IAAI,YAAY,CACjE,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC3E,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACpD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAExE,MAAM,MAAM,uBAAuB,CACjC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAIrC,MAAM,MAAM,mBAAmB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC1E,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC3E,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CACxE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,yBAAyB,CACnC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAEzE,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAIH,MAAM,MAAM,sBAAsB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC7E,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC5E,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACvC,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC1E,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC7E,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEpE,MAAM,MAAM,2BAA2B,CACrC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,2BAA2B,CACrC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,uBAAuB,CACjC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,qBAAqB,CAAC,GAAG,GAAG,MAAM,IAAI,YAAY,CAC5D,YAAY,CAAC,GAAG,CAAC,CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAExE,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAI3E,MAAM,MAAM,oBAAoB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC3E,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEzE,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAIxE,MAAM,MAAM,0BAA0B,CACpC,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,IACZ,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAIlE,MAAM,MAAM,qBAAqB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC5E,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC3E,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CACzE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,IAAI,YAAY,CAC5E,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAE1E,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE5E,MAAM,MAAM,2BAA2B,CAAC,GAAG,GAAG,MAAM,IAAI,YAAY,CAClE,kBAAkB,CAAC,GAAG,CAAC,CACxB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAI9E,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;IAC9C,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE,CAAC,CAAC"}
|
|
@@ -36,9 +36,17 @@ export declare class BlockService<TID extends PlatformID = Uint8Array> {
|
|
|
36
36
|
*/
|
|
37
37
|
isMultiRecipientEncrypted(data: Uint8Array): boolean;
|
|
38
38
|
/**
|
|
39
|
-
* Get the appropriate block size for a given data length
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
* Get the appropriate block size for a given data length.
|
|
40
|
+
*
|
|
41
|
+
* @param dataLength - The number of bytes that must fit in the block.
|
|
42
|
+
* @param supportedSizes - Optional list of block sizes to choose from
|
|
43
|
+
* (e.g. from a block store's `supportedBlockSizes`). When provided,
|
|
44
|
+
* only sizes in this list are considered. When omitted, all standard
|
|
45
|
+
* sizes are eligible (original behaviour).
|
|
46
|
+
* @returns The smallest qualifying BlockSize, or BlockSize.Unknown if
|
|
47
|
+
* no size is large enough.
|
|
48
|
+
*/
|
|
49
|
+
getBlockSizeForData(dataLength: number, supportedSizes?: readonly BlockSize[]): BlockSize;
|
|
42
50
|
/**
|
|
43
51
|
* Generate random data using browser crypto.
|
|
44
52
|
* Chunks calls to comply with the 65 536-byte getRandomValues() limit.
|