themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 02, 2013, 12:13:18 AM |
|
If I have a Bitcoin address and a message signed with the private key of that address, is there a way to verify the signature with standard Unix commands?
|
|
|
|
jackjack
Legendary
Offline
Activity: 1176
Merit: 1257
May Bitcoin be touched by his Noodly Appendage
|
|
June 02, 2013, 12:18:10 AM |
|
Is a python script (no dependency) ok to use?
|
Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2 Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 02, 2013, 12:23:23 AM |
|
Is a python script (no dependency) ok to use?
Yeah, i'm actually looking to do it in Ruby, but i'm guessing i can convert what is thrown at me to my language of choice.
|
|
|
|
jackjack
Legendary
Offline
Activity: 1176
Merit: 1257
May Bitcoin be touched by his Noodly Appendage
|
|
June 02, 2013, 12:33:38 AM |
|
This is the Bitcoin signature/verification module I made for Armory: https://github.com/jackjack-jj/jasvet/blob/master/jasvet.pyThe function you're looking for is verify_message_Bitcoin(address, signature, message), line 387 Example: - address: 13C5HZKutjMDeuc7f5mPj6XGpJCZu7xKh2
- signature: H55JIuwEi4YXzINOzx2oU6VsfBcTOScpFtp10pP/M4EWV336ClH65SObwPXnRf/fMXDu8hs8nweB42CtpWgngeM=
- message: aaa
Feel free to ask me anything that isn't clear
|
Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2 Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 02, 2013, 12:52:29 AM |
|
From a fairly quick skim through the code, it looks pretty straight forward as written (hahah, though a little more complex than I was hoping!). The rest of my weekend might be making a Ruby Gem for this. Do you have tests for this? I'd love to duplicate some of the tests also.
|
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 02, 2013, 01:25:48 AM |
|
|
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 02, 2013, 09:35:32 AM |
|
|
|
|
|
Raoul Duke
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
|
June 10, 2013, 04:51:41 PM |
|
Any kind sould will do it in php?
|
|
|
|
piotr_n
Legendary
Offline
Activity: 2053
Merit: 1356
aka tonikt
|
|
June 10, 2013, 05:44:53 PM |
|
You can also have a look at a tool called versigmsg, from my gocoin project. https://github.com/piotrnar/gocoin/blob/master/tools/versigmsg.goIf you build it, it end up as a single executable, about 2MB big.
|
Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.PGP fingerprint: AB9E A551 E262 A87A 13BB 9059 1BE7 B545 CDF3 FD0E
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 11, 2013, 02:18:28 AM |
|
Any kind sould will do it in php? Put up a bounty.
|
|
|
|
|
Raoul Duke
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
|
June 11, 2013, 09:08:24 AM |
|
I would do it in native PHP (a bignum extension required) with this ECC library for a bounty if anyone's interested. I'll contribute 0.5 BTC for said bounty.
|
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 11, 2013, 09:48:24 AM |
|
We could also use a JavaScript library while everyone is at it.
|
|
|
|
|
themgp (OP)
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
June 11, 2013, 04:24:22 PM |
|
|
|
|
|
|
serp
|
|
June 11, 2013, 08:03:16 PM |
|
If you look at the source you will see that the brainwallet you linked uses the bitcoinlib-js linked above. Using the brainwallet software offline is fine if you are just doing one manually every now and then. If you are wanting to incorporate the functionality into your own code then it is probably best to use the core library or just write your own.
|
|
|
|
scintill
|
|
June 17, 2013, 06:17:30 AM |
|
I'll contribute 0.5 BTC for said bounty.
OK, thanks. I've got a first draft of some code that isn't working yet (the public-key recovery is a bit tricky), but should have most of what it needs. So I need to fix the bug, do some test cases, and clean it up. I'll try to have that done in the next day or so.
|
1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
|
|
|
|
scintill
|
|
November 30, 2013, 02:06:25 AM |
|
I've been asked by someone in newbie jail, or unable to register, to post here this online signature verification tool he created: coinig.com. (Some CYA: this is not an endorsement of the correct functionality, security, privacy, etc. of the tool, just sharing a link.)
|
1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
|
|
|
|