@protontech/openpgp 4.10.8 → 5.3.1
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 +311 -239
- package/dist/lightweight/bn.interface.min.mjs +3 -0
- package/dist/lightweight/bn.interface.min.mjs.map +1 -0
- package/dist/lightweight/bn.interface.mjs +340 -0
- package/dist/lightweight/bn.min.mjs +3 -0
- package/dist/lightweight/bn.min.mjs.map +1 -0
- package/dist/lightweight/bn.mjs +3434 -0
- package/dist/lightweight/elliptic.min.mjs +3 -0
- package/dist/lightweight/elliptic.min.mjs.map +1 -0
- package/dist/lightweight/elliptic.mjs +4313 -0
- package/dist/lightweight/openpgp.min.mjs +3 -0
- package/dist/lightweight/openpgp.min.mjs.map +1 -0
- package/dist/lightweight/openpgp.mjs +31375 -0
- package/dist/lightweight/ponyfill.es6.min.mjs +3 -0
- package/dist/lightweight/ponyfill.es6.min.mjs.map +1 -0
- package/dist/lightweight/ponyfill.es6.mjs +3831 -0
- package/dist/lightweight/web-streams-adapter.min.mjs +17 -0
- package/dist/lightweight/web-streams-adapter.min.mjs.map +1 -0
- package/dist/lightweight/web-streams-adapter.mjs +561 -0
- package/dist/node/openpgp.js +43943 -0
- package/dist/node/openpgp.min.js +17 -0
- package/dist/node/openpgp.min.js.map +1 -0
- package/dist/node/openpgp.min.mjs +17 -0
- package/dist/node/openpgp.min.mjs.map +1 -0
- package/dist/node/openpgp.mjs +43880 -0
- package/dist/openpgp.js +41077 -41609
- package/dist/openpgp.min.js +17 -2
- package/dist/openpgp.min.js.map +1 -0
- package/dist/openpgp.min.mjs +17 -0
- package/dist/openpgp.min.mjs.map +1 -0
- package/dist/openpgp.mjs +43868 -0
- package/lightweight/package.json +5 -0
- package/openpgp.d.ts +889 -0
- package/package.json +63 -57
- package/dist/compat/openpgp.js +0 -61152
- package/dist/compat/openpgp.min.js +0 -2
- package/dist/compat/openpgp.worker.js +0 -173
- package/dist/compat/openpgp.worker.min.js +0 -2
- package/dist/lightweight/elliptic.min.js +0 -5
- package/dist/lightweight/openpgp.js +0 -40071
- package/dist/lightweight/openpgp.min.js +0 -2
- package/dist/lightweight/openpgp.worker.js +0 -173
- package/dist/lightweight/openpgp.worker.min.js +0 -2
- package/dist/openpgp.worker.js +0 -173
- package/dist/openpgp.worker.min.js +0 -2
- package/src/cleartext.js +0 -220
- package/src/config/config.js +0 -232
- package/src/config/index.js +0 -7
- package/src/config/localStorage.js +0 -35
- package/src/crypto/aes_kw.js +0 -153
- package/src/crypto/cfb.js +0 -169
- package/src/crypto/cipher/aes.js +0 -27
- package/src/crypto/cipher/blowfish.js +0 -398
- package/src/crypto/cipher/cast5.js +0 -610
- package/src/crypto/cipher/des.js +0 -476
- package/src/crypto/cipher/index.js +0 -91
- package/src/crypto/cipher/twofish.js +0 -346
- package/src/crypto/cmac.js +0 -98
- package/src/crypto/crypto.js +0 -394
- package/src/crypto/eax.js +0 -172
- package/src/crypto/gcm.js +0 -141
- package/src/crypto/hash/index.js +0 -163
- package/src/crypto/hash/md5.js +0 -205
- package/src/crypto/index.js +0 -57
- package/src/crypto/ocb.js +0 -274
- package/src/crypto/pkcs1.js +0 -170
- package/src/crypto/pkcs5.js +0 -55
- package/src/crypto/public_key/dsa.js +0 -188
- package/src/crypto/public_key/elgamal.js +0 -137
- package/src/crypto/public_key/elliptic/curves.js +0 -385
- package/src/crypto/public_key/elliptic/ecdh.js +0 -414
- package/src/crypto/public_key/elliptic/ecdsa.js +0 -348
- package/src/crypto/public_key/elliptic/eddsa.js +0 -119
- package/src/crypto/public_key/elliptic/index.js +0 -34
- package/src/crypto/public_key/elliptic/indutnyKey.js +0 -85
- package/src/crypto/public_key/index.js +0 -28
- package/src/crypto/public_key/prime.js +0 -275
- package/src/crypto/public_key/rsa.js +0 -597
- package/src/crypto/random.js +0 -145
- package/src/crypto/signature.js +0 -137
- package/src/encoding/armor.js +0 -433
- package/src/encoding/base64.js +0 -96
- package/src/enums.js +0 -493
- package/src/hkp.js +0 -89
- package/src/index.js +0 -161
- package/src/key/factory.js +0 -326
- package/src/key/helper.js +0 -378
- package/src/key/index.js +0 -32
- package/src/key/key.js +0 -888
- package/src/key/subkey.js +0 -187
- package/src/key/user.js +0 -230
- package/src/keyring/index.js +0 -12
- package/src/keyring/keyring.js +0 -229
- package/src/keyring/localstore.js +0 -119
- package/src/lightweight_helper.js +0 -26
- package/src/message.js +0 -825
- package/src/openpgp.js +0 -717
- package/src/packet/all_packets.js +0 -116
- package/src/packet/clone.js +0 -189
- package/src/packet/compressed.js +0 -194
- package/src/packet/index.js +0 -20
- package/src/packet/literal.js +0 -168
- package/src/packet/marker.js +0 -62
- package/src/packet/one_pass_signature.js +0 -156
- package/src/packet/packet.js +0 -300
- package/src/packet/packetlist.js +0 -232
- package/src/packet/public_key.js +0 -280
- package/src/packet/public_key_encrypted_session_key.js +0 -161
- package/src/packet/public_subkey.js +0 -44
- package/src/packet/secret_key.js +0 -468
- package/src/packet/secret_subkey.js +0 -41
- package/src/packet/signature.js +0 -786
- package/src/packet/sym_encrypted_aead_protected.js +0 -189
- package/src/packet/sym_encrypted_integrity_protected.js +0 -139
- package/src/packet/sym_encrypted_session_key.js +0 -204
- package/src/packet/symmetrically_encrypted.js +0 -118
- package/src/packet/trust.js +0 -35
- package/src/packet/user_attribute.js +0 -94
- package/src/packet/userid.js +0 -87
- package/src/polyfills.js +0 -64
- package/src/signature.js +0 -73
- package/src/type/ecdh_symkey.js +0 -69
- package/src/type/kdf_params.js +0 -114
- package/src/type/keyid.js +0 -110
- package/src/type/mpi.js +0 -138
- package/src/type/oid.js +0 -110
- package/src/type/s2k.js +0 -203
- package/src/util.js +0 -836
- package/src/wkd.js +0 -84
- package/src/worker/async_proxy.js +0 -190
- package/src/worker/worker.js +0 -167
- package/test/crypto/aes_kw.js +0 -57
- package/test/crypto/cipher/aes.js +0 -86
- package/test/crypto/cipher/blowfish.js +0 -58
- package/test/crypto/cipher/cast5.js +0 -25
- package/test/crypto/cipher/des.js +0 -143
- package/test/crypto/cipher/index.js +0 -7
- package/test/crypto/cipher/twofish.js +0 -71
- package/test/crypto/crypto.js +0 -383
- package/test/crypto/eax.js +0 -150
- package/test/crypto/ecdh.js +0 -359
- package/test/crypto/elliptic.js +0 -251
- package/test/crypto/elliptic_data.js +0 -102
- package/test/crypto/hash/index.js +0 -5
- package/test/crypto/hash/md5.js +0 -16
- package/test/crypto/hash/ripemd.js +0 -14
- package/test/crypto/hash/sha.js +0 -20
- package/test/crypto/index.js +0 -14
- package/test/crypto/ocb.js +0 -183
- package/test/crypto/pkcs5.js +0 -39
- package/test/crypto/random.js +0 -79
- package/test/crypto/rsa.js +0 -180
- package/test/crypto/validate.js +0 -387
- package/test/general/armor.js +0 -408
- package/test/general/brainpool.js +0 -360
- package/test/general/decompression.js +0 -60
- package/test/general/ecc_nist.js +0 -115
- package/test/general/ecc_secp256k1.js +0 -242
- package/test/general/forwarding.js +0 -43
- package/test/general/hkp.js +0 -165
- package/test/general/index.js +0 -20
- package/test/general/key.js +0 -3491
- package/test/general/keyring.js +0 -336
- package/test/general/oid.js +0 -39
- package/test/general/openpgp.js +0 -2577
- package/test/general/packet.js +0 -950
- package/test/general/signature.js +0 -1715
- package/test/general/streaming.js +0 -944
- package/test/general/testInputs.js +0 -18
- package/test/general/util.js +0 -183
- package/test/general/wkd.js +0 -48
- package/test/general/x25519.js +0 -556
- package/test/unittests.js +0 -64
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/* globals tryTests: true */
|
|
2
|
-
|
|
3
|
-
const openpgp = typeof window !== 'undefined' && window.openpgp ? window.openpgp : require('../../dist/openpgp');
|
|
4
|
-
|
|
5
|
-
const chai = require('chai');
|
|
6
|
-
chai.use(require('chai-as-promised'));
|
|
7
|
-
|
|
8
|
-
const expect = chai.expect;
|
|
9
|
-
|
|
10
|
-
describe('Elliptic Curve Cryptography for secp256k1 curve @lightweight', function () {
|
|
11
|
-
if (!openpgp.config.use_indutny_elliptic && !openpgp.util.getNodeCrypto()) {
|
|
12
|
-
before(function() {
|
|
13
|
-
this.skip();
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
const data = {
|
|
17
|
-
romeo: {
|
|
18
|
-
id: 'c2b12389b401a43d',
|
|
19
|
-
pass: 'juliet',
|
|
20
|
-
pub: [
|
|
21
|
-
'-----BEGIN PGP PUBLIC KEY BLOCK-----',
|
|
22
|
-
'Version: OpenPGP.js 1.3+secp256k1',
|
|
23
|
-
'Comment: http://openpgpjs.org',
|
|
24
|
-
'',
|
|
25
|
-
'xk8EVjET2xMFK4EEAAoCAwS/zT2gefLhEnISXN3rvdV3eD6MVrPwxNMAR+LM',
|
|
26
|
-
'ZzFO1gdtZbf7XQSZP02CYQe3YFrNQYYuJ4CGkTvOVJSV+yrAzS5Sb21lbyBN',
|
|
27
|
-
'b250YWd1ZSAoc2VjcDI1NmsxKSA8cm9tZW9AZXhhbXBsZS5uZXQ+wnIEEBMI',
|
|
28
|
-
'ACQFAlYxE9sFCwkIBwMJEMKxI4m0AaQ9AxUICgMWAgECGwMCHgEAAOjHAQDM',
|
|
29
|
-
'y6EJPFayCgI4ZSmZlSue3xFShj9y6hZTLZqPJquspQD+MMT00a2Cicnbhrd1',
|
|
30
|
-
'8SQUIYRQ//I7oXVoxZN5MA4rmOHOUwRWMRPbEgUrgQQACgIDBLPZgGC257Ra',
|
|
31
|
-
'Z9Bg3ij9OgSoJGwqIu03SfQMTnR2crHkAHqLaUImz/lwhsL/V499zXZ2gEmf',
|
|
32
|
-
'oKCacroXNDM85xUDAQgHwmEEGBMIABMFAlYxE9sJEMKxI4m0AaQ9AhsMAADk',
|
|
33
|
-
'gwEA4B3lysFe/3+KE/PgCSZkUfx7n7xlKqMiqrX+VNyPej8BAMQJgtMVdslQ',
|
|
34
|
-
'HLr5fhoGnRots3JSC0j20UQQOKVOXaW3',
|
|
35
|
-
'=VpL9',
|
|
36
|
-
'-----END PGP PUBLIC KEY BLOCK-----'
|
|
37
|
-
].join('\n'),
|
|
38
|
-
priv: [
|
|
39
|
-
'-----BEGIN PGP PRIVATE KEY BLOCK-----',
|
|
40
|
-
'Version: OpenPGP.js 1.3+secp256k1',
|
|
41
|
-
'Comment: http://openpgpjs.org',
|
|
42
|
-
'',
|
|
43
|
-
'xaIEVjET2xMFK4EEAAoCAwS/zT2gefLhEnISXN3rvdV3eD6MVrPwxNMAR+LM',
|
|
44
|
-
'ZzFO1gdtZbf7XQSZP02CYQe3YFrNQYYuJ4CGkTvOVJSV+yrA/gkDCILD3FP2',
|
|
45
|
-
'D6eRYNWhI+QTFWAGDw+pIhtXQ/p0zZgK6HSk68Fox0tH6TlGtPmtULkPExs0',
|
|
46
|
-
'cnIdAVSMHI+SnZ9lIeAykAcFoqJYIO5p870XbjzNLlJvbWVvIE1vbnRhZ3Vl',
|
|
47
|
-
'IChzZWNwMjU2azEpIDxyb21lb0BleGFtcGxlLm5ldD7CcgQQEwgAJAUCVjET',
|
|
48
|
-
'2wULCQgHAwkQwrEjibQBpD0DFQgKAxYCAQIbAwIeAQAA6McBAMzLoQk8VrIK',
|
|
49
|
-
'AjhlKZmVK57fEVKGP3LqFlMtmo8mq6ylAP4wxPTRrYKJyduGt3XxJBQhhFD/',
|
|
50
|
-
'8juhdWjFk3kwDiuY4cemBFYxE9sSBSuBBAAKAgMEs9mAYLbntFpn0GDeKP06',
|
|
51
|
-
'BKgkbCoi7TdJ9AxOdHZyseQAeotpQibP+XCGwv9Xj33NdnaASZ+goJpyuhc0',
|
|
52
|
-
'MzznFQMBCAf+CQMIqp5StLTK+lBgqmaJ8/64E+8+OJVOgzk8EoRp8bS9IEac',
|
|
53
|
-
'VYu2i8ARjAF3sqwGZ5hxxsniORcjQUghf+n+NwEm9LUWfbAGUlT4YfSIq5pV',
|
|
54
|
-
'rsJhBBgTCAATBQJWMRPbCRDCsSOJtAGkPQIbDAAA5IMBAOAd5crBXv9/ihPz',
|
|
55
|
-
'4AkmZFH8e5+8ZSqjIqq1/lTcj3o/AQDECYLTFXbJUBy6+X4aBp0aLbNyUgtI',
|
|
56
|
-
'9tFEEDilTl2ltw==',
|
|
57
|
-
'=C3TW',
|
|
58
|
-
'-----END PGP PRIVATE KEY BLOCK-----'
|
|
59
|
-
].join('\n'),
|
|
60
|
-
message: 'Shall I hear more, or shall I speak at this?\n'
|
|
61
|
-
},
|
|
62
|
-
juliet: {
|
|
63
|
-
id: '64116021959bdfe0',
|
|
64
|
-
pass: 'romeo',
|
|
65
|
-
pub: [
|
|
66
|
-
'-----BEGIN PGP PUBLIC KEY BLOCK-----',
|
|
67
|
-
'Version: OpenPGP.js 1.3+secp256k1',
|
|
68
|
-
'Comment: http://openpgpjs.org',
|
|
69
|
-
'',
|
|
70
|
-
'xk8EVjEUUBMFK4EEAAoCAwQRNz0sbftAv3SSE0fm7vE0pD96NDA3YtGdObaj',
|
|
71
|
-
'D0DNUMBL1eoLl5/qdJUc/16xbZLkL2saMsbqtPn/iuahz6bkzS9KdWxpZXQg',
|
|
72
|
-
'Q2FwdWxldCAoc2VjcDI1NmsxKSA8anVsaWV0QGV4YW1wbGUubmV0PsJyBBAT',
|
|
73
|
-
'CAAkBQJWMRRRBQsJCAcDCRBkEWAhlZvf4AMVCAoDFgIBAhsDAh4BAAAr1wEA',
|
|
74
|
-
'+39TqKy/tks7dPlEYw+IYkFCW99a60kiSCjLBPxEgNUA/3HeLDP/XbrgklUs',
|
|
75
|
-
'DFOy20aHE7M6i/cFXLLxDJmN6BF3zlMEVjEUUBIFK4EEAAoCAwTQ02rHHP/d',
|
|
76
|
-
'kR4W7y5BY4kRtoNc/HxUloOpxA8svfmxwOoP5stCS/lInD8K+7nSEiPr84z9',
|
|
77
|
-
'EQ47LMjiT1zK2mHZAwEIB8JhBBgTCAATBQJWMRRRCRBkEWAhlZvf4AIbDAAA',
|
|
78
|
-
'7FoA/1Y4xDYO49u21I7aqjPyTygLoObdLMAtK6xht+DDc0YKAQDNp2wv0HOJ',
|
|
79
|
-
'+0kjoUNu6PRIll/jMgTVAXn0Mov6HqJ95A==',
|
|
80
|
-
'=ISmy',
|
|
81
|
-
'-----END PGP PUBLIC KEY BLOCK-----'
|
|
82
|
-
].join('\n'),
|
|
83
|
-
priv: [
|
|
84
|
-
'-----BEGIN PGP PRIVATE KEY BLOCK-----',
|
|
85
|
-
'Version: OpenPGP.js 1.3+secp256k1',
|
|
86
|
-
'Comment: http://openpgpjs.org',
|
|
87
|
-
'',
|
|
88
|
-
'xaIEVjEUUBMFK4EEAAoCAwQRNz0sbftAv3SSE0fm7vE0pD96NDA3YtGdObaj',
|
|
89
|
-
'D0DNUMBL1eoLl5/qdJUc/16xbZLkL2saMsbqtPn/iuahz6bk/gkDCD9EH0El',
|
|
90
|
-
'7o9qYIbX56Ri3VlfCbpQgy1cVx9RETKI4guW9vUu6SeY2NhXASvfK+zgpLzO',
|
|
91
|
-
'j+hv2a+re549UKBdFbPEcyPUQKo2YJ1AfdAfZcDNL0p1bGlldCBDYXB1bGV0',
|
|
92
|
-
'IChzZWNwMjU2azEpIDxqdWxpZXRAZXhhbXBsZS5uZXQ+wnIEEBMIACQFAlYx',
|
|
93
|
-
'FFEFCwkIBwMJEGQRYCGVm9/gAxUICgMWAgECGwMCHgEAACvXAQD7f1OorL+2',
|
|
94
|
-
'Szt0+URjD4hiQUJb31rrSSJIKMsE/ESA1QD/cd4sM/9duuCSVSwMU7LbRocT',
|
|
95
|
-
'szqL9wVcsvEMmY3oEXfHpgRWMRRQEgUrgQQACgIDBNDTascc/92RHhbvLkFj',
|
|
96
|
-
'iRG2g1z8fFSWg6nEDyy9+bHA6g/my0JL+UicPwr7udISI+vzjP0RDjssyOJP',
|
|
97
|
-
'XMraYdkDAQgH/gkDCA4aIC5h7thWYEM9KvwVEN4/rAYOWVNzUN2K7l25M+NZ',
|
|
98
|
-
'1/mEAjEgEW9yPufKtF3hILeNdPBwh6Gcw/0gOJ/9yJwKk7tqwyS/gKF1+VDm',
|
|
99
|
-
'X0LCYQQYEwgAEwUCVjEUUQkQZBFgIZWb3+ACGwwAAOxaAP9WOMQ2DuPbttSO',
|
|
100
|
-
'2qoz8k8oC6Dm3SzALSusYbfgw3NGCgEAzadsL9BziftJI6FDbuj0SJZf4zIE',
|
|
101
|
-
'1QF59DKL+h6ifeQ=',
|
|
102
|
-
'=QvXN',
|
|
103
|
-
'-----END PGP PRIVATE KEY BLOCK-----'
|
|
104
|
-
].join('\n'),
|
|
105
|
-
message: 'O Romeo, Romeo! Wherefore art thou Romeo?\n',
|
|
106
|
-
message_signed: [
|
|
107
|
-
'-----BEGIN PGP SIGNED MESSAGE-----',
|
|
108
|
-
'Hash: SHA256',
|
|
109
|
-
'',
|
|
110
|
-
'O Romeo, Romeo! Wherefore art thou Romeo?',
|
|
111
|
-
'',
|
|
112
|
-
'-----BEGIN PGP SIGNATURE-----',
|
|
113
|
-
'Version: OpenPGP.js v3.1.0',
|
|
114
|
-
'Comment: https://openpgpjs.org',
|
|
115
|
-
'',
|
|
116
|
-
'wl4EARMIABAFAltbFFMJEGQRYCGVm9/gAAAjugD/W/OZ++qiNlhy08OOflAN',
|
|
117
|
-
'rjjX3rknSZyUkr96HD4VWVsBAPL9QjyHI3714cdkQmwYGiG8TVrtPetnqHho',
|
|
118
|
-
'Ppmby7/I',
|
|
119
|
-
'=IyBz',
|
|
120
|
-
'-----END PGP SIGNATURE-----'
|
|
121
|
-
].join('\n'),
|
|
122
|
-
message_encrypted: [
|
|
123
|
-
'-----BEGIN PGP MESSAGE-----',
|
|
124
|
-
'Version: GnuPG v2',
|
|
125
|
-
'Comment: GnuPG v2.1+libgcrypt-1.7',
|
|
126
|
-
'',
|
|
127
|
-
'hH4DDYFqRW5CSpsSAgMERfIYgKzriOCHTTQnWhM4VZ6cLjrjJbOaW1VuCfeN03d+',
|
|
128
|
-
'yzhW1Sm1BYYdqxPE0rvjvGfD8VmMB6etaHQsrDQflzA+vGeVa9Mn/wyKq4+j13ur',
|
|
129
|
-
'NOoUhDKX27+LEBNfho6bbEN72J7z3E5/+wVr+wEt3bLSwBcBvuNNkvGCpE19/AmL',
|
|
130
|
-
'GP2lmjE6O9VfiW0o8sxfa+hPEq2A+6DxvMhxi2YPS0f9MMPqn5NFx2PCIGdC0+xY',
|
|
131
|
-
'f0BXl1atBO1z6UXTC9aHH7UULKdynr4nUEkDa3DJW/feCSC6rQxTikn/Gf4341qQ',
|
|
132
|
-
'aiwv66jhgJSdB+2+JrHfh6Znvv2fhl3SQl8K0CiG8Q0QubWdlQwNaNSOmgH7v3T8',
|
|
133
|
-
'j5FhrMbD3Z+TPlrNjJqidAV28XwSBFvhw8Jf5WpaewOxVlxLjUHnnkUGHyvfdEr/',
|
|
134
|
-
'DP/V1yLuBUZuRg==',
|
|
135
|
-
'=GEAB',
|
|
136
|
-
'-----END PGP MESSAGE-----'
|
|
137
|
-
].join('\n')
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
async function load_pub_key(name) {
|
|
141
|
-
if (data[name].pub_key) {
|
|
142
|
-
return data[name].pub_key;
|
|
143
|
-
}
|
|
144
|
-
const pub = await openpgp.key.readArmored(data[name].pub);
|
|
145
|
-
expect(pub).to.exist;
|
|
146
|
-
expect(pub.err).to.not.exist;
|
|
147
|
-
expect(pub.keys).to.have.length(1);
|
|
148
|
-
expect(pub.keys[0].getKeyId().toHex()).to.equal(data[name].id);
|
|
149
|
-
data[name].pub_key = pub.keys[0];
|
|
150
|
-
return data[name].pub_key;
|
|
151
|
-
}
|
|
152
|
-
async function load_priv_key(name) {
|
|
153
|
-
if (data[name].priv_key) {
|
|
154
|
-
return data[name].priv_key;
|
|
155
|
-
}
|
|
156
|
-
const pk = await openpgp.key.readArmored(data[name].priv);
|
|
157
|
-
expect(pk).to.exist;
|
|
158
|
-
expect(pk.err).to.not.exist;
|
|
159
|
-
expect(pk.keys).to.have.length(1);
|
|
160
|
-
expect(pk.keys[0].getKeyId().toHex()).to.equal(data[name].id);
|
|
161
|
-
expect(await pk.keys[0].decrypt(data[name].pass)).to.be.true;
|
|
162
|
-
data[name].priv_key = pk.keys[0];
|
|
163
|
-
return data[name].priv_key;
|
|
164
|
-
}
|
|
165
|
-
it('Load public key', async function () {
|
|
166
|
-
const romeoPublic = await load_pub_key('romeo');
|
|
167
|
-
expect(romeoPublic.users[0].userId.name).to.equal('Romeo Montague');
|
|
168
|
-
expect(romeoPublic.users[0].userId.email).to.equal('romeo@example.net');
|
|
169
|
-
expect(romeoPublic.users[0].userId.comment).to.equal('secp256k1');
|
|
170
|
-
const julietPublic = await load_pub_key('juliet');
|
|
171
|
-
expect(julietPublic.users[0].userId.name).to.equal('Juliet Capulet');
|
|
172
|
-
expect(julietPublic.users[0].userId.email).to.equal('juliet@example.net');
|
|
173
|
-
expect(julietPublic.users[0].userId.comment).to.equal('secp256k1');
|
|
174
|
-
});
|
|
175
|
-
it('Load private key', async function () {
|
|
176
|
-
await load_priv_key('romeo');
|
|
177
|
-
await load_priv_key('juliet');
|
|
178
|
-
return true;
|
|
179
|
-
});
|
|
180
|
-
it('Verify clear signed message', async function () {
|
|
181
|
-
const pub = await load_pub_key('juliet');
|
|
182
|
-
const msg = await openpgp.cleartext.readArmored(data.juliet.message_signed);
|
|
183
|
-
return openpgp.verify({publicKeys: [pub], message: msg}).then(function(result) {
|
|
184
|
-
expect(result).to.exist;
|
|
185
|
-
expect(result.data).to.equal(data.juliet.message);
|
|
186
|
-
expect(result.signatures).to.have.length(1);
|
|
187
|
-
expect(result.signatures[0].valid).to.be.true;
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
it('Sign message', async function () {
|
|
191
|
-
const romeoPrivate = await load_priv_key('romeo');
|
|
192
|
-
const signed = await openpgp.sign({privateKeys: [romeoPrivate], message: openpgp.cleartext.fromText(data.romeo.message)});
|
|
193
|
-
const romeoPublic = await load_pub_key('romeo');
|
|
194
|
-
const msg = await openpgp.cleartext.readArmored(signed.data);
|
|
195
|
-
const result = await openpgp.verify({publicKeys: [romeoPublic], message: msg});
|
|
196
|
-
|
|
197
|
-
expect(result).to.exist;
|
|
198
|
-
expect(result.data).to.equal(data.romeo.message);
|
|
199
|
-
expect(result.signatures).to.have.length(1);
|
|
200
|
-
expect(result.signatures[0].valid).to.be.true;
|
|
201
|
-
});
|
|
202
|
-
it('Decrypt and verify message', async function () {
|
|
203
|
-
const juliet = await load_pub_key('juliet');
|
|
204
|
-
const romeo = await load_priv_key('romeo');
|
|
205
|
-
const msg = await openpgp.message.readArmored(data.juliet.message_encrypted);
|
|
206
|
-
const result = await openpgp.decrypt({privateKeys: romeo, publicKeys: [juliet], message: msg});
|
|
207
|
-
|
|
208
|
-
expect(result).to.exist;
|
|
209
|
-
expect(result.data).to.equal(data.juliet.message);
|
|
210
|
-
expect(result.signatures).to.have.length(1);
|
|
211
|
-
expect(result.signatures[0].valid).to.be.true;
|
|
212
|
-
});
|
|
213
|
-
it('Encrypt and sign message', async function () {
|
|
214
|
-
const romeoPrivate = await load_priv_key('romeo');
|
|
215
|
-
const julietPublic = await load_pub_key('juliet');
|
|
216
|
-
const encrypted = await openpgp.encrypt({publicKeys: [julietPublic], privateKeys: [romeoPrivate], message: openpgp.message.fromText(data.romeo.message)});
|
|
217
|
-
|
|
218
|
-
const message = await openpgp.message.readArmored(encrypted.data);
|
|
219
|
-
const romeoPublic = await load_pub_key('romeo');
|
|
220
|
-
const julietPrivate = await load_priv_key('juliet');
|
|
221
|
-
const result = await openpgp.decrypt({privateKeys: julietPrivate, publicKeys: [romeoPublic], message: message});
|
|
222
|
-
|
|
223
|
-
expect(result).to.exist;
|
|
224
|
-
expect(result.data).to.equal(data.romeo.message);
|
|
225
|
-
expect(result.signatures).to.have.length(1);
|
|
226
|
-
expect(result.signatures[0].valid).to.be.true;
|
|
227
|
-
});
|
|
228
|
-
it('Generate key', function () {
|
|
229
|
-
const options = {
|
|
230
|
-
userIds: {name: "Hamlet (secp256k1)", email: "hamlet@example.net"},
|
|
231
|
-
curve: "secp256k1",
|
|
232
|
-
passphrase: "ophelia"
|
|
233
|
-
};
|
|
234
|
-
return openpgp.generateKey(options).then(function (key) {
|
|
235
|
-
expect(key).to.exist;
|
|
236
|
-
expect(key.key).to.exist;
|
|
237
|
-
expect(key.key.primaryKey).to.exist;
|
|
238
|
-
expect(key.privateKeyArmored).to.exist;
|
|
239
|
-
expect(key.publicKeyArmored).to.exist;
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
});
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
const openpgp = typeof window !== 'undefined' && window.openpgp ? window.openpgp : require('../../dist/openpgp');
|
|
2
|
-
|
|
3
|
-
const expect = require('chai').expect;
|
|
4
|
-
|
|
5
|
-
const charlieKeyArmored = `-----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
6
|
-
Version: OpenPGP.js v4.10.4
|
|
7
|
-
Comment: https://openpgpjs.org
|
|
8
|
-
|
|
9
|
-
xVgEXqG7KRYJKwYBBAHaRw8BAQdA/q4cs9Pwms3R4trjUd7YyrsRYdQHC9wI
|
|
10
|
-
MqLdefob4KUAAQDfy9e8qleM+a1EnPCjDpm69FIY769mo/dpwYlkuI2T/RQt
|
|
11
|
-
zSlCb2IgKEZvcndhcmRlZCB0byBDaGFybGllKSA8aW5mb0Bib2IuY29tPsJ4
|
|
12
|
-
BBAWCgAgBQJeobspBgsJBwgDAgQVCAoCBBYCAQACGQECGwMCHgEACgkQN2cz
|
|
13
|
-
+W7U/RnS8AEArtRly8vW6uUSng9EJ0iuIwJpwgZfykSLl/t4u3HTBZ4BALzY
|
|
14
|
-
3XsnvKtZZVvaKvFvCUu/2NvC/1yw2wJk9wGbCwEOx3YEXqG7KRIKKwYBBAGX
|
|
15
|
-
VQEFAQEHQCGxSJahhDUdTKnlqT3UIn3rXn5i47I4MsG4kSWfTwcOHAIIBwPe
|
|
16
|
-
7fJ+kOrMea9aIUeYtGpUzABa9gMBCAcAAP95QjbjU7kyugp39vhi60YW5T8p
|
|
17
|
-
Me0kKFCWzmSYzstgGBBbwmEEGBYIAAkFAl6huykCGwwACgkQN2cz+W7U/RkP
|
|
18
|
-
WQD+KcU1HKn6PkVJKxg6RS0Q7RcCZwaQ1DyEyjUoneMCRAgA/jUl9uvPAoCS
|
|
19
|
-
3+4Wqg9Q//zOwXNImimIPIdpWNXYZJID
|
|
20
|
-
=FVvG
|
|
21
|
-
-----END PGP PRIVATE KEY BLOCK-----`;
|
|
22
|
-
|
|
23
|
-
const fwdCiphertextArmored = `-----BEGIN PGP MESSAGE-----
|
|
24
|
-
Version: OpenPGP.js v4.10.4
|
|
25
|
-
Comment: https://openpgpjs.org
|
|
26
|
-
|
|
27
|
-
wV4Dog8LAQLriGUSAQdA/I6k0IvGxyNG2SdSDHrv3bZQDWH18OhTWkcmSF0M
|
|
28
|
-
Bxcw3w8KMjr2v69ro5cyZztymEXi5RemRx+oPZGKIZ9N5T+26TaOltH7h8eR
|
|
29
|
-
Mu4H03Lp0k4BRsjpFNUBL3HsAuMIemNf4369g+szlpuzjNE1KQhQzZbh87AU
|
|
30
|
-
T7KAKygwz0EpOWpx2RHtshDy/bZ1EC8Ia4qDAebameIqCU929OmY1uI=
|
|
31
|
-
=3iIr
|
|
32
|
-
-----END PGP MESSAGE-----`;
|
|
33
|
-
|
|
34
|
-
describe('Forwarding', function() {
|
|
35
|
-
it('can decrypt forwarded ciphertext', async function() {
|
|
36
|
-
const charlieKey = (await openpgp.key.readArmored(charlieKeyArmored)).keys[0];
|
|
37
|
-
const msg = await openpgp.message.readArmored(fwdCiphertextArmored);
|
|
38
|
-
const result = await openpgp.decrypt({ privateKeys: charlieKey, message: msg });
|
|
39
|
-
|
|
40
|
-
expect(result).to.exist;
|
|
41
|
-
expect(result.data).to.equal('Hello Bob, hello world');
|
|
42
|
-
});
|
|
43
|
-
});
|
package/test/general/hkp.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
const openpgp = typeof window !== 'undefined' && window.openpgp ? window.openpgp : require('../../dist/openpgp');
|
|
2
|
-
|
|
3
|
-
const chai = require('chai');
|
|
4
|
-
|
|
5
|
-
const { expect } = chai;
|
|
6
|
-
|
|
7
|
-
describe.skip('HKP unit tests', function() {
|
|
8
|
-
this.timeout(60000);
|
|
9
|
-
|
|
10
|
-
let hkp;
|
|
11
|
-
|
|
12
|
-
const pub_key = '-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n' +
|
|
13
|
-
'Version: SKS 1.1.5\r\n' +
|
|
14
|
-
'Comment: Hostname: keyserver.ubuntu.com\r\n' +
|
|
15
|
-
'\r\n' +
|
|
16
|
-
'mQENBFUUKBcBCACwrPNnlBKPnwPXcjIdJUREoeeZx9Zw2mHPqZ3XJxq/zW38RUQgbTmjJjJv\r\n' +
|
|
17
|
-
'3vO/HtXS76lTZOkWUjbLosEzKaI91phbD1SxJd4HhbRSaFpQc4yWYPmt7F7QFSYf4zGA5BRp\r\n' +
|
|
18
|
-
'yRcxyQ75RklyYfndYna42jVEbW7UA753e2iDdSn3KQTKdkL+tZegUw+9vxY75X44P31rGogK\r\n' +
|
|
19
|
-
'N0mEYVWWjZ+++0uZOSO0ZKwfDf65AkI598c4Wh3qXEZvKyC75YQdDNNw7KBlTbrqok0VptS+\r\n' +
|
|
20
|
-
'4wok309KPbmRf5e/alUp+/B3vxOs7I7QStpjoh8jl64LhzMGlUYvpJDtC3gytK3KN9jTABEB\r\n' +
|
|
21
|
-
'AAG0KVRlc3QgVXNlciA8c2FmZXdpdGhtZS50ZXN0dXNlckBnbWFpbC5jb20+iQEyBBABCAAm\r\n' +
|
|
22
|
-
'BQJVFCgXBgsJCAcDAgkQRTDnvxQqhQQEFQgCCgMWAgECGwMCHgEAAAk9CACsT8cmBhWfNdEB\r\n' +
|
|
23
|
-
'jTwiCJUwnE6YzYmxMqDkkkDXThZa45g0Mh2vJPSNw+kjdb8KM1L9KrqGwyN7DbYvRhEZTCKN\r\n' +
|
|
24
|
-
'1Z5Xk1DfTlqHyXbUvFedP7kO6d/tdH3e6uwSz/ZaDnV7eAO9Ixh9OfZbBweFeCo/LzKSkEUa\r\n' +
|
|
25
|
-
'bKNiZd925LfGhif7FLXlNeOFlTZ3PLf4RRtvQzWZsEWl3IlBJdg8NP4EdZPjoLC//o8gMuNQ\r\n' +
|
|
26
|
-
'IxnHc+ZFGAJx/KfPy4el+4byvZ/1dkEO9XLbArJBKI+7gJY4PRRzcOyiHd2CHjW1F8EbJ1wB\r\n' +
|
|
27
|
-
'WSZhofi6ppTVUjVvNOZo4C7fyoYx4yOJgQRX4b2duQENBFUUKBcBCADGIbvJXq4eyr2ZslA3\r\n' +
|
|
28
|
-
'AJFIbu7GCkuz5N1ksaTIlgSa3mI20mkiUqdaqTT6K7of+G/QjBSHAgeP6Z7yJSXiQVMW+be5\r\n' +
|
|
29
|
-
'+9KWHL2MpQQYF5aRQkxyR8pMa5IbZahkYwxhcRMsXDEX89KJ8Bi8s/GkeOCQdo6f1sP3Jx1f\r\n' +
|
|
30
|
-
'C1WRNNrQZrpHnGn+aMIgjmWxmGEIHhxCfsEEiOQsXAcL3AMA+45/LN0tvmZ1pyuT9xZNMDdj\r\n' +
|
|
31
|
-
'V7Std+BvRYfonRP003PHJnAlWFGKi1296sM0ZKRyQtebIved/LA9nbGny7UkwIXQS1dNbB6g\r\n' +
|
|
32
|
-
'+ztrxGuQSGLicB1pX7EBv+5A1eQm/+fEwfRNABEBAAGJAR8EGAEIABMFAlUUKBoJEEUw578U\r\n' +
|
|
33
|
-
'KoUEAhsMAABarAf/YT789B5QLbDnLamkutiYwEZeUYrKppbK6vxivNXihRaxeaAzTT1vW4yI\r\n' +
|
|
34
|
-
'BlKTzon58wQqfsipUCQyFHgmYtdQ5JGUaOoamHCioh3yT4z2rhA/PMHdFw2njzB7OsUO50yJ\r\n' +
|
|
35
|
-
'4bNBLVa7t4WnQoRZHC4jCSyhVMNPX3tMkD4si5PgEyL3Sz29/1fPc+BPxjPQHRGk/kA1j/qR\r\n' +
|
|
36
|
-
'pSRgO+w2ytdLoHk6a1FF6yen3wzLzSpciaTFaokIVS+Y7HarM9/TcgCPKQ3HbrtBQwtlyWtv\r\n' +
|
|
37
|
-
'OAvlmaptvt4+EU4Cxz5THVCI0SwaRVyHckThWFPVMbNVLLZBYx7DKPU7nvT7Mqh5e6r975kB\r\n' +
|
|
38
|
-
'DQRVFBHJAQgAwt0+JmQHKg6tcORZeQJHYMAwyLnwSj+2OaaoVcjRzjOcrhm66gCCQe8ZgKFm\r\n' +
|
|
39
|
-
'X1rELXQaVq/RVabj3Kv9Lu1J/NKzOcqBRGFkL7VLj0v78XfBZK/pdedhn1mBAu85vpixrFGv\r\n' +
|
|
40
|
-
'sa6YBGepEP/Wggu+iei+WXlbdqln00xg9bj1MTKf7bB9a7mmyJ7/F7mWP6qsIT6te5ponr4N\r\n' +
|
|
41
|
-
'xDd9Nea72/VpQTAclVWPgHSplahZWwTniZMTDk2hInj1n4oLCZAGAtWLC8mHkIIJwd8HE+oF\r\n' +
|
|
42
|
-
'uHt2vkAC6tZSqP65lSkgS6BMtrmYa7k17xaDV5Loe5I556olaSdSgM4VS0ANhRjtpwARAQAB\r\n' +
|
|
43
|
-
'tClUZXN0IFVzZXIgPHNhZmV3aXRobWUudGVzdHVzZXJAZ21haWwuY29tPokBMgQQAQgAJgUC\r\n' +
|
|
44
|
-
'VRQRyQYLCQgHAwIJEHDV2tCJPJkABBUIAgoDFgIBAhsDAh4BAABlAAf/ct2ilGdiLPrgIEDi\r\n' +
|
|
45
|
-
'4axjiYE8VYGrrd397QNtnpz203m3rOkvrx7R9n34qX/JisuMTd3dhtRCQ1Xxmqt5x/uuoxeZ\r\n' +
|
|
46
|
-
'sRogBZx7J03sz5qIcRVoyJd4qbV1meHYxYi4WpHry/DLuicw055ZiPblHKpLbq0vWw/kl5ZT\r\n' +
|
|
47
|
-
'GDN1jddOPjMM9d7C6D82S+WqQkSrogt0KUzNoEvEy/T17nLtZwjwig2VKkZv+jJpE9cd/ykb\r\n' +
|
|
48
|
-
'ji+GoYq7srZVqIfGQLal9tGwPMRUfHkFCKWsloIoyoS1ecVMWGY4Kn0v3lbG8q5cnpBZ6djP\r\n' +
|
|
49
|
-
'nXty17SIljaWNzvJLBUoK/nCvx0mqRKJqtwN4rkBDQRVFBHJAQgA28edzb4enIWWXLe69vXx\r\n' +
|
|
50
|
-
'EjxjlzC5qRg+5qbMUWUt4ZCi2UMaNPwNLh1fJ6KxMTirPMel/UZYKHEeM8yxRHcWZlr8JXMG\r\n' +
|
|
51
|
-
'hjqVixtX+2RDGeIE+GeSS1iiB35E2+CyboZrj33qSrV8txqq4YxP/apwqEgR4sGky2w9K8DM\r\n' +
|
|
52
|
-
'ycWD4ppheA0l7SArogBlZCi9BGgILpbtyUQkvOBD5WkX/geJYGiDXhb9NDaGmKGOo9PHNKYo\r\n' +
|
|
53
|
-
'ihdkt/aODEROBexNWyuUOcugRPrWERBbCNcjN9O40wQXh2rIFZ2fmCWy8lmCsppTLf2KIv1j\r\n' +
|
|
54
|
-
'F/DA7tLhUV8Y8DYbw6uh8jj3Vyy/dmotpQARAQABiQEfBBgBCAATBQJVFBHKCRBw1drQiTyZ\r\n' +
|
|
55
|
-
'AAIbDAAAD7wH/ius77e2baOwvMz9i70o83x0iAvyTthQDLyGtHG5PgvAS/9cLzkp+NEzjlxV\r\n' +
|
|
56
|
-
'kxaqugoxQkRdaJ7tFZNil5EekB//3xBlxJQ7J+TMfWM54THLV59aA8CCdEA1EmrLPMcXhfCu\r\n' +
|
|
57
|
-
'hvN7HNgsvlJUAL46E70T2akkw9W88V8IEs3mD4bJ02CMst4tOdvSyHjh6RUP84Zt0zp9cX7v\r\n' +
|
|
58
|
-
'pvCeT0oO85uynrFBel9osPbfROa/YKMcHspr/k4u29Q4RyX3u6JiYA0ULAOkhYoiy/avLcCK\r\n' +
|
|
59
|
-
'ic15zPNm505J4oo30wOsW0s9I4A3gytPzB6w6E9J2Poyiop6DZU3MT8w77DLNtYNKduZAQ0E\r\n' +
|
|
60
|
-
'VRBHAwEIAKL5ppnvBXdLesWLFGHr1K7MEGWHrhRpnGgXxC4yJZy+8TS1UrV3Hf+yOKbNxxp2\r\n' +
|
|
61
|
-
'g3sLH7JW76XloDOTX4TLC5gQzRrjVKMM5MKDWssnnQTUORMz07lMSje5jwYuTh515/KqdLl5\r\n' +
|
|
62
|
-
'kBxlTZITWsWuckA/T9PcvBQTc7B+nRYtpEm5Vf+QvwpOrYXNS2zU4XVJf7XkX9LPhXySW5QI\r\n' +
|
|
63
|
-
'e7w1nbTS7J/LQFS5EajxKpJ9f63mGFAvk209YVypHncPUkUNVPbEpsvuXsRG1tz9GGNKGOqe\r\n' +
|
|
64
|
-
'WmBDi2Bx0hSUeIIo/CvoVuZv/44b5+LndbF0pv1poQumTN8KI4aM7sheBapRvGsAEQEAAbQp\r\n' +
|
|
65
|
-
'VGVzdCBVc2VyIDxzYWZld2l0aG1lLnRlc3R1c2VyQGdtYWlsLmNvbT6JATIEEAEIACYFAlUQ\r\n' +
|
|
66
|
-
'RwMGCwkIBwMCCRDtaMHoYrKKEAQVCAIKAxYCAQIbAwIeAQAAEC0H/RlB6BlhMzq7I0PZQp0s\r\n' +
|
|
67
|
-
'OwttDBqAYZp1h1MwRMeD88kEKI9cIa4lR4rfwEYv/s8sP3v602yHoNZYiLahfm63Nh2ceyKB\r\n' +
|
|
68
|
-
'c4dXsB4JUU/8Ttb8/QdSQcUBPLIFv1oMzfVVP0wfzbcwVBa1b7v8E3Hz5GdHnFKTpU5k3QH4\r\n' +
|
|
69
|
-
'/miCVhWDFI+aLWfPOX1JqBKbl6ohtSR6OoEWR3GiOkPfZj0o7CiykuiRirRXcBvPKFF+pFew\r\n' +
|
|
70
|
-
'D+sXf/OEdRn1urhXUwq3rs2eNdjZyRTkmu2ZW+Si6IWWURucq30IJZQ6F7AYGsk9skg5RwoF\r\n' +
|
|
71
|
-
'9A2c8rTLPdeD8b0KGUeXkgeY9jVRumdzmz65AQ0EVRBHAwEIAJNmS1qsTtSeSoSARQT5HEtQ\r\n' +
|
|
72
|
-
'g/9pBUzba73JHUxm/AIuz4HbJeW7a+Pke1uQXYoGSJbuQTg+jykFJzWKjeV12cmZ2X1R3b3J\r\n' +
|
|
73
|
-
'42K44txJEhHnuaP/I7ZL+3vteD/TMbdh14p23MLMmTjI9L5ig1mHpt7lBO7opyB6BX7sKpyU\r\n' +
|
|
74
|
-
'FN9KkRM3if0KXoW2dwfTAcf6bBNIav72fg9Ol49GQhuyrYewIwhEsUNkb2E/UjMn+kMoEPn+\r\n' +
|
|
75
|
-
'IsVTRa92v+SV1rag/kgUuc0ZI6em/pwKGINseymEfYzvoRDwjLmSMsE0/KJ0SwiMBz9nq6BD\r\n' +
|
|
76
|
-
'321xK1D3u1xkhm2mWQhhLzywB7Mj56MAEQEAAYkBHwQYAQgAEwUCVRBHBQkQ7WjB6GKyihAC\r\n' +
|
|
77
|
-
'GwwAAEDuCACCbLmDPmTvfm+23AfDh2LGkyCuJ1pCYT0R7xRZzL6eaKLg6gQBcs9kEiINfxqJ\r\n' +
|
|
78
|
-
'H8Th5ZZP76Jlvyq7PNtdlyroiXf7KlXvykz+7EWEynGOwrQXEBehT5bq/EDz7sfYl987WBmm\r\n' +
|
|
79
|
-
'q+lQ9shXTBWUu9Btw4ZqhahQ4Lxmb3k8E8zmXdtUxv0zuf6rtIc4katjevVq4bCdRUtloY45\r\n' +
|
|
80
|
-
'wll/cpRX6hiO9QKPBOXN1SJ35/S3R5U77nWtZ5ZupVvRBcqZgcc+dhClAeZdwu9F/8hrUUa7\r\n' +
|
|
81
|
-
'JSceM1dyJnLficr6mrSb0QC/tmxsKDk1JZyieojpoAhsloyPKxtpSDVfonsWRiqZmQENBFKO\r\n' +
|
|
82
|
-
'Ds4BB/9iOF4THsjQMY+WEpT7ShgKxj4bHzRRaQkqczS4nZvP0U3gqeqCnbpagyeKXA+bhWFQ\r\n' +
|
|
83
|
-
'W4GmXtgAoeD5PXs6AZYrw3tWNxLKu2Oe6Tp9K/XIxTMQ2wl4qZKDXHvuPsJ7cmgaWqpPyXtx\r\n' +
|
|
84
|
-
'A4zHHS3WrkI/6VzHAcI/y6x4szSBKgSuhI3hjh3s7TybUC1U6AfoQGx/S7e3WwlCOrK8GTCl\r\n' +
|
|
85
|
-
'irN/2mCPRC5wuIftnkoMfA6jK8d2OPrJ63shy5cgwHOjQg/xuk46dNS7tkvGmbaa+X0PgqSK\r\n' +
|
|
86
|
-
'B+HfYPPNS/ylg911DH9qa8BqYU2QpNh9jUKXSF+HbaOM+plWkCSAL7czV+R3ABEBAAG0LVdo\r\n' +
|
|
87
|
-
'aXRlb3V0IFVzZXIgPHNhZmV3aXRobWUudGVzdHVzZXJAZ21haWwuY29tPokBHAQQAQgAEAUC\r\n' +
|
|
88
|
-
'Uo4O2gkQ1/uT/N+/wjwAAN2cB/9gFRmAfvEQ2qz+WubmT2EsSSnjPMxzG4uyykFoa+TaZCWo\r\n' +
|
|
89
|
-
'2Xa2tQghmU103kEkQb1OEjRjpgwJYX9Kghnl8DByM686L5AXnRyHP78qRJCLXSXl0AGicboU\r\n' +
|
|
90
|
-
'Dp5sovaa4rswQceHvcdWgZ/mgHTRoiQeJddy9k+H6MPFiyFaVcFwegVsmpc+dCcC8yT+qh8Z\r\n' +
|
|
91
|
-
'IbyGRJU60PmKKN7LUusP+8DbSv39zCGJCBlVVKyA4MzdF5uM+sqTdXbKzOrT5DGdCZaox4s+\r\n' +
|
|
92
|
-
'w16Sq1rHzZKFWfQPfKLDB9pyA0ufCVRA3AF6BUi7G3ZqhZiHNhMPNvE45V/hS1PbZcfPVoUj\r\n' +
|
|
93
|
-
'E2qc1Ix1mQENBFJb6KUBCADJWTesEHR6nyxBnE7nVfdK3hQLldFHm+ilNnV57AcN+IjzyK6u\r\n' +
|
|
94
|
-
'xwTLu2E3/H47MiuglJxM6vQ1i4/S9i1GAtrTQnKrOJ5c6baPBWLbN+5bioXng+f9RLAvqJ64\r\n' +
|
|
95
|
-
'h3AWDoqt7I5BI+u7K2SJOhxExn1bVK/5uofvjnMmyyg42cMoDtH+9oBHSlFh74MKEwA2k//L\r\n' +
|
|
96
|
-
'SkM2ZFSgGv86LfZnJd0QjEvvdRk1lwVAKhTm65kGWKqjKACX9eFtzA7rC72ztASXl9VUutDO\r\n' +
|
|
97
|
-
'Ab4IdRmb1ccdxFatOFMV4XZb2JEnxIQu3f59AnnYptQ2J9Tcirw4E+XBvzb0PQz2A2ah+GRs\r\n' +
|
|
98
|
-
'sEoFABEBAAG0LVdoaXRlb3V0IFVzZXIgPHNhZmV3aXRobWUudGVzdHVzZXJAZ21haWwuY29t\r\n' +
|
|
99
|
-
'PokBHAQQAQgAEAUCUlvoqwkQaX1niADfVuwAAAr2B/9vzF2gg9VlH/iXwRVHHqDuaqQ4aja5\r\n' +
|
|
100
|
-
'rhU5rsOdhDYqjPRI8QT4EE4Ko0UyEF6UY9/T1gGpTVdFQWQk6c5tWG3+s6dPKMSlQ3oEnG+h\r\n' +
|
|
101
|
-
'DuEw4MZZa7rzWOE2kxf5AHEue730uTZ+ekmLBRk2gdJGh/O9bXktSktRgtIylLVmlH/R24ij\r\n' +
|
|
102
|
-
'CfHViQ1VxWhg7Db9YxeTpu9p0sl4EtkmfK4YczJ3H5Q+fAv8HuM9iOeWXUqxIYhdXb2e0uVd\r\n' +
|
|
103
|
-
'nUxxgC1OTbUFYBTI5D+VoJFIA3/i6OBeEGrrfg7ufB3xYdUoSVtZQq756/jmd7ffh1oGz5Di\r\n' +
|
|
104
|
-
'uw9LVuvHh8RGCH2NZY48zdfB\r\n' +
|
|
105
|
-
'=5obP\r\n' +
|
|
106
|
-
'-----END PGP PUBLIC KEY BLOCK-----';
|
|
107
|
-
|
|
108
|
-
const revocation_certificate = `-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
109
|
-
Comment: This is a revocation certificate
|
|
110
|
-
|
|
111
|
-
iQFFBCABCAAvFiEE6mWHlKTGvbGenE8BstiRuVIg7eYFAlxec9cRHQB0aGlzIGlz
|
|
112
|
-
IGEgdGVzdC4ACgkQstiRuVIg7eZkywf/QuHU6WaOGmI635xsV8GNyvOOHzDpVuzM
|
|
113
|
-
AYGIKOLf1l661aS1MIvbXGxI86a3CzLs3K9nqUS7uAZ89vhf6L8RDZSkpn2GzY3K
|
|
114
|
-
JQb0ZM+qf2TGkVDZ/wI8H/BMkJGCLbvbn6Ywk/o4GQIl/ISJPQTiC5VixayLEUQ3
|
|
115
|
-
6dnENegfEIptSOPNBOelRPfbT8tqcR6SxibjXYxlCqvdSgt7lui06vGcejl4qNgZ
|
|
116
|
-
oNMuvQNShV2G9KkPda3AZWCIWzUBuKN5UuE06u68iclH2ckEicQvnmxHnJU/BSC9
|
|
117
|
-
h3bdqlMa87hRGnWluKpJT+XRP0UGiN8UGWo8OEpdz8KbvVTCUVya4g==
|
|
118
|
-
=Wjv9
|
|
119
|
-
-----END PGP PUBLIC KEY BLOCK-----`
|
|
120
|
-
|
|
121
|
-
beforeEach(function() {
|
|
122
|
-
hkp = new openpgp.HKP(openpgp.config.keyserver);
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
afterEach(function() {});
|
|
126
|
-
|
|
127
|
-
describe('lookup', function() {
|
|
128
|
-
it('by email address should work', function() {
|
|
129
|
-
return hkp.lookup({
|
|
130
|
-
query: 'safewithme.testuser@gmail.com'
|
|
131
|
-
}).then(function(key) {
|
|
132
|
-
expect(key).to.exist;
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
it('by email address should not find a key', function() {
|
|
137
|
-
return hkp.lookup({
|
|
138
|
-
query: 'safewithme.testuse@gmail.com'
|
|
139
|
-
}).then(function(key) {
|
|
140
|
-
expect(key).to.be.undefined;
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
it('by key id should work', function() {
|
|
145
|
-
return hkp.lookup({
|
|
146
|
-
keyId: 'D7FB93FCDFBFC23C'
|
|
147
|
-
}).then(function(key) {
|
|
148
|
-
expect(key).to.exist;
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
describe('upload public key', function() {
|
|
154
|
-
it('should work', function() {
|
|
155
|
-
return hkp.upload(pub_key);
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
describe('upload revocation certificate', function() {
|
|
160
|
-
it('should work', function() {
|
|
161
|
-
return hkp.upload(revocation_certificate);
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
});
|
package/test/general/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
describe('General', function () {
|
|
2
|
-
require('./util.js');
|
|
3
|
-
require('./armor.js');
|
|
4
|
-
require('./packet.js');
|
|
5
|
-
require('./keyring.js');
|
|
6
|
-
require('./signature.js');
|
|
7
|
-
require('./key.js');
|
|
8
|
-
require('./forwarding.js');
|
|
9
|
-
require('./openpgp.js');
|
|
10
|
-
require('./hkp.js');
|
|
11
|
-
require('./wkd.js');
|
|
12
|
-
require('./oid.js');
|
|
13
|
-
require('./ecc_nist.js');
|
|
14
|
-
require('./ecc_secp256k1.js');
|
|
15
|
-
require('./x25519.js');
|
|
16
|
-
require('./brainpool.js');
|
|
17
|
-
require('./decompression.js');
|
|
18
|
-
require('./streaming.js');
|
|
19
|
-
});
|
|
20
|
-
|