# Trait ssh::public_key::KeyPair [−] [src]

    pub trait KeyPair: Sync + Send {
        fn system(&self) -> &'static CryptoSystem;
        fn has_private(&self) -> bool;
        fn verify(&self, data: &[u8], signature: &[u8]) -> Result<bool, ()>;
        fn sign(&self, data: &[u8]) -> Result<Vec<u8>, ()>;
        fn write_public(&self, w: &mut Write) -> Result<()>;
        fn export(&self, w: &mut Write) -> Result<()>;
    }

## Required Methods

### `fn system(&self) -> &'static CryptoSystem`

### `fn has_private(&self) -> bool`

### `fn verify(&self, data: &[u8], signature: &[u8]) -> Result<bool, ()>`

### `fn sign(&self, data: &[u8]) -> Result<Vec<u8>, ()>`

### `fn write_public(&self, w: &mut Write) -> Result<()>`

### `fn export(&self, w: &mut Write) -> Result<()>`

## Implementors

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)