You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+29-6Lines changed: 29 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,20 @@
2
2
3
3
Python package for managing OpenSSH keypairs and certificates ([protocol.CERTKEYS](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys)). Supported functionality includes:
4
4
5
+
# Notice
6
+
The DSA algorithm is considered deprecated and will be removed in a future version. If possible, use RSA, [(ECDSA)](https://billatnapier.medium.com/ecdsa-weakness-where-nonces-are-reused-2be63856a01a) or ED25519 as a first-hand choice.
7
+
8
+
Notice from OpenSSH:
9
+
```
10
+
OpenSSH 7.0 and greater similarly disable the ssh-dss (DSA) public key algorithm. It too is weak and we recommend against its use. It can be re-enabled using the HostKeyAlgorithms configuration option: sshd_config(5) HostKeyAlgorithms
11
+
```
12
+
13
+
[ECDSA has some flaws](https://billatnapier.medium.com/ecdsa-weakness-where-nonces-are-reused-2be63856a01a), especially when using short nonces or re-using nonces, it can still be used but exercise some caution in regards to nonces/re-signing identical data multiple times.
14
+
15
+
5
16
# Features
6
17
### SSH Keys
7
-
- Supports RSA, DSA, ECDSA and ED25519 keys
18
+
- Supports RSA, DSA (Note: Deprecated), ECDSA and ED25519 keys
8
19
- Import existing keys from file, string, byte data or [pyca/cryptography](https://github.com/pyca/cryptography) class
9
20
- Generate new keys
10
21
- Get public key from private keys
@@ -22,11 +33,7 @@ Python package for managing OpenSSH keypairs and certificates ([protocol.CERTKEY
22
33
- Export certificates to file, string or bytes
23
34
24
35
# Roadmap
25
-
-[x] Rewrite certificate field functionality for simpler usage
26
-
-[ ] Re-add functionality for changing RSA hash method
27
-
-[ ] Add CLI functionality
28
-
-[ ] Convert to/from putty format (keys only)
29
-
36
+
See issues for planned features and fixes
30
37
31
38
# Installation
32
39
@@ -49,6 +56,13 @@ pip3 install ./
49
56
# Documentation
50
57
You can find the full documentation at [scheiblingco.github.io/sshkey-tools/](https://scheiblingco.github.io/sshkey-tools/)
51
58
59
+
## Building the documentation
60
+
```bash
61
+
pdoc3 src/sshkey_tools/ -o docs --html
62
+
cp -rf docs/sshkey_tools/* docs/
63
+
rm -rf docs/sshkey_tools
64
+
```
65
+
52
66
## SSH Keypairs (generating, loading, exporting)
53
67
```python
54
68
# Import the certificate classes
@@ -124,6 +138,7 @@ b"\0xc\0a\........"
124
138
The loaded private key objects can be used to sign bytestrings, and the public keys can be used to verify signatures on those
125
139
```python
126
140
from sshkey_tools.keys import RsaPrivateKey, RsaPublicKey
141
+
from sshkey_tools.fields import RsaAlgs
127
142
128
143
signable_data =b'This is a message that will be signed'
0 commit comments