PrivKeyFromBytes returns a private and public key for `curve' based on the private key passed as an argument as a byte slice.
(pk []byte)
| 131 | // PrivKeyFromBytes returns a private and public key for `curve' based on the private key passed |
| 132 | // as an argument as a byte slice. |
| 133 | func PrivKeyFromBytes(pk []byte) (*PrivateKey, *PublicKey) { |
| 134 | x, y := ec.S256().ScalarBaseMult(pk) |
| 135 | |
| 136 | priv := &ecdsa.PrivateKey{ |
| 137 | PublicKey: ecdsa.PublicKey{ |
| 138 | Curve: ec.S256(), |
| 139 | X: x, |
| 140 | Y: y, |
| 141 | }, |
| 142 | D: new(big.Int).SetBytes(pk), |
| 143 | } |
| 144 | |
| 145 | return (*PrivateKey)(priv), (*PublicKey)(&priv.PublicKey) |
| 146 | } |
| 147 | |
| 148 | // Serialize returns the private key number d as a big-endian binary-encoded number, padded to a |
| 149 | // length of 32 bytes. |