Pages:
Author

Topic: Verifying a signed message *without* a Bitcoin client installed? (Read 7445 times)

jr. member
Activity: 45
Merit: 3
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?

bitsig (C++) can verify signatures:

http://bitcoin-gen.org/

Example:

$ bitsig verifyRaw "test" G93M44UVAiOAe7do7TJbtFrvedSpjoq6HFzCT0KZZW07/TvpE/qXxiZf6q7OV4nIqYkq9DDYPbvYTemsmpb0kbk= 17RjaCGZQbe2Cw984YdWcMcWDgM86kM7EN
Verifying raw message: test
Verifying signature...
Signed by the address: 17RjaCGZQbe2Cw984YdWcMcWDgM86kM7EN
newbie
Activity: 45
Merit: 0
I'd use bitcore.io to do this.

http://bitcore.io/api/transaction/transaction.html#Transaction#verifySignature

Javascript framework can be installed locally or using node.js.

Hope this helps.

sr. member
Activity: 294
Merit: 250
It should be pretty easy to do either way.
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
is this done in PHP?

if not, i can do it, is there a bounty?
legendary
Activity: 1498
Merit: 1000
If anyone wants apicoin can do many verifications of signatures at once, https://apicoin.io/api/v1/doc/#verifymessage
full member
Activity: 145
Merit: 102
Maybe it's one more tool for handling signatures, but you could try FSV. This is a new multiple-platform GUI soft for PC. It's a pretty handy tool for signed messages checking.

https://bitcointalksearch.org/topic/m.6904979
sr. member
Activity: 448
Merit: 254
Who's the guy?
Is he currently registered?

I was respecting privacy, but on second thought I don't think he would mind.  His name is Gregor Volkmann and his site is at http://gregor.volkmann.me/ .  He contacted me by email so I don't have a username, and I couldn't find one with search.  I haven't heard from him since telling him I posted, so I guess he hasn't registered.  He probably only would have posted the link, but looking at his home page he seems open to being contacted, if people have questions or whatnot.
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
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.)
Who's the guy?
Is he currently registered?
sr. member
Activity: 850
Merit: 331
Congratulations for the good job.

Regards
sr. member
Activity: 448
Merit: 254
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.)
sr. member
Activity: 448
Merit: 254
I finished the PHP code and put it at https://github.com/scintill/php-bitcoin-signature-routines for those who are interested.

Let me know if you find any problems or have questions.
sr. member
Activity: 448
Merit: 254
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.
sr. member
Activity: 245
Merit: 250
@serp
Ok with JS? Why not try http://brainwallet.org/#verify

It works offline and is pretty good.

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.
full member
Activity: 223
Merit: 100
jr. member
Activity: 56
Merit: 1
sr. member
Activity: 245
Merit: 250
@serp
We could also use a JavaScript library while everyone is at it. Smiley

This is covered by https://github.com/bitcoinjs/bitcoinjs-lib
jr. member
Activity: 56
Merit: 1
We could also use a JavaScript library while everyone is at it. Smiley
legendary
Activity: 1358
Merit: 1002
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.
sr. member
Activity: 448
Merit: 254
I made a standalone C++ tool based on stripped-down bitcoin reference source.  Just depends on OpenSSL.  It should be easy to integrate into any language that can spawn another process and receive its return code, although a native library would probably be better if that's available to you.  https://github.com/scintill/bitcoin-signature-tools

I just added a php demo: https://github.com/scintill/bitcoin-signature-tools/blob/master/tests/verifymessage.php

I would do it in native PHP (a bignum extension required) with this ECC library for a bounty if anyone's interested.
Pages:
Jump to: