Commit Graph

63 Commits

Author SHA1 Message Date
Christopher Jeffrey
8725516afb paypro: convert root certs to hash table in build file. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
cc7657d843 paypro: treat pki_data as an array. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
47e1ca5f1e minor: remove unused code. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
4dcdd3c091 paypro: temporarily disable untrusted cert error for tests. typo fix. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
f7e89b6a58 paypro: handle untrusted certs on browser and node. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
f79a31ff3c paypro: get single DER certs working. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
4ec9a247aa paypro: multiple fixes. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
24ae03247f paypro: stat using jsrsasign to convert DER to PEM and derive public keys for sig verification. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
37f20f3268 paypro: fix browser paypro. TODO: fix parsing DER certs. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
4e606c7ed2 paypro: move root certs to non-browser. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
2e422c001e paypro: fix payment protocol for DER certs. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
119ef0d611 paypro: begin checking trusted certs. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
29b067ab73 paypro: add createTrusted to browser build script. 2014-07-21 14:55:10 -07:00
Christopher Jeffrey
d4d1a11252 paypro: generate Trusted.js. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
0d68e429fc paypro: add trusted x509 certs in Trusted.js for now. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
722a10f965 paypro: fix encodings with jsrsasign. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
059b23f899 paypro: clientside. start using jsrsasign api correctly. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
538c6c32de paypro: figure out clientside jsrasign more. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
1ad3392184 paypro: add lib/browser/x509. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
4632caf542 paypro: try to figure out differences between browser and npm jsrsasign. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
11b67a6404 paypro: use jsrsasign for browser. 2014-07-21 14:54:38 -07:00
Christopher Jeffrey
12bfe8268d paypro: first pass at clientside x509. 2014-07-21 14:54:03 -07:00
Ryan X. Charles
57a55d0863 expose signature internal functions
"sign" and "genk" ... and add some signature tests
2014-07-17 15:24:19 -07:00
Ryan X. Charles
5f6d02f5de add proper DER signature support to Key
both creating DER signature from the r and s values, and parsing a DER
signature into the r, s, and other properties.
2014-07-17 13:09:35 -07:00
Ryan X. Charles
0251d467c4 update bn.js to latest version
...and correspondingly get rid of Number->String conversion

See: https://github.com/indutny/bn.js/issues/17
2014-07-15 11:25:18 -07:00
Linus Unnebäck
3da6fe899f cleanup after removal of soop
Removed some unnecessary parenthesise that hung around after the merge
of #417
2014-07-12 12:14:56 +02:00
Ryan X. Charles
8a199e26f3 allow Point to multiply things other than buffers
...i.e., bignums, numbers, and strings. Also, ensure that if you try to
multiply a buffer, it should be exactly 32 bytes. Eventually this "multiply"
function will be replaced with a more conventional "mul" function, but not yet.
2014-07-11 11:52:05 -07:00
Ryan X. Charles
3cbf2e07c4 use decorate on gt and lt 2014-07-10 18:45:27 -07:00
Ryan X. Charles
80bba1cf81 use a decorate function to optimize bundle filesize 2014-07-10 18:27:15 -07:00
Ryan X. Charles
af1d754bd8 make bignum interface backwards compatible
- fix cmp, mul, div, add, mod, sub functions to take numbers and strings
- fix Point class to use common folder correctly
2014-07-10 18:14:13 -07:00
Ryan X. Charles
e4cb7d2014 remoe unimplemented bignum.pow() 2014-07-10 16:47:05 -07:00
Ryan X. Charles
c8f11b9c0a require Point ... woops 2014-07-10 16:22:42 -07:00
Ryan X. Charles
204d8563c8 remove cryptojs dependency from Key 2014-07-10 16:22:42 -07:00
Ryan X. Charles
ac4d3186bf update sign function to use elliptic 2014-07-10 16:22:42 -07:00
Ryan X. Charles
8fb6ccaf01 use elliptic for Point.multiply and key regeneration 2014-07-10 16:22:42 -07:00
Ryan X. Charles
15d4328b35 use elliptic in Point in the browser instead of cryptojs 2014-07-10 16:21:08 -07:00
Ryan X. Charles
c8fe404402 replace bignumber.js with bn.js 2014-07-10 16:20:13 -07:00
Manuel Araoz
87b818badf remove soop exports 2014-07-10 16:08:42 -03:00
Manuel Araoz
6e346d067c remove soop imports 2014-07-10 12:39:09 -03:00
Ryan X. Charles
65ab3a663a fix string/buffer sjcl issue
...by using sjcl.mode.cbc.encrypt/decrypt rather than sjcl.encrypt/decrypt. The
difference is that the sjcl.encrypt/decrypt functions are really convenience
methods designed to encrypt and decrypt strings, but don't play nice with
binary data, as revealed in the tests in this commit and the previous commit.
Basically, if you use them to encrypt and decrypt binary data as a string, it
will return the wrong result or an error.

The solution is to use the block cipher directly, in this case sjcl.mode.cbc.
This also has the advantage of fewer format conversions - no converting to
base64 and JSON strings. This makes things faster. Also, it is actually correct
unlike the previous method.
2014-07-09 16:25:48 -07:00
Ryan X. Charles
ca67786a77 ran js-beautify on all bitcore source
js-beautify -s 2 -r *.js

...did not run on bundles, only on source.
2014-06-23 10:57:02 -07:00
Ryan X. Charles
54c8e04738 remove unbuilding c code, and ...
* Remove c code that didn't compile on my machine
* Replace with sjcl code
* Minor modifications to mnemonic interface more bitcoreish
2014-06-20 19:09:21 -07:00
Devrandom
b523eee812 Switch BIP-0039 to sjcl in browser 2014-06-08 13:30:47 -07:00
Devrandom
79d50e92d4 BIP39 in browser 2014-06-08 12:43:05 -07:00
Ryan X. Charles
338158ca46 fix sjcl issue on npm install
...by including sjcl locally
2014-06-06 11:49:58 -07:00
Ryan X. Charles
2dac2b1f47 Merge pull request #362 from ryanxcharles/feature/ECIES
add ECIES support
2014-06-05 20:31:08 -07:00
Ryan X. Charles
af9fdff3a9 use SJCL AES to get ECIES working in the browser 2014-06-03 19:03:50 -07:00
Rich Morgan
eab5c2896e Fix to check for zero s value in sign function
If r OR s are zero then recalculate both r and s until they are both non-zero values.
2014-05-28 11:34:18 -04:00
olalonde
59ee476b96 Armory: use native multiplication in node and javascript implementation in browser 2014-05-08 07:54:12 +08:00
olalonde
e2655f553d Added EC Point multiplication to browser/Point.js 2014-05-08 07:54:11 +08:00