Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Peter R on June 21, 2014, 12:15:55 AM



Title: X.509 certificate w. secp256k1?
Post by: Peter R on June 21, 2014, 12:15:55 AM
Quick question that Google doesn't seem to know the answer to: do X.509 certificates (the kind used in the new bitcoin payment protocol) support signatures using bitcoin's secp256k1 elliptic curve?  It seems that RSA is the most commonly used.  


Title: Re: X.509 certificate w. secp256k1?
Post by: 12648430 on June 21, 2014, 01:01:05 AM
Yes, you can do it with openssl. Command line example:

Code:
openssl ecparam -out ec_key.pem -name secp256k1 -genkey
openssl req -new -key ec_key.pem -x509 -nodes -days 365 -out cert.pem


Title: Re: X.509 certificate w. secp256k1?
Post by: Peter R on June 21, 2014, 05:22:03 AM
Perfect.  Thanks for the information 12648430.


Title: Re: X.509 certificate w. secp256k1?
Post by: Mike Hearn on June 24, 2014, 01:25:30 PM
It should work but such a certificate would be very unusual.


Title: Re: X.509 certificate w. secp256k1?
Post by: MiWCryptoCurrencyMA on July 28, 2014, 07:43:50 AM
This is a fantastic idea. Thanks for the concept; I wrote this paper to discuss what you could do with this:
 https://github.com/MiWCryptoCurrency/UTXOC/blob/master/UTXOCv1.pdf?raw=true

The git repository also has scripts:
https://github.com/MiWCryptoCurrency/UTXOC/

 * eckey2coin.py (to easily generate the address + QR code, based on pycoin key utils (ku).
 * utxocsr.py (to generate a certificate signing request from a raw EC key; and embed the transaction hash in the x509v3 Subject Alternative Name.