node-opcua-crypto 1.7.4 → 1.9.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.
Files changed (102) hide show
  1. package/.fossa.yml +18 -18
  2. package/.github/FUNDING.yml +12 -12
  3. package/.github/workflows/main.yml +32 -32
  4. package/.prettierrc.js +6 -6
  5. package/LICENSE +22 -22
  6. package/README.md +14 -14
  7. package/dist/asn1.d.ts +69 -0
  8. package/dist/asn1.js +349 -0
  9. package/dist/asn1.js.map +1 -0
  10. package/dist/buffer_utils.d.ts +6 -0
  11. package/dist/buffer_utils.js +22 -0
  12. package/dist/buffer_utils.js.map +1 -0
  13. package/dist/common.d.ts +11 -0
  14. package/dist/common.js +3 -0
  15. package/dist/common.js.map +1 -0
  16. package/dist/crypto_explore_certificate.d.ts +95 -0
  17. package/dist/crypto_explore_certificate.js +547 -0
  18. package/dist/crypto_explore_certificate.js.map +1 -0
  19. package/dist/crypto_utils.d.ts +106 -0
  20. package/dist/crypto_utils.js +370 -0
  21. package/dist/crypto_utils.js.map +1 -0
  22. package/dist/derived_keys.d.ts +72 -0
  23. package/dist/derived_keys.js +247 -0
  24. package/dist/derived_keys.js.map +1 -0
  25. package/dist/explore_certificate.d.ts +30 -0
  26. package/dist/explore_certificate.js +44 -0
  27. package/dist/explore_certificate.js.map +1 -0
  28. package/dist/explore_certificate_revocation_list.d.ts +30 -0
  29. package/dist/explore_certificate_revocation_list.js +67 -0
  30. package/dist/explore_certificate_revocation_list.js.map +1 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.js +23 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/oid_map.d.ts +7 -0
  35. package/dist/oid_map.js +262 -0
  36. package/dist/oid_map.js.map +1 -0
  37. package/dist/source/asn1.d.ts +73 -73
  38. package/dist/source/asn1.js +359 -359
  39. package/dist/source/buffer_utils.d.ts +6 -5
  40. package/dist/source/buffer_utils.js +21 -21
  41. package/dist/source/common.d.ts +12 -12
  42. package/dist/source/common.js +2 -2
  43. package/dist/source/crypto_explore_certificate.d.ts +107 -107
  44. package/dist/source/crypto_explore_certificate.js +600 -600
  45. package/dist/source/crypto_utils.d.ts +78 -78
  46. package/dist/source/crypto_utils.js +280 -280
  47. package/dist/source/derived_keys.d.ts +72 -72
  48. package/dist/source/derived_keys.js +248 -245
  49. package/dist/source/derived_keys.js.map +1 -1
  50. package/dist/source/explore_certificate.d.ts +30 -30
  51. package/dist/source/explore_certificate.js +43 -43
  52. package/dist/source/explore_certificate_revocation_list.d.ts +28 -28
  53. package/dist/source/explore_certificate_revocation_list.js +44 -44
  54. package/dist/source/explore_certificate_signing_request.d.ts +13 -13
  55. package/dist/source/explore_certificate_signing_request.js +44 -44
  56. package/dist/source/explore_private_key.d.ts +29 -29
  57. package/dist/source/explore_private_key.js +96 -96
  58. package/dist/source/index.d.ts +13 -13
  59. package/dist/source/index.js +25 -25
  60. package/dist/source/oid_map.d.ts +7 -7
  61. package/dist/source/oid_map.js +303 -303
  62. package/dist/source/public_private_match.d.ts +3 -3
  63. package/dist/source/public_private_match.js +16 -16
  64. package/dist/source/verify_certificate_signature.d.ts +10 -10
  65. package/dist/source/verify_certificate_signature.js +101 -101
  66. package/dist/source_nodejs/index.d.ts +3 -3
  67. package/dist/source_nodejs/index.js +15 -15
  68. package/dist/source_nodejs/read.d.ts +29 -29
  69. package/dist/source_nodejs/read.js +94 -94
  70. package/dist/source_nodejs/read_certificate_revocation_list.d.ts +2 -2
  71. package/dist/source_nodejs/read_certificate_revocation_list.js +27 -27
  72. package/dist/source_nodejs/read_certificate_signing_request.d.ts +3 -3
  73. package/dist/source_nodejs/read_certificate_signing_request.js +27 -27
  74. package/dist/verify_cerficate_signature.d.ts +10 -0
  75. package/dist/verify_cerficate_signature.js +102 -0
  76. package/dist/verify_cerficate_signature.js.map +1 -0
  77. package/index.d.ts +2 -2
  78. package/index.js +4 -4
  79. package/index_web.js +3 -3
  80. package/package.json +17 -17
  81. package/source/asn1.ts +404 -404
  82. package/source/buffer_utils.ts +18 -18
  83. package/source/common.ts +13 -13
  84. package/source/crypto_explore_certificate.ts +763 -763
  85. package/source/crypto_utils.ts +321 -321
  86. package/source/derived_keys.ts +287 -284
  87. package/source/explore_certificate.ts +66 -66
  88. package/source/explore_certificate_revocation_list.ts +93 -93
  89. package/source/explore_certificate_signing_request.ts +58 -58
  90. package/source/explore_private_key.ts +121 -121
  91. package/source/index.ts +13 -13
  92. package/source/oid_map.ts +310 -310
  93. package/source/public_private_match.ts +17 -17
  94. package/source/verify_certificate_signature.ts +105 -105
  95. package/source_nodejs/index.ts +2 -2
  96. package/source_nodejs/read.ts +95 -95
  97. package/source_nodejs/read_certificate_revocation_list.ts +14 -14
  98. package/source_nodejs/read_certificate_signing_request.ts +17 -17
  99. package/test_certificate.ts +34 -34
  100. package/tsconfig.json +18 -18
  101. package/tslint.json +34 -34
  102. package/pnpm-lock.yaml +0 -1689
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * @internal
4
+ * @private
5
+ */
6
+ export declare const createFastUninitializedBuffer: typeof Buffer.allocUnsafe;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFastUninitializedBuffer = void 0;
4
+ //
5
+ // note: new Buffer(size)# is deprecated since: v6.0. and is replaced with Buffer.allocUnsafe
6
+ // to ensure backward compatibility we have to replace
7
+ // new Buffer(size) with createFastUninitializedBuffer(size)
8
+ //
9
+ // Buffer.alloc and Buffer.allocUnsafe have been introduced in nodejs 5.1.0
10
+ // in node 0.11 new Buffer
11
+ //
12
+ /**
13
+ * @internal
14
+ * @private
15
+ */
16
+ exports.createFastUninitializedBuffer = Buffer.allocUnsafe
17
+ ? Buffer.allocUnsafe
18
+ : (size) => {
19
+ // istanbul ignore next
20
+ return new Buffer(size);
21
+ };
22
+ //# sourceMappingURL=buffer_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer_utils.js","sourceRoot":"","sources":["../lib/buffer_utils.ts"],"names":[],"mappings":";;;AAAA,EAAE;AACF,8FAA8F;AAC9F,4DAA4D;AAC5D,kEAAkE;AAClE,EAAE;AACF,iFAAiF;AACjF,2BAA2B;AAC3B,EAAE;AACF;;;GAGG;AACU,QAAA,6BAA6B,GAAG,MAAM,CAAC,WAAW;IAC3D,CAAC,CAAC,MAAM,CAAC,WAAW;IACpB,CAAC,CAAC,CAAC,IAAY,EAAU,EAAE;QACvB,uBAAuB;QACvB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" />
2
+ export declare type Nonce = Buffer;
3
+ export declare type PEM = string;
4
+ export declare type DER = Buffer;
5
+ export declare type Certificate = DER;
6
+ export declare type CertificatePEM = PEM;
7
+ export declare type PrivateKey = DER;
8
+ export declare type PrivateKeyPEM = PEM;
9
+ export declare type PublicKey = DER;
10
+ export declare type PublicKeyPEM = PEM;
11
+ export declare type Signature = Buffer;
package/dist/common.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../lib/common.ts"],"names":[],"mappings":""}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @module node_opcua_crypto
3
+ */
4
+ /// <reference types="node" />
5
+ import { AlgorithmIdentifier, SignatureValue, DirectoryName } from "./asn1";
6
+ import { Certificate, PrivateKey } from "./common";
7
+ import { PublicKeyLength } from "./explore_certificate";
8
+ export interface AttributeTypeAndValue {
9
+ [key: string]: any;
10
+ }
11
+ export interface Validity {
12
+ notBefore: Date;
13
+ notAfter: Date;
14
+ }
15
+ export interface KeyUsage {
16
+ digitalSignature: boolean;
17
+ nonRepudiation: boolean;
18
+ keyEncipherment: boolean;
19
+ dataEncipherment: boolean;
20
+ keyAgreement: boolean;
21
+ keyCertSign: boolean;
22
+ cRLSign: boolean;
23
+ encipherOnly: boolean;
24
+ decipherOnly: boolean;
25
+ }
26
+ export interface ExtKeyUsage {
27
+ clientAuth: boolean;
28
+ serverAuth: boolean;
29
+ codeSigning: boolean;
30
+ emailProtection: boolean;
31
+ timeStamping: boolean;
32
+ }
33
+ export interface SubjectPublicKeyInfo {
34
+ algorithm: string;
35
+ keyLength: PublicKeyLength;
36
+ subjectPublicKey: Buffer;
37
+ }
38
+ export interface BasicConstraints {
39
+ critical: boolean;
40
+ cA: boolean;
41
+ pathLengthConstraint?: number;
42
+ }
43
+ export interface AuthorithyKeyIdentifier {
44
+ keyIdentifier: string | null;
45
+ authorityCertIssuer: DirectoryName | null;
46
+ authorityCertIssuerFingerPrint: string;
47
+ serial: string | null;
48
+ }
49
+ export interface CertificateExtension {
50
+ basicConstraints: BasicConstraints;
51
+ subjectKeyIdentifier?: string;
52
+ authorityKeyIdentifier?: AuthorithyKeyIdentifier;
53
+ keyUsage?: KeyUsage;
54
+ extKeyUsage?: KeyUsage;
55
+ subjectAltName?: any;
56
+ }
57
+ export interface TbsCertificate {
58
+ version: number;
59
+ serialNumber: string;
60
+ issuer: any;
61
+ signature: AlgorithmIdentifier;
62
+ validity: Validity;
63
+ subject: DirectoryName;
64
+ subjectFingerPrint: string;
65
+ subjectPublicKeyInfo: SubjectPublicKeyInfo;
66
+ extensions: CertificateExtension | null;
67
+ }
68
+ export interface CertificateInternals {
69
+ tbsCertificate: TbsCertificate;
70
+ signatureAlgorithm: AlgorithmIdentifier;
71
+ signatureValue: SignatureValue;
72
+ }
73
+ /**
74
+ * explore a certificate structure
75
+ * @param certificate
76
+ * @returns a json object that exhibits the internal data of the certificate
77
+ */
78
+ export declare function exploreCertificate(certificate: Certificate): CertificateInternals;
79
+ export interface PrivateKeyInternals {
80
+ }
81
+ export declare function explorePrivateKey(privateKey: PrivateKey): PrivateKeyInternals;
82
+ /**
83
+ * @method split_der
84
+ * split a multi chain certificates
85
+ * @param certificateChain the certificate chain in der (binary) format}
86
+ * @returns an array of Der , each element of the array is one certificate of the chain
87
+ */
88
+ export declare function split_der(certificateChain: Certificate): Certificate[];
89
+ /**
90
+ * @method combine_der
91
+ * combine an array of certificates into a single blob
92
+ * @param certificates a array with the individual DER certificates of the chain
93
+ * @return a concatenated buffer containing the certificates
94
+ */
95
+ export declare function combine_der(certificates: Certificate[]): Certificate;