Skip to content

Commit 3ae4dc2

Browse files
committed
Add README to examples
Signed-off-by: Wiktor Kwapisiewicz <wiktor@metacode.biz>
1 parent 91dd0f1 commit 3ae4dc2

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

examples/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Agent examples
2+
3+
The examples in this directory show slightly more elaborate use-cases that can be implemented using this crate.
4+
5+
## Agents
6+
7+
### `key-storage`
8+
9+
Implements a simple agent which remembers RSA private keys (added via `ssh-add`) and allows fetching their public keys and signing using three different signing mechanisms.
10+
11+
This example additionally shows how to extract extensions from messages and works on all major OSes.
12+
13+
It is used in integration tests that run as part of the CI.
14+
15+
### `openpgp-card-agent`
16+
17+
Allows using OpenPGP Card devices to sign SSH requests.
18+
The PIN is stored in memory and can be time-constrained using SSH constraints.
19+
For the sake of simplicity this agent supports only `ed25519` subkeys.
20+
21+
This example additionally shows how to create custom protocol based on SSH extensions (in this case decrypt/derive feature).
22+
23+
### `agent-socket-info`
24+
25+
Shows how to extract information about the underlying connection.
26+
For example under Unix systems this displays connecting process PID.
27+
To keep the example brief the data is printed as part of a fake public key comment.
28+
29+
## Clients
30+
31+
### `pgp-wrapper`
32+
33+
Wraps SSH keys in OpenPGP data thus allowing OpenPGP applications (such as GnuPG) to read and work with SSH keys.
34+
This makes it possible to create OpenPGP signatures utilizing SSH keys.
35+
36+
If the connecting agent supports derive/decrypt extension this example additionally creates a decryption subkey and can be used to decrypt OpenPGP data.
37+
38+
### `proto-dumper`
39+
40+
A simple forwarding example which works as an agent and client at the same time dumping all messages and forwarding them to the next agent.
41+
42+
### `ssh-agent-client`
43+
44+
Dumps identities stored by the agent.
45+
Additionally invokes an extension and reads the result.

0 commit comments

Comments
 (0)