Commit Graph

1831 Commits

Author SHA1 Message Date
Ryan X. Charles
385edbcc92 simplify ECIES interface
the toKeypair doesn't really need to be a keypair. upon encrypting, it merely
needs to be a pubkey. and upon decrypting, it needs to be a privkey.
2014-09-15 11:19:18 -07:00
Ryan X. Charles
8dc6a5023a test the case when no fromkeypair is used
...during encryption, and make sure you can still decrypt the message.
2014-09-15 10:52:32 -07:00
Ryan X. Charles
fbfa64582c autogenerated fromkeypair if not present 2014-09-15 10:43:14 -07:00
Ryan X. Charles
4a027e260a Address().fromScript(script)
It is convenient to be able to derive an address directly from a script for
p2sh transactions.
2014-09-12 17:49:01 -07:00
Ryan X. Charles
79d79012d4 fix bug where you can't use isForMe without payloadKeypair
It should be possible to check to see if a message isForMe with only the
scanKeypair, and not the payloadKeypair. There was a bug where only the
scanKeypair was being used to produce the receiveKeypair, but this was a
mistake. Both the scanPubkey and payloadPubkey should be necessary to produce
the receivePubkey, and both the scanPrivkey and payloadPrivkey should be
necessary to produce the receivePrivkey. If an online computer has only the
public keys of both (and the scanPrivkey), then that is good enough to check
for isForMe.
2014-09-12 17:24:00 -07:00
Ryan X. Charles
a095341a07 print the public key 2014-09-12 13:37:22 -07:00
Ryan X. Charles
8b875a5926 making a keypair is unnecessary 2014-09-12 13:26:14 -07:00
Ryan X. Charles
aa4251bff6 typo 2014-09-12 13:00:52 -07:00
Ryan X. Charles
88f3690ef6 StealthMessage example 2014-09-12 12:55:11 -07:00
Ryan X. Charles
5a86a1a5c6 StealthMessage
This code should be regarded as being a proof-of-concept, and needs more review
before being used in production code. At least one thing is guaranteed to
change, and that is the format of a stealth address.
2014-09-10 14:00:53 -07:00
Ryan X. Charles
19d7befc5e Merge pull request #508 from chjj/pem_fix
PEM parsing fix
2014-09-10 12:42:58 -07:00
Christopher Jeffrey
2a696b5b6f root-certs: ensure JSON parses properly. 2014-09-10 10:20:11 -07:00
Christopher Jeffrey
59ac7079b1 paypro: convert root certs to json. 2014-09-09 17:52:13 -07:00
Christopher Jeffrey
3a3c546310 root-certs: move function out of root certs file. 2014-09-09 17:15:13 -07:00
Ryan X. Charles
d088e0d7f2 v0.1.36 2014-09-08 15:51:14 -07:00
Sagiv Ofek
d5618c186f syntax fix - typeof is not a function, it's an operator
following the comment of @shesek here: https://github.com/bitpay/bitcore/pull/500/files#r16642032
`typeof(foo)` should be `typeof foo`
2014-09-06 00:47:44 -04:00
Christopher Jeffrey
5145272575 paypro: handle concatenated pems in pem parser. 2014-09-05 17:56:13 -07:00
Christopher Jeffrey
8593ad461e paypro: pem parsing - rename variables. 2014-09-05 17:52:14 -07:00
Christopher Jeffrey
6e329b15bb paypro: add a full PEM parsing function. 2014-09-05 17:52:14 -07:00
Christopher Jeffrey
9dbe45ad03 paypro: account for PEM metadata as per rfc1424. 2014-09-05 17:52:14 -07:00
Ryan X. Charles
90f99fe744 Merge pull request #506 from chjj/paypro
Payment Protocol: Improvements.
2014-09-04 16:12:10 -07:00
Christopher Jeffrey
b0f680ccda payro: fix crypto module require. 2014-09-04 15:31:43 -07:00
Christopher Jeffrey
b53e285a7c paypro: rename type to sigHashAlg. 2014-09-04 15:26:20 -07:00
Christopher Jeffrey
a50b9ed3a3 paypro: implement "none" pki_type. 2014-09-04 15:26:20 -07:00
Christopher Jeffrey
a73699ba64 paypro: add PayPro.verifyCertChain. 2014-09-04 15:26:20 -07:00
Christopher Jeffrey
4e883ceba6 paypro: grab npubKeyAlg in browser. 2014-09-04 15:26:20 -07:00
Manuel Aráoz
7a09140b01 Merge pull request #505 from himynameismartin/master
Added JavaScript and HTML syntax highlighting
2014-09-04 14:06:51 -03:00
himynameismartin
4fa3b235a9 Added JavaScript and HTML syntax highlighting 2014-09-04 17:44:01 +02:00
Ryan X. Charles
74549a53ec key -> keypair
Since the class has been renamed Key -> Keypair, instances should be renamed
key -> keypair.
2014-09-02 16:36:21 -07:00
Ryan X. Charles
219aa528c8 AsReceiver implied 2014-09-02 15:54:24 -07:00
Ryan X. Charles
558a7672ef Stealthkey AsSender functions obsolete
use StealthAddress instead
2014-09-02 15:28:32 -07:00
Ryan X. Charles
779e48d562 expose new StealthAddress class 2014-09-02 15:27:25 -07:00
Ryan X. Charles
d1a570135d getSharedKeypair & getReceivePubkey 2014-09-02 15:25:16 -07:00
Ryan X. Charles
48ae69cab0 convenience: StealthAddress(str) or StealthAddress(buf) 2014-09-02 14:23:11 -07:00
Ryan X. Charles
36fd6b2d9c take address stuff out of stealthkey
...that is what StealthAddress is now for
2014-09-02 12:53:41 -07:00
Ryan X. Charles
139fe02355 StealthAddress 2014-09-02 12:48:36 -07:00
Ryan X. Charles
258dab9d6d convenience: Stealth(payloadKeypair, scanKeypair) 2014-09-02 12:08:33 -07:00
Ryan X. Charles
073ee0a0e4 fix: Pubkey(point) and Privkey(bn) 2014-09-02 12:07:18 -07:00
Ryan X. Charles
caf6c87419 Signature(r, s) should work 2014-09-02 11:59:42 -07:00
Ryan X. Charles
a768755764 convenience: new Pubkey(point) 2014-09-01 21:16:10 -07:00
Ryan X. Charles
6f56c8d1fc convenience: new Privkey(bn) 2014-09-01 21:13:44 -07:00
Ryan X. Charles
ef3a89f254 add Signature(r, s) convenience 2014-09-01 21:08:16 -07:00
Ryan X. Charles
8a3d71b596 throw error for invalid strings 2014-09-01 20:03:22 -07:00
Ryan X. Charles
eaaf8aade3 throw error if there is no string representation 2014-09-01 20:00:54 -07:00
Ryan X. Charles
3b2b725070 Script().fromString(str)
...the format of fromString and toString are deliberately not compatible with
bitcoind. The format here is supposed to be both human-readable, and
byte-for-byte isomorphic to the binary representation. In the future we will
need to add support for bitcoind-like strings, both for the test data (e.g.,
script_invalid.json) or for the bitcoind console style.
2014-09-01 19:42:20 -07:00
Ryan X. Charles
6375941ef8 script.toString() 2014-09-01 18:31:02 -07:00
Ryan X. Charles
e6af57f4fa script.toBuffer(); 2014-09-01 18:01:17 -07:00
Ryan X. Charles
378dc923ef preserve claimed length and op code
When parsing OP_PUSHDATAX commands, the the length of data might not require
the size integer of OP_PUSHDATAX. For instance, you might write 1 byte, and yet
use OP_PUSHDATA4. We need to record which OP_PUSHDATAX was used so that when we
write the buffer back out, we can write the same one. Also, the claimed length
may be different. For instance, we may OP_PUSHDATA of length 100 to the stack,
but there may only be 50 bytes left in the script. In that case, buf.length and
chunk.len will be different. I'm not sure if that would be considered a valid
script, but in any case, for script analysis, we need both values.
2014-09-01 17:27:39 -07:00
Ryan X. Charles
e3aa93614e one more test to make sure things are working 2014-09-01 16:44:27 -07:00
Ryan X. Charles
697b3e5009 Script().fromBuffer(buf)
...code heavily inspired/copied from bitcore
2014-09-01 16:41:07 -07:00