@protontech/drive-sdk 0.14.10 → 0.15.0
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/README.md +5 -0
- package/dist/cache/index.d.ts +1 -1
- package/dist/cache/memoryCache.d.ts +1 -1
- package/dist/cache/nullCache.d.ts +1 -1
- package/dist/crypto/driveCrypto.d.ts +7 -11
- package/dist/crypto/driveCrypto.js +35 -38
- package/dist/crypto/driveCrypto.js.map +1 -1
- package/dist/crypto/driveCrypto.test.js +1 -21
- package/dist/crypto/driveCrypto.test.js.map +1 -1
- package/dist/crypto/index.d.ts +2 -4
- package/dist/crypto/index.js +3 -6
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/interface.d.ts +3 -35
- package/dist/crypto/interface.js +0 -7
- package/dist/crypto/interface.js.map +1 -1
- package/dist/crypto/openPGPCrypto.d.ts +10 -106
- package/dist/crypto/openPGPCrypto.js +2 -4
- package/dist/crypto/openPGPCrypto.js.map +1 -1
- package/dist/diagnostic/index.d.ts +1 -1
- package/dist/diagnostic/index.js +1 -1
- package/dist/diagnostic/index.js.map +1 -1
- package/dist/diagnostic/integrityVerificationStream.js +1 -2
- package/dist/diagnostic/integrityVerificationStream.js.map +1 -1
- package/dist/diagnostic/interface.d.ts +1 -1
- package/dist/diagnostic/nodeUtils.d.ts +1 -1
- package/dist/diagnostic/sdkDiagnosticBase.d.ts +2 -2
- package/dist/diagnostic/sdkDiagnosticBase.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticMain.js +1 -1
- package/dist/diagnostic/sdkDiagnosticMain.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticPhotos.js +1 -1
- package/dist/diagnostic/sdkDiagnosticPhotos.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interface/account.d.ts +1 -1
- package/dist/interface/devices.d.ts +1 -1
- package/dist/interface/index.d.ts +15 -15
- package/dist/interface/index.js +7 -7
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +1 -1
- package/dist/interface/photos.d.ts +1 -1
- package/dist/interface/sharing.d.ts +2 -2
- package/dist/internal/apiService/apiService.js +1 -1
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/apiService/coreTypes.d.ts +8552 -7249
- package/dist/internal/apiService/driveTypes.d.ts +47 -92
- package/dist/internal/apiService/errors.test.js +1 -1
- package/dist/internal/apiService/errors.test.js.map +1 -1
- package/dist/internal/apiService/index.d.ts +4 -4
- package/dist/internal/apiService/index.js +5 -5
- package/dist/internal/apiService/index.js.map +1 -1
- package/dist/internal/apiService/transformers.d.ts +1 -1
- package/dist/internal/devices/index.d.ts +1 -1
- package/dist/internal/devices/manager.test.js +1 -1
- package/dist/internal/devices/manager.test.js.map +1 -1
- package/dist/internal/download/cryptoService.js +3 -2
- package/dist/internal/download/cryptoService.js.map +1 -1
- package/dist/internal/download/fileDownloader.js +8 -7
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/download/fileDownloader.test.js +1 -1
- package/dist/internal/download/fileDownloader.test.js.map +1 -1
- package/dist/internal/download/index.d.ts +2 -2
- package/dist/internal/download/index.js +1 -1
- package/dist/internal/download/index.js.map +1 -1
- package/dist/internal/download/interface.d.ts +1 -1
- package/dist/internal/download/telemetry.js +2 -3
- package/dist/internal/download/telemetry.js.map +1 -1
- package/dist/internal/download/telemetry.test.js +5 -0
- package/dist/internal/download/telemetry.test.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.d.ts +1 -1
- package/dist/internal/download/thumbnailDownloader.js +1 -1
- package/dist/internal/download/thumbnailDownloader.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
- package/dist/internal/errors.d.ts +1 -0
- package/dist/internal/errors.js +11 -0
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/events/coreEventManager.test.js +1 -1
- package/dist/internal/events/coreEventManager.test.js.map +1 -1
- package/dist/internal/events/eventManager.d.ts +1 -1
- package/dist/internal/events/eventManager.js +1 -0
- package/dist/internal/events/eventManager.js.map +1 -1
- package/dist/internal/events/index.js +1 -1
- package/dist/internal/events/index.js.map +1 -1
- package/dist/internal/events/interface.d.ts +8 -0
- package/dist/internal/events/interface.js.map +1 -1
- package/dist/internal/events/volumeEventManager.js +1 -1
- package/dist/internal/events/volumeEventManager.js.map +1 -1
- package/dist/internal/events/volumeEventManager.test.js +1 -1
- package/dist/internal/events/volumeEventManager.test.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +10 -4
- package/dist/internal/nodes/apiService.js +6 -2
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +6 -2
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cache.d.ts +1 -1
- package/dist/internal/nodes/cryptoCache.d.ts +1 -1
- package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoReporter.d.ts +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +2 -2
- package/dist/internal/nodes/cryptoService.js +2 -2
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/cryptoService.test.js +1 -1
- package/dist/internal/nodes/cryptoService.test.js.map +1 -1
- package/dist/internal/nodes/events.test.js.map +1 -1
- package/dist/internal/nodes/index.d.ts +4 -4
- package/dist/internal/nodes/index.js +2 -2
- package/dist/internal/nodes/index.js.map +1 -1
- package/dist/internal/nodes/index.test.js +3 -3
- package/dist/internal/nodes/index.test.js.map +1 -1
- package/dist/internal/nodes/interface.d.ts +1 -1
- package/dist/internal/nodes/nodesAccess.d.ts +2 -2
- package/dist/internal/nodes/nodesAccess.js +3 -3
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +2 -2
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +1 -1
- package/dist/internal/nodes/nodesManagement.js +2 -2
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +6 -6
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/nodes/nodesRevisions.d.ts +1 -1
- package/dist/internal/nodes/nodesRevisions.js.map +1 -1
- package/dist/internal/photos/addToAlbum.d.ts +1 -1
- package/dist/internal/photos/addToAlbum.js.map +1 -1
- package/dist/internal/photos/albumsCrypto.js.map +1 -1
- package/dist/internal/photos/albumsManager.test.js +1 -1
- package/dist/internal/photos/albumsManager.test.js.map +1 -1
- package/dist/internal/photos/apiService.js +1 -1
- package/dist/internal/photos/index.d.ts +2 -2
- package/dist/internal/photos/index.js +5 -5
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +2 -2
- package/dist/internal/photos/nodes.d.ts +2 -2
- package/dist/internal/photos/nodes.js +11 -1
- package/dist/internal/photos/nodes.js.map +1 -1
- package/dist/internal/photos/nodes.test.js +17 -3
- package/dist/internal/photos/nodes.test.js.map +1 -1
- package/dist/internal/photos/photosManager.d.ts +1 -1
- package/dist/internal/photos/photosManager.js +1 -1
- package/dist/internal/photos/photosManager.js.map +1 -1
- package/dist/internal/photos/photosManager.test.js +1 -1
- package/dist/internal/photos/photosManager.test.js.map +1 -1
- package/dist/internal/photos/photosTransferPayloadBuilder.test.js.map +1 -1
- package/dist/internal/photos/timeline.test.js.map +1 -1
- package/dist/internal/photos/upload.d.ts +1 -1
- package/dist/internal/shares/apiService.d.ts +1 -1
- package/dist/internal/shares/cache.d.ts +1 -1
- package/dist/internal/shares/cryptoCache.test.js.map +1 -1
- package/dist/internal/shares/cryptoService.d.ts +2 -2
- package/dist/internal/shares/cryptoService.js +1 -1
- package/dist/internal/shares/cryptoService.js.map +1 -1
- package/dist/internal/shares/cryptoService.test.js +1 -1
- package/dist/internal/shares/cryptoService.test.js.map +1 -1
- package/dist/internal/shares/index.d.ts +2 -2
- package/dist/internal/shares/index.js +1 -1
- package/dist/internal/shares/index.js.map +1 -1
- package/dist/internal/shares/manager.d.ts +2 -2
- package/dist/internal/shares/manager.js.map +1 -1
- package/dist/internal/sharing/apiService.d.ts +2 -2
- package/dist/internal/sharing/cryptoService.d.ts +2 -3
- package/dist/internal/sharing/cryptoService.js +10 -31
- package/dist/internal/sharing/cryptoService.js.map +1 -1
- package/dist/internal/sharing/cryptoService.test.js.map +1 -1
- package/dist/internal/sharing/index.d.ts +3 -3
- package/dist/internal/sharing/index.js +1 -1
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/sharing/interface.d.ts +2 -2
- package/dist/internal/sharing/sharingAccess.d.ts +1 -1
- package/dist/internal/sharing/sharingAccess.js +1 -1
- package/dist/internal/sharing/sharingAccess.js.map +1 -1
- package/dist/internal/sharing/sharingAccess.test.js +1 -1
- package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.d.ts +3 -3
- package/dist/internal/sharing/sharingManagement.js +1 -1
- package/dist/internal/sharing/sharingManagement.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.test.js +2 -2
- package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.d.ts +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.js +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.js.map +1 -1
- package/dist/internal/sharingPublic/index.d.ts +2 -2
- package/dist/internal/sharingPublic/index.js +3 -3
- package/dist/internal/sharingPublic/index.js.map +1 -1
- package/dist/internal/sharingPublic/nodes.d.ts +4 -4
- package/dist/internal/sharingPublic/nodes.js +4 -1
- package/dist/internal/sharingPublic/nodes.js.map +1 -1
- package/dist/internal/sharingPublic/session/apiService.d.ts +1 -1
- package/dist/internal/sharingPublic/session/manager.d.ts +1 -1
- package/dist/internal/upload/apiService.d.ts +1 -1
- package/dist/internal/upload/apiService.js +13 -6
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/cryptoService.d.ts +1 -1
- package/dist/internal/upload/cryptoService.js +5 -4
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/fileUploader.test.js +1 -1
- package/dist/internal/upload/fileUploader.test.js.map +1 -1
- package/dist/internal/upload/index.d.ts +2 -2
- package/dist/internal/upload/index.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +1 -1
- package/dist/internal/upload/manager.d.ts +1 -1
- package/dist/internal/upload/manager.js +1 -1
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/smallFileUploader.test.js +1 -1
- package/dist/internal/upload/smallFileUploader.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.d.ts +3 -3
- package/dist/internal/upload/streamUploader.js +1 -1
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +2 -2
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/internal/upload/telemetry.d.ts +1 -1
- package/dist/internal/upload/telemetry.js +2 -3
- package/dist/internal/upload/telemetry.js.map +1 -1
- package/dist/internal/upload/telemetry.test.js +5 -0
- package/dist/internal/upload/telemetry.test.js.map +1 -1
- package/dist/polyfill.d.ts +1 -0
- package/dist/polyfill.js +4 -0
- package/dist/polyfill.js.map +1 -0
- package/dist/protonDriveClient.d.ts +1 -1
- package/dist/protonDriveClient.js +3 -3
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +7 -1
- package/dist/protonDrivePhotosClient.js +13 -4
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +3 -3
- package/dist/protonDrivePublicLinkClient.js +3 -3
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/dist/transformers.d.ts +1 -1
- package/package.json +8 -4
- package/src/cache/index.ts +1 -1
- package/src/cache/memoryCache.ts +1 -1
- package/src/cache/nullCache.ts +1 -1
- package/src/crypto/driveCrypto.test.ts +1 -24
- package/src/crypto/driveCrypto.ts +37 -35
- package/src/crypto/index.ts +2 -4
- package/src/crypto/interface.ts +3 -49
- package/src/crypto/openPGPCrypto.ts +4 -88
- package/src/diagnostic/index.ts +3 -3
- package/src/diagnostic/integrityVerificationStream.ts +1 -2
- package/src/diagnostic/interface.ts +1 -1
- package/src/diagnostic/nodeUtils.ts +1 -1
- package/src/diagnostic/sdkDiagnosticBase.ts +6 -6
- package/src/diagnostic/sdkDiagnosticMain.ts +2 -2
- package/src/diagnostic/sdkDiagnosticPhotos.ts +2 -2
- package/src/diagnostic/telemetry.ts +1 -1
- package/src/index.ts +4 -3
- package/src/interface/account.ts +1 -1
- package/src/interface/devices.ts +1 -1
- package/src/interface/index.ts +40 -40
- package/src/interface/nodes.ts +1 -1
- package/src/interface/photos.ts +1 -1
- package/src/interface/sharing.ts +2 -2
- package/src/internal/apiService/apiService.test.ts +2 -2
- package/src/internal/apiService/apiService.ts +3 -3
- package/src/internal/apiService/coreTypes.ts +8641 -7349
- package/src/internal/apiService/driveTypes.ts +47 -92
- package/src/internal/apiService/errors.test.ts +2 -2
- package/src/internal/apiService/index.ts +4 -4
- package/src/internal/apiService/transformers.ts +1 -1
- package/src/internal/devices/index.ts +1 -1
- package/src/internal/devices/manager.test.ts +2 -2
- package/src/internal/download/cryptoService.ts +6 -11
- package/src/internal/download/fileDownloader.test.ts +3 -3
- package/src/internal/download/fileDownloader.ts +8 -6
- package/src/internal/download/index.ts +3 -3
- package/src/internal/download/interface.ts +1 -1
- package/src/internal/download/seekableStream.test.ts +1 -1
- package/src/internal/download/telemetry.test.ts +7 -1
- package/src/internal/download/telemetry.ts +4 -7
- package/src/internal/download/thumbnailDownloader.test.ts +1 -1
- package/src/internal/download/thumbnailDownloader.ts +2 -2
- package/src/internal/errors.ts +15 -0
- package/src/internal/events/apiService.ts +2 -2
- package/src/internal/events/coreEventManager.test.ts +1 -1
- package/src/internal/events/eventManager.ts +2 -1
- package/src/internal/events/index.ts +2 -2
- package/src/internal/events/interface.ts +8 -0
- package/src/internal/events/volumeEventManager.test.ts +1 -1
- package/src/internal/events/volumeEventManager.ts +1 -1
- package/src/internal/nodes/apiService.test.ts +8 -3
- package/src/internal/nodes/apiService.ts +22 -7
- package/src/internal/nodes/cache.test.ts +1 -1
- package/src/internal/nodes/cache.ts +1 -1
- package/src/internal/nodes/cryptoCache.test.ts +1 -1
- package/src/internal/nodes/cryptoCache.ts +1 -1
- package/src/internal/nodes/cryptoReporter.ts +4 -4
- package/src/internal/nodes/cryptoService.test.ts +2 -2
- package/src/internal/nodes/cryptoService.ts +14 -15
- package/src/internal/nodes/events.test.ts +1 -1
- package/src/internal/nodes/extendedAttributes.test.ts +3 -3
- package/src/internal/nodes/index.test.ts +8 -8
- package/src/internal/nodes/index.ts +6 -6
- package/src/internal/nodes/interface.ts +6 -6
- package/src/internal/nodes/nodeName.test.ts +1 -1
- package/src/internal/nodes/nodesAccess.test.ts +3 -3
- package/src/internal/nodes/nodesAccess.ts +6 -6
- package/src/internal/nodes/nodesManagement.test.ts +4 -4
- package/src/internal/nodes/nodesManagement.ts +6 -6
- package/src/internal/nodes/nodesRevisions.ts +1 -1
- package/src/internal/photos/addToAlbum.ts +1 -1
- package/src/internal/photos/albumsCrypto.ts +1 -0
- package/src/internal/photos/albumsManager.test.ts +2 -2
- package/src/internal/photos/apiService.ts +1 -1
- package/src/internal/photos/index.ts +7 -7
- package/src/internal/photos/interface.ts +2 -2
- package/src/internal/photos/nodes.test.ts +22 -6
- package/src/internal/photos/nodes.ts +16 -9
- package/src/internal/photos/photosManager.test.ts +5 -5
- package/src/internal/photos/photosManager.ts +4 -4
- package/src/internal/photos/photosTransferPayloadBuilder.test.ts +1 -1
- package/src/internal/photos/timeline.test.ts +1 -1
- package/src/internal/photos/upload.ts +3 -3
- package/src/internal/sdkEvents.ts +1 -1
- package/src/internal/shares/apiService.ts +1 -1
- package/src/internal/shares/cache.ts +1 -1
- package/src/internal/shares/cryptoCache.test.ts +1 -1
- package/src/internal/shares/cryptoService.test.ts +1 -1
- package/src/internal/shares/cryptoService.ts +8 -8
- package/src/internal/shares/index.ts +5 -5
- package/src/internal/shares/manager.ts +2 -2
- package/src/internal/sharing/apiService.ts +10 -10
- package/src/internal/sharing/cryptoService.test.ts +1 -1
- package/src/internal/sharing/cryptoService.ts +12 -37
- package/src/internal/sharing/events.test.ts +2 -2
- package/src/internal/sharing/index.ts +3 -3
- package/src/internal/sharing/interface.ts +2 -2
- package/src/internal/sharing/sharingAccess.test.ts +4 -4
- package/src/internal/sharing/sharingAccess.ts +3 -3
- package/src/internal/sharing/sharingManagement.test.ts +4 -4
- package/src/internal/sharing/sharingManagement.ts +9 -9
- package/src/internal/sharingPublic/cryptoReporter.ts +7 -7
- package/src/internal/sharingPublic/index.ts +6 -6
- package/src/internal/sharingPublic/nodes.ts +7 -4
- package/src/internal/sharingPublic/session/apiService.ts +1 -1
- package/src/internal/sharingPublic/session/manager.ts +1 -1
- package/src/internal/upload/apiService.ts +17 -8
- package/src/internal/upload/cryptoService.ts +8 -6
- package/src/internal/upload/fileUploader.test.ts +4 -4
- package/src/internal/upload/index.ts +3 -3
- package/src/internal/upload/interface.ts +1 -2
- package/src/internal/upload/manager.ts +4 -4
- package/src/internal/upload/smallFileUploader.test.ts +4 -4
- package/src/internal/upload/streamUploader.test.ts +5 -5
- package/src/internal/upload/streamUploader.ts +4 -4
- package/src/internal/upload/telemetry.test.ts +7 -1
- package/src/internal/upload/telemetry.ts +5 -8
- package/src/polyfill.ts +1 -0
- package/src/protonDriveClient.ts +32 -32
- package/src/protonDrivePhotosClient.ts +42 -32
- package/src/protonDrivePublicLinkClient.ts +25 -25
- package/src/transformers.ts +9 -9
- package/dist/crypto/hmac.d.ts +0 -22
- package/dist/crypto/hmac.js +0 -44
- package/dist/crypto/hmac.js.map +0 -1
- package/dist/crypto/utils.d.ts +0 -2
- package/dist/crypto/utils.js +0 -35
- package/dist/crypto/utils.js.map +0 -1
- package/src/crypto/hmac.ts +0 -46
- package/src/crypto/utils.ts +0 -40
package/README.md
CHANGED
|
@@ -15,3 +15,8 @@ const sdk = new ProtonDriveClient({
|
|
|
15
15
|
openPGPCryptoModule: new OpenPGPCryptoWithCryptoProxy(cryptoProxy),
|
|
16
16
|
});
|
|
17
17
|
```
|
|
18
|
+
|
|
19
|
+
### Polyfills
|
|
20
|
+
|
|
21
|
+
The library uses some modern JS features that might not be available across Node versions or browsers.
|
|
22
|
+
The corresponding polyfills are available under `src/polyfill`, which should be manually imported by library users if needed (NB: polyfills should be loaded only once in a given global JS context, which is why this is left as a manual step).
|
package/dist/cache/index.d.ts
CHANGED
|
@@ -108,21 +108,23 @@ export declare class DriveCrypto {
|
|
|
108
108
|
encryptSessionKey(sessionKey: SessionKey, encryptionKey: PublicKey): Promise<{
|
|
109
109
|
base64KeyPacket: string;
|
|
110
110
|
}>;
|
|
111
|
+
private computeSrpKeySaltAndPassphrase;
|
|
111
112
|
/**
|
|
112
113
|
* It encrypts password with provided address key that can be used to
|
|
113
114
|
* manage the public link, encrypts share passphrase session key using
|
|
114
|
-
*
|
|
115
|
+
* the srp-compatible salted passphrase and generates the corresponding SRP verifier.
|
|
115
116
|
*/
|
|
116
|
-
encryptPublicLinkPasswordAndSessionKey(password: string, addressKey: PrivateKey,
|
|
117
|
+
encryptPublicLinkPasswordAndSessionKey(password: string, addressKey: PrivateKey, sharePassphraseSessionKey: SessionKey): Promise<{
|
|
117
118
|
armoredPassword: string;
|
|
118
119
|
base64SharePassphraseKeyPacket: string;
|
|
120
|
+
base64SharePasswordSalt: string;
|
|
119
121
|
srp: SRPVerifier;
|
|
120
122
|
}>;
|
|
121
123
|
/**
|
|
122
|
-
* It decrypts the key using the password via SRP protocol.
|
|
124
|
+
* It decrypts the key using the password that was verified via SRP protocol.
|
|
123
125
|
*
|
|
124
|
-
* The function follows the same functionality as `decryptKey` but uses
|
|
125
|
-
* protocol to decrypt the passphrase of the key. It is used for saved
|
|
126
|
+
* The function follows the same functionality as `decryptKey` but it uses the password
|
|
127
|
+
* that was used for authentication via SRP protocol to decrypt the passphrase of the key. It is used for saved
|
|
126
128
|
* public links where user saved the link with password and is not direct
|
|
127
129
|
* member of the share.
|
|
128
130
|
*/
|
|
@@ -240,9 +242,3 @@ export declare class DriveCrypto {
|
|
|
240
242
|
private recordPerformance;
|
|
241
243
|
}
|
|
242
244
|
export declare function uint8ArrayToUtf8(input: Uint8Array<ArrayBuffer>): string;
|
|
243
|
-
/**
|
|
244
|
-
* Convert an array of 8-bit integers to a hex string
|
|
245
|
-
* @param bytes - Array of 8-bit integers to convert
|
|
246
|
-
* @returns Hexadecimal representation of the array
|
|
247
|
-
*/
|
|
248
|
-
export declare const arrayToHexString: (bytes: Uint8Array<ArrayBuffer>) => string;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DriveCrypto = void 0;
|
|
4
4
|
exports.uint8ArrayToUtf8 = uint8ArrayToUtf8;
|
|
5
|
-
const
|
|
6
|
-
// TODO: Switch to CryptoProxy module once available.
|
|
7
|
-
const hmac_1 = require("./hmac");
|
|
5
|
+
const hmac_ts_1 = require("@protontech/crypto/subtle/hmac.ts");
|
|
8
6
|
var SIGNING_CONTEXTS;
|
|
9
7
|
(function (SIGNING_CONTEXTS) {
|
|
10
8
|
SIGNING_CONTEXTS["SHARING_INVITER"] = "drive.share-member.inviter";
|
|
@@ -96,7 +94,7 @@ class DriveCrypto {
|
|
|
96
94
|
return {
|
|
97
95
|
encrypted: {
|
|
98
96
|
contentKeyPacket: keyPacket,
|
|
99
|
-
base64ContentKeyPacket:
|
|
97
|
+
base64ContentKeyPacket: keyPacket.toBase64(),
|
|
100
98
|
armoredContentKeyPacketSignature,
|
|
101
99
|
},
|
|
102
100
|
decrypted: {
|
|
@@ -152,33 +150,46 @@ class DriveCrypto {
|
|
|
152
150
|
async encryptSessionKey(sessionKey, encryptionKey) {
|
|
153
151
|
const { keyPacket } = await this.openPGPCrypto.encryptSessionKey(sessionKey, [encryptionKey]);
|
|
154
152
|
return {
|
|
155
|
-
base64KeyPacket:
|
|
153
|
+
base64KeyPacket: keyPacket.toBase64(),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
async computeSrpKeySaltAndPassphrase(password) {
|
|
157
|
+
if (!password) {
|
|
158
|
+
throw new Error('Password required.');
|
|
159
|
+
}
|
|
160
|
+
const base64Salt = this.srpModule.generateKeySalt();
|
|
161
|
+
const saltedPassphrase = await this.srpModule.computeKeyPassword(password, base64Salt);
|
|
162
|
+
return {
|
|
163
|
+
base64Salt,
|
|
164
|
+
saltedPassphrase,
|
|
156
165
|
};
|
|
157
166
|
}
|
|
158
167
|
/**
|
|
159
168
|
* It encrypts password with provided address key that can be used to
|
|
160
169
|
* manage the public link, encrypts share passphrase session key using
|
|
161
|
-
*
|
|
170
|
+
* the srp-compatible salted passphrase and generates the corresponding SRP verifier.
|
|
162
171
|
*/
|
|
163
|
-
async encryptPublicLinkPasswordAndSessionKey(password, addressKey,
|
|
172
|
+
async encryptPublicLinkPasswordAndSessionKey(password, addressKey, sharePassphraseSessionKey) {
|
|
173
|
+
const { saltedPassphrase, base64Salt: base64SharePasswordSalt } = await this.computeSrpKeySaltAndPassphrase(password);
|
|
164
174
|
const [{ armoredData: armoredPassword }, { keyPacket }, srp] = await Promise.all([
|
|
165
175
|
this.openPGPCrypto.encryptArmored(new TextEncoder().encode(password), [addressKey], undefined,
|
|
166
176
|
// See note in the interface documentation about AEAD encryption.
|
|
167
177
|
{ enableAeadWithEncryptionKeys: false }),
|
|
168
|
-
this.openPGPCrypto.encryptSessionKeyWithPassword(sharePassphraseSessionKey,
|
|
178
|
+
this.openPGPCrypto.encryptSessionKeyWithPassword(sharePassphraseSessionKey, saltedPassphrase),
|
|
169
179
|
this.srpModule.getSrpVerifier(password),
|
|
170
180
|
]);
|
|
171
181
|
return {
|
|
172
182
|
armoredPassword,
|
|
173
|
-
base64SharePassphraseKeyPacket:
|
|
183
|
+
base64SharePassphraseKeyPacket: keyPacket.toBase64(),
|
|
184
|
+
base64SharePasswordSalt,
|
|
174
185
|
srp,
|
|
175
186
|
};
|
|
176
187
|
}
|
|
177
188
|
/**
|
|
178
|
-
* It decrypts the key using the password via SRP protocol.
|
|
189
|
+
* It decrypts the key using the password that was verified via SRP protocol.
|
|
179
190
|
*
|
|
180
|
-
* The function follows the same functionality as `decryptKey` but uses
|
|
181
|
-
* protocol to decrypt the passphrase of the key. It is used for saved
|
|
191
|
+
* The function follows the same functionality as `decryptKey` but it uses the password
|
|
192
|
+
* that was used for authentication via SRP protocol to decrypt the passphrase of the key. It is used for saved
|
|
182
193
|
* public links where user saved the link with password and is not direct
|
|
183
194
|
* member of the share.
|
|
184
195
|
*/
|
|
@@ -200,7 +211,7 @@ class DriveCrypto {
|
|
|
200
211
|
return sessionKey;
|
|
201
212
|
}
|
|
202
213
|
async decryptAndVerifySessionKey(base64data, armoredSignature, decryptionKeys, verificationKeys) {
|
|
203
|
-
const data =
|
|
214
|
+
const data = Uint8Array.fromBase64(base64data);
|
|
204
215
|
const sessionKey = await this.openPGPCrypto.decryptSessionKey(data, decryptionKeys);
|
|
205
216
|
let verified;
|
|
206
217
|
let verificationErrors;
|
|
@@ -255,9 +266,9 @@ class DriveCrypto {
|
|
|
255
266
|
};
|
|
256
267
|
}
|
|
257
268
|
async generateLookupHash(newName, parentHashKey) {
|
|
258
|
-
const key = await (0,
|
|
259
|
-
const signature = await (0,
|
|
260
|
-
return
|
|
269
|
+
const key = await (0, hmac_ts_1.importKey)(parentHashKey);
|
|
270
|
+
const signature = await (0, hmac_ts_1.signData)(key, new TextEncoder().encode(newName));
|
|
271
|
+
return signature.toHex();
|
|
261
272
|
}
|
|
262
273
|
/**
|
|
263
274
|
* It converts node name into bytes array and encrypts and signs
|
|
@@ -332,26 +343,26 @@ class DriveCrypto {
|
|
|
332
343
|
const { keyPacket } = await this.openPGPCrypto.encryptSessionKey(shareSessionKey, encryptionKey);
|
|
333
344
|
const { signature: keyPacketSignature } = await this.openPGPCrypto.sign(keyPacket, signingKey, SIGNING_CONTEXTS.SHARING_INVITER);
|
|
334
345
|
return {
|
|
335
|
-
base64KeyPacket:
|
|
336
|
-
base64KeyPacketSignature:
|
|
346
|
+
base64KeyPacket: keyPacket.toBase64(),
|
|
347
|
+
base64KeyPacketSignature: keyPacketSignature.toBase64(),
|
|
337
348
|
};
|
|
338
349
|
}
|
|
339
350
|
async verifyInvitation(base64KeyPacket, armoredKeyPacketSignature, verificationKeys) {
|
|
340
|
-
const { verified, verificationErrors } = await this.openPGPCrypto.verifyArmored(
|
|
351
|
+
const { verified, verificationErrors } = await this.openPGPCrypto.verifyArmored(Uint8Array.fromBase64(base64KeyPacket), armoredKeyPacketSignature, verificationKeys, SIGNING_CONTEXTS.SHARING_INVITER);
|
|
341
352
|
return { verified, verificationErrors };
|
|
342
353
|
}
|
|
343
354
|
async acceptInvitation(base64KeyPacket, signingKey) {
|
|
344
|
-
const sessionKey = await this.openPGPCrypto.decryptSessionKey(
|
|
355
|
+
const sessionKey = await this.openPGPCrypto.decryptSessionKey(Uint8Array.fromBase64(base64KeyPacket), signingKey);
|
|
345
356
|
const { signature } = await this.openPGPCrypto.sign(sessionKey.data, signingKey, SIGNING_CONTEXTS.SHARING_MEMBER);
|
|
346
357
|
return {
|
|
347
|
-
base64SessionKeySignature:
|
|
358
|
+
base64SessionKeySignature: signature.toBase64(),
|
|
348
359
|
};
|
|
349
360
|
}
|
|
350
361
|
async encryptExternalInvitation(shareSessionKey, signingKey, inviteeEmail) {
|
|
351
|
-
const data = inviteeEmail.concat('|').concat(
|
|
362
|
+
const data = inviteeEmail.concat('|').concat(shareSessionKey.data.toBase64());
|
|
352
363
|
const { signature: externalInviationSignature } = await this.openPGPCrypto.sign(new TextEncoder().encode(data), signingKey, SIGNING_CONTEXTS.SHARING_INVITER_EXTERNAL_INVITATION);
|
|
353
364
|
return {
|
|
354
|
-
base64ExternalInvitationSignature:
|
|
365
|
+
base64ExternalInvitationSignature: externalInviationSignature.toBase64(),
|
|
355
366
|
};
|
|
356
367
|
}
|
|
357
368
|
async encryptThumbnailBlock(thumbnailData, sessionKey, signingKey) {
|
|
@@ -434,18 +445,4 @@ exports.DriveCrypto = DriveCrypto;
|
|
|
434
445
|
function uint8ArrayToUtf8(input) {
|
|
435
446
|
return new TextDecoder('utf-8', { fatal: true }).decode(input);
|
|
436
447
|
}
|
|
437
|
-
/**
|
|
438
|
-
* Convert an array of 8-bit integers to a hex string
|
|
439
|
-
* @param bytes - Array of 8-bit integers to convert
|
|
440
|
-
* @returns Hexadecimal representation of the array
|
|
441
|
-
*/
|
|
442
|
-
const arrayToHexString = (bytes) => {
|
|
443
|
-
const hexAlphabet = '0123456789abcdef';
|
|
444
|
-
let s = '';
|
|
445
|
-
bytes.forEach((v) => {
|
|
446
|
-
s += hexAlphabet[v >> 4] + hexAlphabet[v & 15];
|
|
447
|
-
});
|
|
448
|
-
return s;
|
|
449
|
-
};
|
|
450
|
-
exports.arrayToHexString = arrayToHexString;
|
|
451
448
|
//# sourceMappingURL=driveCrypto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driveCrypto.js","sourceRoot":"","sources":["../../src/crypto/driveCrypto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driveCrypto.js","sourceRoot":"","sources":["../../src/crypto/driveCrypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const driveCrypto_1 = require("./driveCrypto");
|
|
4
3
|
const telemetry_1 = require("../tests/telemetry");
|
|
4
|
+
const driveCrypto_1 = require("./driveCrypto");
|
|
5
5
|
describe('uint8ArrayToUtf8', () => {
|
|
6
6
|
it('should convert a Uint8Array to a UTF-8 string', () => {
|
|
7
7
|
const input = new Uint8Array([72, 101, 108, 108, 111]);
|
|
@@ -20,26 +20,6 @@ describe('uint8ArrayToUtf8', () => {
|
|
|
20
20
|
expect(() => (0, driveCrypto_1.uint8ArrayToUtf8)(input)).toThrow('The encoded data was not valid for encoding utf-8');
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
|
-
describe('arrayToHexString', () => {
|
|
24
|
-
it('should convert a Uint8Array to a hex string', () => {
|
|
25
|
-
const input = new Uint8Array([0, 255, 16, 32]);
|
|
26
|
-
const expectedOutput = '00ff1020';
|
|
27
|
-
const result = (0, driveCrypto_1.arrayToHexString)(input);
|
|
28
|
-
expect(result).toBe(expectedOutput);
|
|
29
|
-
});
|
|
30
|
-
it('should handle an empty Uint8Array', () => {
|
|
31
|
-
const input = new Uint8Array([]);
|
|
32
|
-
const expectedOutput = '';
|
|
33
|
-
const result = (0, driveCrypto_1.arrayToHexString)(input);
|
|
34
|
-
expect(result).toBe(expectedOutput);
|
|
35
|
-
});
|
|
36
|
-
it('should handle a Uint8Array with one element', () => {
|
|
37
|
-
const input = new Uint8Array([1]);
|
|
38
|
-
const expectedOutput = '01';
|
|
39
|
-
const result = (0, driveCrypto_1.arrayToHexString)(input);
|
|
40
|
-
expect(result).toBe(expectedOutput);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
23
|
describe('DriveCrypto.encryptShareUrlPassword', () => {
|
|
44
24
|
it('should encrypt and sign the password', async () => {
|
|
45
25
|
const mockOpenPGPCrypto = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driveCrypto.test.js","sourceRoot":"","sources":["../../src/crypto/driveCrypto.test.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"driveCrypto.test.js","sourceRoot":"","sources":["../../src/crypto/driveCrypto.test.ts"],"names":[],"mappings":";;AAAA,kDAAsD;AACtD,+CAA8D;AAE9D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,iBAAiB,GAAG;YACtB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,WAAW,EAAE,wEAAwE;aACxF,CAAC;SACL,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAA,4BAAgB,GAAE,EAAE,iBAAwB,EAAE,aAAoB,CAAC,CAAC;QAExG,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACnC,MAAM,aAAa,GAAG,mBAA0B,CAAC;QACjD,MAAM,UAAU,GAAG,gBAAuB,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAE9F,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QAC9F,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAChE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,CAAC,aAAa,CAAC,EACf,UAAU,EACV,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAC1C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/crypto/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export type { OpenPGPCrypto, PrivateKey, PublicKey, SessionKey, SRPModule, SRPVerifier } from './interface';
|
|
2
|
-
export { VERIFICATION_STATUS } from './interface';
|
|
3
1
|
export { DriveCrypto } from './driveCrypto';
|
|
4
|
-
export type {
|
|
2
|
+
export type { OpenPGPCrypto, PrivateKey, PublicKey, SessionKey, SRPModule, SRPVerifier } from './interface';
|
|
5
3
|
export { OpenPGPCryptoWithCryptoProxy } from './openPGPCrypto';
|
|
6
|
-
export {
|
|
4
|
+
export { VERIFICATION_STATUS } from '@protontech/crypto';
|
package/dist/crypto/index.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var interface_1 = require("./interface");
|
|
5
|
-
Object.defineProperty(exports, "VERIFICATION_STATUS", { enumerable: true, get: function () { return interface_1.VERIFICATION_STATUS; } });
|
|
3
|
+
exports.VERIFICATION_STATUS = exports.OpenPGPCryptoWithCryptoProxy = exports.DriveCrypto = void 0;
|
|
6
4
|
var driveCrypto_1 = require("./driveCrypto");
|
|
7
5
|
Object.defineProperty(exports, "DriveCrypto", { enumerable: true, get: function () { return driveCrypto_1.DriveCrypto; } });
|
|
8
6
|
var openPGPCrypto_1 = require("./openPGPCrypto");
|
|
9
7
|
Object.defineProperty(exports, "OpenPGPCryptoWithCryptoProxy", { enumerable: true, get: function () { return openPGPCrypto_1.OpenPGPCryptoWithCryptoProxy; } });
|
|
10
|
-
var
|
|
11
|
-
Object.defineProperty(exports, "
|
|
12
|
-
Object.defineProperty(exports, "base64StringToUint8Array", { enumerable: true, get: function () { return utils_1.base64StringToUint8Array; } });
|
|
8
|
+
var crypto_1 = require("@protontech/crypto");
|
|
9
|
+
Object.defineProperty(exports, "VERIFICATION_STATUS", { enumerable: true, get: function () { return crypto_1.VERIFICATION_STATUS; } });
|
|
13
10
|
//# sourceMappingURL=index.js.map
|
package/dist/crypto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,iDAA+D;AAAtD,6HAAA,4BAA4B,OAAA;AACrC,6CAAyD;AAAhD,6GAAA,mBAAmB,OAAA"}
|
|
@@ -1,38 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
readonly _keyContentHash: [string, string];
|
|
4
|
-
getVersion(): number;
|
|
5
|
-
getFingerprint(): string;
|
|
6
|
-
getSHA256Fingerprints(): string[];
|
|
7
|
-
getKeyID(): any;
|
|
8
|
-
getKeyIDs(): any[];
|
|
9
|
-
getAlgorithmInfo(): any;
|
|
10
|
-
getCreationTime(): Date;
|
|
11
|
-
isPrivate: any;
|
|
12
|
-
isPrivateKeyV4: any;
|
|
13
|
-
isPrivateKeyV6: any;
|
|
14
|
-
getExpirationTime(): Date | number | null;
|
|
15
|
-
getUserIDs(): string[];
|
|
16
|
-
isWeak(): boolean;
|
|
17
|
-
equals(otherKey: any, ignoreOtherCerts?: boolean): boolean;
|
|
18
|
-
subkeys: {
|
|
19
|
-
getAlgorithmInfo(): any;
|
|
20
|
-
getKeyID(): any;
|
|
21
|
-
}[];
|
|
22
|
-
}
|
|
23
|
-
export interface PrivateKey extends PublicKey {
|
|
24
|
-
readonly _dummyType: 'private';
|
|
25
|
-
}
|
|
26
|
-
export interface SessionKey {
|
|
27
|
-
data: Uint8Array<ArrayBuffer>;
|
|
28
|
-
algorithm: string | null;
|
|
29
|
-
aeadAlgorithm: string | null;
|
|
30
|
-
}
|
|
31
|
-
export declare enum VERIFICATION_STATUS {
|
|
32
|
-
NOT_SIGNED = 0,
|
|
33
|
-
SIGNED_AND_VALID = 1,
|
|
34
|
-
SIGNED_AND_INVALID = 2
|
|
35
|
-
}
|
|
1
|
+
import type { CryptoApiInterface, PrivateKeyReference as PrivateKey, PublicKeyReference as PublicKey, SessionKey, VERIFICATION_STATUS } from '@protontech/crypto';
|
|
2
|
+
export type { CryptoApiInterface, PrivateKey, PublicKey, SessionKey, VERIFICATION_STATUS };
|
|
36
3
|
export interface SRPModule {
|
|
37
4
|
getSrp: (version: number, modulus: string, serverEphemeral: string, salt: string, password: string) => Promise<{
|
|
38
5
|
expectedServerProof: string;
|
|
@@ -41,6 +8,7 @@ export interface SRPModule {
|
|
|
41
8
|
}>;
|
|
42
9
|
getSrpVerifier: (password: string) => Promise<SRPVerifier>;
|
|
43
10
|
computeKeyPassword: (password: string, salt: string) => Promise<string>;
|
|
11
|
+
generateKeySalt: () => string;
|
|
44
12
|
}
|
|
45
13
|
export type SRPVerifier = {
|
|
46
14
|
modulusId: string;
|
package/dist/crypto/interface.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VERIFICATION_STATUS = void 0;
|
|
4
|
-
var VERIFICATION_STATUS;
|
|
5
|
-
(function (VERIFICATION_STATUS) {
|
|
6
|
-
VERIFICATION_STATUS[VERIFICATION_STATUS["NOT_SIGNED"] = 0] = "NOT_SIGNED";
|
|
7
|
-
VERIFICATION_STATUS[VERIFICATION_STATUS["SIGNED_AND_VALID"] = 1] = "SIGNED_AND_VALID";
|
|
8
|
-
VERIFICATION_STATUS[VERIFICATION_STATUS["SIGNED_AND_INVALID"] = 2] = "SIGNED_AND_INVALID";
|
|
9
|
-
})(VERIFICATION_STATUS || (exports.VERIFICATION_STATUS = VERIFICATION_STATUS = {}));
|
|
10
3
|
//# sourceMappingURL=interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/crypto/interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/crypto/interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,107 +1,11 @@
|
|
|
1
|
-
import { OpenPGPCrypto, PrivateKey, PublicKey, SessionKey
|
|
2
|
-
/**
|
|
3
|
-
* Interface matching CryptoProxy interface from client's monorepo:
|
|
4
|
-
* clients/packages/crypto/lib/proxy/proxy.ts.
|
|
5
|
-
*/
|
|
6
|
-
export interface OpenPGPCryptoProxy {
|
|
7
|
-
generateKey: (options: {
|
|
8
|
-
userIDs: {
|
|
9
|
-
name: string;
|
|
10
|
-
}[];
|
|
11
|
-
type: 'ecc';
|
|
12
|
-
curve: 'ed25519Legacy';
|
|
13
|
-
config?: {
|
|
14
|
-
aeadProtect: boolean;
|
|
15
|
-
};
|
|
16
|
-
}) => Promise<PrivateKey>;
|
|
17
|
-
exportPrivateKey: (options: {
|
|
18
|
-
privateKey: PrivateKey;
|
|
19
|
-
passphrase: string | null;
|
|
20
|
-
}) => Promise<string>;
|
|
21
|
-
importPrivateKey: (options: {
|
|
22
|
-
armoredKey: string;
|
|
23
|
-
passphrase: string | null;
|
|
24
|
-
}) => Promise<PrivateKey>;
|
|
25
|
-
generateSessionKey: (options: {
|
|
26
|
-
recipientKeys: PublicKey[];
|
|
27
|
-
config?: {
|
|
28
|
-
ignoreSEIPDv2FeatureFlag: boolean;
|
|
29
|
-
};
|
|
30
|
-
}) => Promise<SessionKey>;
|
|
31
|
-
encryptSessionKey: (options: SessionKey & {
|
|
32
|
-
format: 'binary';
|
|
33
|
-
encryptionKeys?: PublicKey | PublicKey[];
|
|
34
|
-
passwords?: string[];
|
|
35
|
-
}) => Promise<Uint8Array<ArrayBuffer>>;
|
|
36
|
-
decryptSessionKey: (options: {
|
|
37
|
-
armoredMessage?: string;
|
|
38
|
-
binaryMessage?: Uint8Array<ArrayBuffer>;
|
|
39
|
-
decryptionKeys: PrivateKey | PrivateKey[];
|
|
40
|
-
}) => Promise<SessionKey | undefined>;
|
|
41
|
-
encryptMessage: <Format extends 'armored' | 'binary' = 'armored', Detached extends boolean = false>(options: {
|
|
42
|
-
format?: Format;
|
|
43
|
-
binaryData: Uint8Array<ArrayBuffer>;
|
|
44
|
-
sessionKey?: SessionKey;
|
|
45
|
-
encryptionKeys: PublicKey[];
|
|
46
|
-
signingKeys?: PrivateKey;
|
|
47
|
-
detached?: Detached;
|
|
48
|
-
compress?: boolean;
|
|
49
|
-
config?: {
|
|
50
|
-
ignoreSEIPDv2FeatureFlag: boolean;
|
|
51
|
-
};
|
|
52
|
-
}) => Promise<Detached extends true ? {
|
|
53
|
-
message: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
54
|
-
signature: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
55
|
-
} : {
|
|
56
|
-
message: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
57
|
-
}>;
|
|
58
|
-
decryptMessage: <Format extends 'utf8' | 'binary' = 'utf8'>(options: {
|
|
59
|
-
format: Format;
|
|
60
|
-
armoredMessage?: string;
|
|
61
|
-
binaryMessage?: Uint8Array<ArrayBuffer>;
|
|
62
|
-
armoredSignature?: string;
|
|
63
|
-
binarySignature?: Uint8Array<ArrayBuffer>;
|
|
64
|
-
sessionKeys?: SessionKey;
|
|
65
|
-
passwords?: string[];
|
|
66
|
-
decryptionKeys?: PrivateKey | PrivateKey[];
|
|
67
|
-
verificationKeys?: PublicKey | PublicKey[];
|
|
68
|
-
}) => Promise<{
|
|
69
|
-
data: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
70
|
-
verificationStatus: VERIFICATION_STATUS;
|
|
71
|
-
verificationErrors?: Error[];
|
|
72
|
-
}>;
|
|
73
|
-
signMessage: <Format extends 'binary' | 'armored' = 'armored'>(options: {
|
|
74
|
-
format: Format;
|
|
75
|
-
binaryData: Uint8Array<ArrayBuffer>;
|
|
76
|
-
signingKeys: PrivateKey | PrivateKey[];
|
|
77
|
-
detached: boolean;
|
|
78
|
-
signatureContext?: {
|
|
79
|
-
critical: boolean;
|
|
80
|
-
value: string;
|
|
81
|
-
};
|
|
82
|
-
}) => Promise<Format extends 'binary' ? Uint8Array<ArrayBuffer> : string>;
|
|
83
|
-
verifyMessage: (options: {
|
|
84
|
-
binaryData: Uint8Array<ArrayBuffer>;
|
|
85
|
-
armoredSignature?: string;
|
|
86
|
-
binarySignature?: Uint8Array<ArrayBuffer>;
|
|
87
|
-
verificationKeys: PublicKey | PublicKey[];
|
|
88
|
-
signatureContext?: {
|
|
89
|
-
required: boolean;
|
|
90
|
-
value: string;
|
|
91
|
-
};
|
|
92
|
-
}) => Promise<{
|
|
93
|
-
verificationStatus: VERIFICATION_STATUS;
|
|
94
|
-
errors?: Error[];
|
|
95
|
-
}>;
|
|
96
|
-
}
|
|
1
|
+
import type { CryptoApiInterface, OpenPGPCrypto, PrivateKey, PublicKey, SessionKey } from './interface';
|
|
97
2
|
/**
|
|
98
3
|
* Implementation of OpenPGPCrypto interface using CryptoProxy from clients
|
|
99
|
-
* monorepo that must be passed as dependency.
|
|
100
|
-
* will be published separately and this implementation will use it directly.
|
|
4
|
+
* monorepo that must be passed as dependency.
|
|
101
5
|
*/
|
|
102
6
|
export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
103
7
|
private cryptoProxy;
|
|
104
|
-
constructor(cryptoProxy:
|
|
8
|
+
constructor(cryptoProxy: CryptoApiInterface);
|
|
105
9
|
generatePassphrase(): string;
|
|
106
10
|
generateSessionKey(encryptionKeys: PublicKey[], options: {
|
|
107
11
|
enableAeadWithEncryptionKeys: boolean;
|
|
@@ -116,7 +20,7 @@ export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
|
116
20
|
enableAead: boolean;
|
|
117
21
|
}): Promise<{
|
|
118
22
|
armoredKey: string;
|
|
119
|
-
privateKey:
|
|
23
|
+
privateKey: import("@protontech/crypto", { with: { "resolution-mode": "import" } }).PrivateKeyReferenceV4;
|
|
120
24
|
}>;
|
|
121
25
|
encryptArmored(data: Uint8Array<ArrayBuffer>, encryptionKeys: PublicKey[], sessionKey: SessionKey | undefined, options: {
|
|
122
26
|
enableAeadWithEncryptionKeys: boolean;
|
|
@@ -154,11 +58,11 @@ export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
|
154
58
|
signature: string;
|
|
155
59
|
}>;
|
|
156
60
|
verify(data: Uint8Array<ArrayBuffer>, signature: Uint8Array<ArrayBuffer>, verificationKeys: PublicKey | PublicKey[]): Promise<{
|
|
157
|
-
verified: VERIFICATION_STATUS;
|
|
61
|
+
verified: import("./interface").VERIFICATION_STATUS;
|
|
158
62
|
verificationErrors: Error[] | undefined;
|
|
159
63
|
}>;
|
|
160
64
|
verifyArmored(data: Uint8Array<ArrayBuffer>, armoredSignature: string, verificationKeys: PublicKey | PublicKey[], signatureContext?: string): Promise<{
|
|
161
|
-
verified: VERIFICATION_STATUS;
|
|
65
|
+
verified: import("./interface").VERIFICATION_STATUS;
|
|
162
66
|
verificationErrors: Error[] | undefined;
|
|
163
67
|
}>;
|
|
164
68
|
decryptSessionKey(data: Uint8Array<ArrayBuffer>, decryptionKeys: PrivateKey | PrivateKey[]): Promise<SessionKey>;
|
|
@@ -166,23 +70,23 @@ export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
|
166
70
|
decryptKey(armoredKey: string, passphrase: string): Promise<PrivateKey>;
|
|
167
71
|
decryptAndVerify(data: Uint8Array<ArrayBuffer>, sessionKey: SessionKey, verificationKeys: PublicKey[]): Promise<{
|
|
168
72
|
data: Uint8Array<ArrayBuffer>;
|
|
169
|
-
verified: VERIFICATION_STATUS;
|
|
73
|
+
verified: import("./interface").VERIFICATION_STATUS;
|
|
170
74
|
verificationErrors: Error[] | undefined;
|
|
171
75
|
}>;
|
|
172
76
|
decryptAndVerifyDetached(data: Uint8Array<ArrayBuffer>, signature: Uint8Array<ArrayBuffer> | undefined, sessionKey: SessionKey, verificationKeys?: PublicKey[]): Promise<{
|
|
173
77
|
data: Uint8Array<ArrayBuffer>;
|
|
174
|
-
verified: VERIFICATION_STATUS;
|
|
78
|
+
verified: import("./interface").VERIFICATION_STATUS;
|
|
175
79
|
verificationErrors: Error[] | undefined;
|
|
176
80
|
}>;
|
|
177
81
|
decryptArmored(armoredData: string, decryptionKeys: PrivateKey | PrivateKey[]): Promise<Uint8Array<ArrayBuffer>>;
|
|
178
82
|
decryptArmoredAndVerify(armoredData: string, decryptionKeys: PrivateKey | PrivateKey[], verificationKeys: PublicKey | PublicKey[]): Promise<{
|
|
179
83
|
data: Uint8Array<ArrayBuffer>;
|
|
180
|
-
verified: VERIFICATION_STATUS;
|
|
84
|
+
verified: import("./interface").VERIFICATION_STATUS;
|
|
181
85
|
verificationErrors: Error[] | undefined;
|
|
182
86
|
}>;
|
|
183
87
|
decryptArmoredAndVerifyDetached(armoredData: string, armoredSignature: string | undefined, sessionKey: SessionKey, verificationKeys: PublicKey | PublicKey[]): Promise<{
|
|
184
88
|
data: Uint8Array<ArrayBuffer>;
|
|
185
|
-
verified: VERIFICATION_STATUS;
|
|
89
|
+
verified: import("./interface").VERIFICATION_STATUS;
|
|
186
90
|
verificationErrors: Error[] | undefined;
|
|
187
91
|
}>;
|
|
188
92
|
decryptArmoredWithPassword(armoredData: string, password: string): Promise<Uint8Array<ArrayBuffer>>;
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OpenPGPCryptoWithCryptoProxy = void 0;
|
|
4
4
|
const ttag_1 = require("ttag");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
6
5
|
/**
|
|
7
6
|
* Implementation of OpenPGPCrypto interface using CryptoProxy from clients
|
|
8
|
-
* monorepo that must be passed as dependency.
|
|
9
|
-
* will be published separately and this implementation will use it directly.
|
|
7
|
+
* monorepo that must be passed as dependency.
|
|
10
8
|
*/
|
|
11
9
|
class OpenPGPCryptoWithCryptoProxy {
|
|
12
10
|
cryptoProxy;
|
|
@@ -18,7 +16,7 @@ class OpenPGPCryptoWithCryptoProxy {
|
|
|
18
16
|
const value = crypto.getRandomValues(new Uint8Array(32));
|
|
19
17
|
// TODO: Once all clients can use non-ascii bytes, switch to simple
|
|
20
18
|
// generating of random bytes without encoding it into base64.
|
|
21
|
-
return
|
|
19
|
+
return value.toBase64();
|
|
22
20
|
}
|
|
23
21
|
async generateSessionKey(encryptionKeys, options) {
|
|
24
22
|
return this.cryptoProxy.generateSessionKey({
|