use named links for each ident
This commit is contained in:
@@ -21,17 +21,22 @@ To view a copy of this license, visit
|
||||
http://creativecommons.org/licenses/by-sa/4.0/.
|
||||
////
|
||||
|
||||
[id="why"]
|
||||
== Purpose
|
||||
This document attempts to present a much more detailed, thorough, and easily-understood form of the key formats used by OpenSSH. The extent of those formats' canonical documentation is https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.key[the OpenSSH source tree's `PROTOCOL.key`^], which is a little lacking.
|
||||
|
||||
[id="intro"]
|
||||
== Basic Introduction
|
||||
=== Legacy
|
||||
==== Private Keys
|
||||
|
||||
[id="intro_legc"]
|
||||
=== Legacy
|
||||
|
||||
[id="intro_legc_priv"]
|
||||
==== Private Keys
|
||||
In OpenSSH pre-7.8, private keys are stored in their respective PEM encodingfootnote:[https://datatracker.ietf.org/doc/html/rfc7468] with no modification. These legacy private keys should be entirely usable by OpenSSL/LibreSSL/GnuTLS etc. natively with no conversion necessary.
|
||||
|
||||
[id="intro_legc_pub"]
|
||||
==== Public Keys
|
||||
|
||||
Each public key *file* (`*.pub`) is written out in the following format:
|
||||
|
||||
A B C
|
||||
@@ -44,13 +49,14 @@ C:: The key's comment
|
||||
|
||||
The structures specified in the breakdowns later in this document describe the _decoded_ version of *B* *_only_*. They are specific to each keytype and format version starting with item `2.0`.
|
||||
|
||||
|
||||
[id="intro_v1"]
|
||||
=== New "v1" Format
|
||||
==== Private Keys
|
||||
|
||||
[id="intro_v1_priv"]
|
||||
==== Private Keys
|
||||
Private key structures have been retooled in the "v1" format. In recent OpenSSH versions, all new keys use the v1 format. They no longer are in straight PEM-compatible format.
|
||||
|
||||
Refer to https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.key[`PROTOCOL.key`^] for a (very) general description, or each key's specific breakdown for more detailed information.
|
||||
Refer to https://anongit.mindrot.org/openssh.git/tree/PROTOCOL.key[`PROTOCOL.key`^] (https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.key[GitHub mirror^]) for a (very) general description, or each key type's specific breakdown in this document for more detailed information.
|
||||
|
||||
The v1 format offers several benefits over the legacy format, including:
|
||||
|
||||
@@ -59,16 +65,18 @@ The v1 format offers several benefits over the legacy format, including:
|
||||
* embedded public key (no need to derive from the private key)
|
||||
* "checksumming" to confirm proper decryption for encrypted keys
|
||||
|
||||
[id="intro_v1_pub"]
|
||||
==== Public Keys
|
||||
All public keys in v1 continue to use the same packed binary format as <<intro_legc_pub, the legacy format>>.
|
||||
|
||||
All public keys in v1 continue to use the same packed binary format as <<public_keys, the legacy format>>.
|
||||
|
||||
[id="bkdn"]
|
||||
== Keytype-Specific Breakdowns
|
||||
|
||||
include::rsa/main.adoc[]
|
||||
|
||||
include::ed25519/main.adoc[]
|
||||
|
||||
[id="moar"]
|
||||
== Further Information
|
||||
|
||||
++++
|
||||
|
||||
Reference in New Issue
Block a user