pub trait CaseSigner:
Send
+ Sync
+ Debug {
// Required methods
fn sign_p256_sha256(&self, message: &[u8]) -> Result<[u8; 64], SignerError>;
fn public_key(&self) -> &PublicKey;
}Expand description
Pluggable ECDSA-P256-SHA256 signer for CASE.
The in-tree concrete implementation is RingSigner, which wraps
a P-256 private key and produces RFC 6979 deterministic signatures.
Alternative backends (HSM, OS keychain, software key store) can implement
this trait without touching core CASE code.
Required Methods§
Sourcefn sign_p256_sha256(&self, message: &[u8]) -> Result<[u8; 64], SignerError>
fn sign_p256_sha256(&self, message: &[u8]) -> Result<[u8; 64], SignerError>
Sign message with the NOC’s private ECDSA-P256 key.
Returns raw 64-byte r||s signature (Matter wire format).
§Errors
Returns SignerError if the signing operation fails (hardware
unavailable, policy rejection, or internal error).
Sourcefn public_key(&self) -> &PublicKey
fn public_key(&self) -> &PublicKey
The 65-byte SEC1-uncompressed P-256 public key matching the NOC.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".