@edirect/encrypt-modules 10.0.1 → 11.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +9 -0
  2. package/dist/README.md +9 -0
  3. package/dist/package.json +54 -0
  4. package/dist/{aes-encrypt → src/aes-encrypt}/aes-encrypt.interface.d.ts +6 -7
  5. package/dist/src/aes-encrypt/aes-encrypt.interface.d.ts.map +1 -0
  6. package/dist/{aes-encrypt → src/aes-encrypt}/aes-encrypt.interface.js +0 -1
  7. package/dist/src/aes-encrypt/aes-encrypt.module.d.ts +3 -0
  8. package/dist/src/aes-encrypt/aes-encrypt.module.d.ts.map +1 -0
  9. package/dist/src/aes-encrypt/aes-encrypt.module.js +15 -0
  10. package/dist/{aes-encrypt → src/aes-encrypt}/aes-encrypt.service.d.ts +2 -2
  11. package/dist/src/aes-encrypt/aes-encrypt.service.d.ts.map +1 -0
  12. package/dist/{aes-encrypt → src/aes-encrypt}/aes-encrypt.service.js +21 -21
  13. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.interface.d.ts +5 -0
  14. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.interface.d.ts.map +1 -0
  15. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.interface.js +2 -0
  16. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.module.d.ts +3 -0
  17. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.module.d.ts.map +1 -0
  18. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.module.js +15 -0
  19. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.service.d.ts +6 -0
  20. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.service.d.ts.map +1 -0
  21. package/dist/src/bin-pgp-encrypt/bin-pgp-encrypt.service.js +63 -0
  22. package/dist/{index.d.ts → src/index.d.ts} +3 -0
  23. package/dist/src/index.d.ts.map +1 -0
  24. package/dist/{index.js → src/index.js} +5 -2
  25. package/dist/{pgp-encrypt → src/pgp-encrypt}/pgp-encrypt.interface.d.ts +1 -0
  26. package/dist/src/pgp-encrypt/pgp-encrypt.interface.d.ts.map +1 -0
  27. package/dist/{pgp-encrypt → src/pgp-encrypt}/pgp-encrypt.interface.js +0 -1
  28. package/dist/src/pgp-encrypt/pgp-encrypt.module.d.ts +3 -0
  29. package/dist/src/pgp-encrypt/pgp-encrypt.module.d.ts.map +1 -0
  30. package/dist/src/pgp-encrypt/pgp-encrypt.module.js +15 -0
  31. package/dist/{pgp-encrypt → src/pgp-encrypt}/pgp-encrypt.service.d.ts +1 -0
  32. package/dist/src/pgp-encrypt/pgp-encrypt.service.d.ts.map +1 -0
  33. package/dist/{pgp-encrypt → src/pgp-encrypt}/pgp-encrypt.service.js +7 -12
  34. package/dist/{rsa-encrypt → src/rsa-encrypt}/rsa-encrypt.interface.d.ts +1 -1
  35. package/dist/src/rsa-encrypt/rsa-encrypt.interface.d.ts.map +1 -0
  36. package/dist/{rsa-encrypt → src/rsa-encrypt}/rsa-encrypt.interface.js +0 -1
  37. package/dist/src/rsa-encrypt/rsa-encrypt.module.d.ts +3 -0
  38. package/dist/src/rsa-encrypt/rsa-encrypt.module.d.ts.map +1 -0
  39. package/dist/src/rsa-encrypt/rsa-encrypt.module.js +15 -0
  40. package/dist/{rsa-encrypt → src/rsa-encrypt}/rsa-encrypt.service.d.ts +2 -2
  41. package/dist/src/rsa-encrypt/rsa-encrypt.service.d.ts.map +1 -0
  42. package/dist/src/rsa-encrypt/rsa-encrypt.service.js +22 -0
  43. package/dist/{zip-encrypt → src/zip-encrypt}/zipencrypt.interface.d.ts +1 -0
  44. package/dist/src/zip-encrypt/zipencrypt.interface.d.ts.map +1 -0
  45. package/dist/{zip-encrypt → src/zip-encrypt}/zipencrypt.interface.js +0 -1
  46. package/dist/src/zip-encrypt/zipencrypt.module.d.ts +3 -0
  47. package/dist/src/zip-encrypt/zipencrypt.module.d.ts.map +1 -0
  48. package/dist/src/zip-encrypt/zipencrypt.module.js +15 -0
  49. package/dist/{zip-encrypt → src/zip-encrypt}/zipencrypt.service.d.ts +1 -1
  50. package/dist/src/zip-encrypt/zipencrypt.service.d.ts.map +1 -0
  51. package/dist/{zip-encrypt → src/zip-encrypt}/zipencrypt.service.js +10 -12
  52. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  53. package/package.json +44 -20
  54. package/.eslintrc.js +0 -24
  55. package/.prettierrc +0 -4
  56. package/dist/aes-encrypt/aes-encrypt.interface.js.map +0 -1
  57. package/dist/aes-encrypt/aes-encrypt.module.d.ts +0 -2
  58. package/dist/aes-encrypt/aes-encrypt.module.js +0 -21
  59. package/dist/aes-encrypt/aes-encrypt.module.js.map +0 -1
  60. package/dist/aes-encrypt/aes-encrypt.service.js.map +0 -1
  61. package/dist/index.js.map +0 -1
  62. package/dist/pgp-encrypt/pgp-encrypt.interface.js.map +0 -1
  63. package/dist/pgp-encrypt/pgp-encrypt.module.d.ts +0 -2
  64. package/dist/pgp-encrypt/pgp-encrypt.module.js +0 -21
  65. package/dist/pgp-encrypt/pgp-encrypt.module.js.map +0 -1
  66. package/dist/pgp-encrypt/pgp-encrypt.service.js.map +0 -1
  67. package/dist/rsa-encrypt/rsa-encrypt.interface.js.map +0 -1
  68. package/dist/rsa-encrypt/rsa-encrypt.module.d.ts +0 -2
  69. package/dist/rsa-encrypt/rsa-encrypt.module.js +0 -21
  70. package/dist/rsa-encrypt/rsa-encrypt.module.js.map +0 -1
  71. package/dist/rsa-encrypt/rsa-encrypt.service.js +0 -28
  72. package/dist/rsa-encrypt/rsa-encrypt.service.js.map +0 -1
  73. package/dist/tsconfig.build.tsbuildinfo +0 -1
  74. package/dist/zip-encrypt/zipencrypt.interface.js.map +0 -1
  75. package/dist/zip-encrypt/zipencrypt.module.d.ts +0 -2
  76. package/dist/zip-encrypt/zipencrypt.module.js +0 -21
  77. package/dist/zip-encrypt/zipencrypt.module.js.map +0 -1
  78. package/dist/zip-encrypt/zipencrypt.service.js.map +0 -1
  79. package/nest-cli.json +0 -4
  80. package/src/aes-encrypt/aes-encrypt.interface.ts +0 -34
  81. package/src/aes-encrypt/aes-encrypt.module.ts +0 -8
  82. package/src/aes-encrypt/aes-encrypt.service.ts +0 -65
  83. package/src/index.ts +0 -8
  84. package/src/pgp-encrypt/pgp-encrypt.interface.ts +0 -8
  85. package/src/pgp-encrypt/pgp-encrypt.module.ts +0 -8
  86. package/src/pgp-encrypt/pgp-encrypt.service.ts +0 -74
  87. package/src/rsa-encrypt/rsa-encrypt.interface.ts +0 -15
  88. package/src/rsa-encrypt/rsa-encrypt.module.ts +0 -8
  89. package/src/rsa-encrypt/rsa-encrypt.service.ts +0 -30
  90. package/src/zip-encrypt/zipencrypt.interface.ts +0 -12
  91. package/src/zip-encrypt/zipencrypt.module.ts +0 -8
  92. package/src/zip-encrypt/zipencrypt.service.ts +0 -29
  93. package/tsconfig.build.json +0 -4
  94. package/tsconfig.json +0 -21
@@ -1,8 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { AesEncryptService } from './aes-encrypt.service';
3
-
4
- @Module({
5
- providers: [AesEncryptService],
6
- exports: [AesEncryptService],
7
- })
8
- export class AesEncryptModule {}
@@ -1,65 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import {
3
- createCipheriv,
4
- createDecipheriv,
5
- Cipher,
6
- Decipher,
7
- CipherKey,
8
- BinaryLike,
9
- } from 'crypto';
10
-
11
- import {
12
- AesEncryptInterface, IaesDecryptOptionalParameters, IaesEncryptOptionalParameters,
13
- } from './aes-encrypt.interface';
14
-
15
- @Injectable()
16
- export class AesEncryptService implements AesEncryptInterface {
17
-
18
- public encrypt(message: string, passphrase: CipherKey, optionalParameters: IaesEncryptOptionalParameters = {}): string {
19
- optionalParameters = {
20
- ...{
21
- iv: Buffer.alloc(16).fill(0),
22
- encryptionMethod: 'aes-256-cbc',
23
- inputEncoding: 'utf8',
24
- outputEncoding: 'hex',
25
- }, ...optionalParameters,
26
- };
27
- const cipher: Cipher = createCipheriv(
28
- optionalParameters.encryptionMethod,
29
- passphrase,
30
- optionalParameters.iv,
31
- optionalParameters.options,
32
- );
33
- let result: string = cipher.update(
34
- message,
35
- optionalParameters.inputEncoding,
36
- optionalParameters.outputEncoding,
37
- );
38
- result += cipher.final(optionalParameters.outputEncoding);
39
- return result;
40
- }
41
-
42
- public decrypt(encryptedMessage: string, passphrase: BinaryLike, optionalParameters: IaesDecryptOptionalParameters = {}): string {
43
- optionalParameters = {
44
- ...{
45
- encryptionMethod: 'aes-256-cbc',
46
- iv: Buffer.alloc(16).fill(0),
47
- inputEncoding: 'hex',
48
- outputEncoding: 'utf8',
49
- }, ...optionalParameters,
50
- };
51
- const decipher: Decipher = createDecipheriv(
52
- optionalParameters.encryptionMethod,
53
- passphrase,
54
- optionalParameters.iv,
55
- optionalParameters.options);
56
- let result: string = decipher.update(
57
- encryptedMessage,
58
- optionalParameters.inputEncoding,
59
- optionalParameters.outputEncoding,
60
- );
61
- result += decipher.final(optionalParameters.outputEncoding);
62
- return result;
63
- }
64
-
65
- }
package/src/index.ts DELETED
@@ -1,8 +0,0 @@
1
- export { AesEncryptModule } from './aes-encrypt/aes-encrypt.module';
2
- export { AesEncryptService } from './aes-encrypt/aes-encrypt.service';
3
- export { RsaEncryptModule } from './rsa-encrypt/rsa-encrypt.module';
4
- export { RsaEncryptService } from './rsa-encrypt/rsa-encrypt.service';
5
- export { PgpEncryptModule } from './pgp-encrypt/pgp-encrypt.module';
6
- export { PgpEncryptService } from './pgp-encrypt/pgp-encrypt.service';
7
- export { ZipEncryptModule } from './zip-encrypt/zipencrypt.module';
8
- export { ZipEncryptService } from './zip-encrypt/zipencrypt.service';
@@ -1,8 +0,0 @@
1
- export interface IPgpEncryptModuleInterface {
2
- encrypt(pgpKey: any, dataToEncrypt: any): Promise<string>;
3
- decrypt(
4
- pgpKey: any,
5
- encryptedData: any,
6
- passphrase?: string,
7
- ): Promise<string>;
8
- }
@@ -1,8 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { PgpEncryptService } from './pgp-encrypt.service';
3
-
4
- @Module({
5
- providers: [PgpEncryptService],
6
- exports: [PgpEncryptService],
7
- })
8
- export class PgpEncryptModule {}
@@ -1,74 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import * as openpgp from 'openpgp';
3
- import { IPgpEncryptModuleInterface } from './pgp-encrypt.interface';
4
-
5
- @Injectable()
6
- export class PgpEncryptService implements IPgpEncryptModuleInterface {
7
- public async encrypt(pgpKey: any, dataToEncrypt: any): Promise<string> {
8
- try {
9
- const publicKey = await openpgp.readKey({
10
- armoredKey: pgpKey,
11
- });
12
- const encrypted = await openpgp.encrypt({
13
- message: await openpgp.createMessage({ text: dataToEncrypt }),
14
- encryptionKeys: publicKey,
15
- format: 'armored',
16
- });
17
- return encrypted.toString();
18
- } catch (error) {
19
- throw new Error(`File encryption error: \n ${error}`);
20
- }
21
- }
22
-
23
- public async decrypt(
24
- pgpKey: any,
25
- encryptedData: any,
26
- passphrase?: string,
27
- ): Promise<string> {
28
- try {
29
- const openpgpPrivatekey = await openpgp.readPrivateKey({
30
- armoredKey: pgpKey,
31
- });
32
-
33
- const decryptKeyOptions: {
34
- privateKey: openpgp.PrivateKey;
35
- passphrase?: openpgp.MaybeArray<string>;
36
- config?: openpgp.PartialConfig;
37
- } = {
38
- privateKey: openpgpPrivatekey,
39
- config: {
40
- allowInsecureDecryptionWithSigningKeys: true,
41
- allowUnauthenticatedMessages: true,
42
- },
43
- };
44
-
45
- if (!!passphrase) {
46
- decryptKeyOptions.passphrase = passphrase;
47
- }
48
- const privateKey = await openpgp.decryptKey(decryptKeyOptions);
49
-
50
- const armoredMessage = (
51
- await openpgp.createMessage({
52
- text: encryptedData,
53
- format: 'utf8',
54
- })
55
- ).getText();
56
- const message = await openpgp.readMessage({
57
- armoredMessage,
58
- });
59
- const { data: decryptedData } = await openpgp.decrypt({
60
- message,
61
- decryptionKeys: privateKey,
62
- format: 'utf8',
63
- config: {
64
- allowInsecureDecryptionWithSigningKeys: true,
65
- allowUnauthenticatedMessages: true,
66
- },
67
- });
68
-
69
- return decryptedData.toString();
70
- } catch (error) {
71
- throw new Error(`File decryption error: \n ${error}`);
72
- }
73
- }
74
- }
@@ -1,15 +0,0 @@
1
- import * as NodeRSA from 'node-rsa';
2
-
3
- export interface RsaEncryptInterface {
4
- encrypt(
5
- message: NodeRSA.Data,
6
- key: NodeRSA.KeyBits,
7
- messageEncoding: NodeRSA.Encoding,
8
- ): string;
9
-
10
- decrypt(
11
- message: string | Buffer,
12
- key: NodeRSA.Key,
13
- messageEncoding: NodeRSA.Encoding,
14
- ): string;
15
- }
@@ -1,8 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { RsaEncryptService } from './rsa-encrypt.service';
3
-
4
- @Module({
5
- providers: [RsaEncryptService],
6
- exports: [RsaEncryptService],
7
- })
8
- export class RsaEncryptModule {}
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import * as NodeRSA from 'node-rsa';
3
-
4
- import {
5
- RsaEncryptInterface,
6
- } from './rsa-encrypt.interface';
7
-
8
- @Injectable()
9
- export class RsaEncryptService implements RsaEncryptInterface {
10
-
11
- public encrypt(
12
- message: NodeRSA.Data,
13
- key: NodeRSA.KeyBits,
14
- messageEncoding: NodeRSA.Encoding = 'base64',
15
- ): string {
16
- const rsa: NodeRSA = new NodeRSA(key);
17
- const encryptedData: string = rsa.encrypt(message, messageEncoding);
18
- return encryptedData;
19
- }
20
-
21
- public decrypt(
22
- message: string | Buffer,
23
- key: NodeRSA.Key,
24
- messageEncoding: NodeRSA.Encoding = 'buffer',
25
- ): string {
26
- const rsa: NodeRSA = new NodeRSA(key);
27
- const decrypt: string = rsa.decrypt(message, messageEncoding).toString();
28
- return decrypt;
29
- }
30
- }
@@ -1,12 +0,0 @@
1
- import { ArchiverOptions } from 'archiver';
2
-
3
- export type encryptionMethodType = 'zip20' | 'aes256'
4
-
5
- export type archiverOptionsZipEncrypted = ArchiverOptions & {
6
- encryptionMethod: encryptionMethodType;
7
- };
8
-
9
- export interface FileFormat {
10
- content: any;
11
- filename: string;
12
- }
@@ -1,8 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { ZipEncryptService } from './zipencrypt.service';
3
-
4
- @Module({
5
- providers: [ZipEncryptService],
6
- exports: [ZipEncryptService],
7
- })
8
- export class ZipEncryptModule {}
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { registerFormat, create, Archiver, isRegisteredFormat } from 'archiver';
3
- import { WritableStreamBuffer } from 'stream-buffers';
4
- import { archiverOptionsZipEncrypted, encryptionMethodType, FileFormat } from './zipencrypt.interface';
5
-
6
- @Injectable()
7
- export class ZipEncryptService {
8
-
9
- public async encryptFiles(files: FileFormat[], password: string, encryptionMethod: encryptionMethodType = 'zip20'): Promise<Buffer | false> {
10
- const output: WritableStreamBuffer = new WritableStreamBuffer({
11
- initialSize: (1000),
12
- incrementAmount: (1000),
13
- });
14
-
15
- if (!isRegisteredFormat('zip-encrypted')) { registerFormat('zip-encrypted', require('archiver-zip-encrypted')); }
16
-
17
- const archive: Archiver = create('zip-encrypted', { zlib: { level: 8 }, encryptionMethod, password } as archiverOptionsZipEncrypted);
18
-
19
- archive.pipe(output);
20
-
21
- files.map((file: FileFormat) => {
22
- archive.append(file.content, { name: file.filename });
23
- });
24
-
25
- await archive.finalize();
26
- output.end();
27
- return output.getContents();
28
- }
29
- }
@@ -1,4 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
4
- }
package/tsconfig.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "allowSyntheticDefaultImports": true,
9
- "target": "es2017",
10
- "sourceMap": true,
11
- "outDir": "./dist",
12
- "baseUrl": "./",
13
- "incremental": true,
14
- "skipLibCheck": true,
15
- "strictNullChecks": false,
16
- "noImplicitAny": false,
17
- "strictBindCallApply": false,
18
- "forceConsistentCasingInFileNames": false,
19
- "noFallthroughCasesInSwitch": false
20
- }
21
- }