pub struct Secp256k1PrivateKey { /* private fields */ }secp256k1 only.Expand description
A Secp256k1 ECDSA private key.
The private key is zeroized when dropped.
Implementations§
Source§impl Secp256k1PrivateKey
impl Secp256k1PrivateKey
Sourcepub fn from_bytes(bytes: &[u8]) -> AptosResult<Self>
pub fn from_bytes(bytes: &[u8]) -> AptosResult<Self>
Creates a private key from raw bytes.
§Errors
Returns AptosError::InvalidPrivateKey if:
- The byte slice length is not exactly 32 bytes
- The bytes do not represent a valid Secp256k1 private key
Sourcepub fn from_hex(hex_str: &str) -> AptosResult<Self>
pub fn from_hex(hex_str: &str) -> AptosResult<Self>
Creates a private key from a hex string.
§Errors
Returns AptosError::Hex if the hex string is invalid.
Returns AptosError::InvalidPrivateKey if the decoded bytes are not exactly 32 bytes or do not represent a valid Secp256k1 private key.
Sourcepub fn from_aip80(s: &str) -> AptosResult<Self>
pub fn from_aip80(s: &str) -> AptosResult<Self>
Creates a private key from AIP-80 format string.
AIP-80 format: secp256k1-priv-0x{hex_bytes}
§Errors
Returns an error if the format is invalid or the key bytes are invalid.
Sourcepub fn to_aip80(&self) -> String
pub fn to_aip80(&self) -> String
Returns the private key in AIP-80 format.
AIP-80 format: secp256k1-priv-0x{hex_bytes}
Sourcepub fn public_key(&self) -> Secp256k1PublicKey
pub fn public_key(&self) -> Secp256k1PublicKey
Returns the corresponding public key.
Sourcepub fn sign(&self, message: &[u8]) -> Secp256k1Signature
pub fn sign(&self, message: &[u8]) -> Secp256k1Signature
Signs a message (pre-hashed with SHA256) and returns a low-S signature.
The k256 crate produces low-S signatures by default. An additional
normalization step is included as defense-in-depth to guarantee Aptos
on-chain compatibility.
Sourcepub fn sign_prehashed(&self, hash: &[u8; 32]) -> Secp256k1Signature
pub fn sign_prehashed(&self, hash: &[u8; 32]) -> Secp256k1Signature
Signs a pre-hashed message directly and returns a low-S signature.
The k256 crate produces low-S signatures by default. An additional
normalization step is included as defense-in-depth.
Trait Implementations§
Source§impl Clone for Secp256k1PrivateKey
impl Clone for Secp256k1PrivateKey
Source§fn clone(&self) -> Secp256k1PrivateKey
fn clone(&self) -> Secp256k1PrivateKey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more