Skip to content

Commit

Permalink
Comprehensive support for publickey auth with certificates (#702)
Browse files Browse the repository at this point in the history
* Add key types for ECDSA and ED25519 with certificates to implement publickey auth with that keys.

* Read public key certificates in OpenSSHKeyV1KeyFile.

* Fix ClassCastException in ECDSAVariationsAdapter.isECKeyWithFieldSize.

* Introduce an integration test for publickey auth with certificates.

* Refactor: merge copy-paste from OpenSshKey*File.java into an util class.

* Add the license to KeyWithCertificateSpec.groovy

* Add the license to OpenSSHKeyFileUtil.java
  • Loading branch information
vladimirlagunov committed Jul 2, 2021
1 parent 0882efb commit ff4a477
Show file tree
Hide file tree
Showing 108 changed files with 823 additions and 36 deletions.
2 changes: 1 addition & 1 deletion src/itest/docker-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ADD test-container/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
ADD test-container/ssh_host_ed25519_key /etc/ssh/ssh_host_ed25519_key
ADD test-container/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_ed25519_key.pub
ADD test-container/sshd_config /etc/ssh/sshd_config
ADD test-container/users_rsa_ca.pub /etc/ssh/users_rsa_ca.pub
COPY test-container/trusted_ca_keys /etc/ssh/trusted_ca_keys

RUN apk add --no-cache tini
RUN \
Expand Down
2 changes: 1 addition & 1 deletion src/itest/docker-image/test-container/sshd_config
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,6 @@ Subsystem sftp /usr/lib/ssh/sftp-server
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1
macs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com

TrustedUserCAKeys /etc/ssh/users_rsa_ca.pub
TrustedUserCAKeys /etc/ssh/trusted_ca_keys

Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
4 changes: 4 additions & 0 deletions src/itest/docker-image/test-container/trusted_ca_keys
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDN70b/cYHZQMD1YW0mlncXqC2l++sEWrVYlIUCzNxNhRYjI4UmEVEq3ru1h6K3ZVAJi1DcZuf5ne1ZXtwJ1Uw1JA4wGdKw+9TwAb5Gubn+VEowgt62kLAPeChiPucTXD0FDDhIUOBv3KxytdrJIYAtzZT27STsBiDF1+7Ld3wk/1Dg9NAaI6q40PmuicTEACQRHn5snI1t9+LgZTd3/PPE5pjJM0ow9+r6mlUUM5oHCk5sZ8DBuRR1Ram4sxp/LFQM+9feMmW3ZM2C5AN0JG4A7NXnlwiTKmNVrGI0iFucBBKhjxN1qdgBF11/42cCrerC9UW1auTTi9mqwEIqBGL30VOPy+dCPQQViP+C09CBgyr3wpZciPKP1mvmcOkC5FDzKg9e3v1JBq0fqZgwt+PPG8cGnxRCGEQ+ZMLDuAixkQUEwDWeMskHLkbjUEiVZydViCPSzFczGtKatQiQVZA5Zx0Gn2sUaQjykhWzqKNL8oIbolEdkH9ubOZWNi0brzU= root@sshj
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNz89k9T3el9LpypMH6Rs8Ovn/xC6subq9XBoTK8G9x3Q4IifsN+bCy7h9juYdE8it5GvgnpM2HSdPBFMpJnEFI= CA_ecdsa.pem
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKUVeHsdWatk8ykj+4NV6wALBrKmxrynugY16iWtTmsj4HEyVmSw1QojWqajKBgnagJ8wSiKlcI8YXctTj+3OQbz2RvZY7o5QIgYUObfTazfo1r+qRN8N5uTBQ1Ye53hr6/cCvCBoSHrX6Ruv8Cd8jgBdbEJAsIA3+wX5GzKtSH/qskwxeyN388mqmF/+tQUdosraTcWlVcNYNeRCnUR5FHO+tC9JFRcFpJsgBaSvmTzmpfaURymvZov900V3ENtGZwQc88ZeG7J15xFiC4QUsbLaBBfeIRyi3rqCpfZD8fzair8IyBKrVP5hO4vmgBPVn+p0dAjrZQT7I8WbX9gHNq8lAnfxHHQKgxjsGcuJtbNBuREDE1NblgoBgcs+gz1gggwmnUKtBmgAo3DsgXMuba1KhsWKg75mQoKuiA79WxhQ5RcdXsTsSACrq7olXTzZ/nPoexxJnjPjjiata44mw+5FMDCtHHIVc6YyNscAvHnEBfY3hRgXKKGvOjjuuaD0= CA_rsa.pem
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDphrlRZfHI2xJ7IIqmoLji2Bh2j7ZP0jynCL0TnjTuH CA_ed25519.pem
50 changes: 45 additions & 5 deletions src/itest/generate.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,46 @@
#!/bin/sh
#!/usr/bin/env bash
# Don't call it frequently. It's rather a documentation how everything is generated.
ssh-keygen -f resources/users_rsa_ca -t rsa -N ''
mv resources/users_rsa_ca.pub docker-image/test-container
ssh-keygen -f resources/keyfiles/id_rsa2 -t rsa -m pem -N ''
ssh-keygen -s resources/users_rsa_ca -I my_key_id -n sshj resources/keyfiles/id_rsa2.pub
set -e -o pipefail
cd "${BASH_SOURCES[0]}"

function generate() {
local destination="$1"
if [[ ! -f "$destination" ]]; then
echo "Generating $destination" 1>&2
shift
mkdir -p "$(dirname "$destination")"
ssh-keygen -q -f "$destination" "${@}"
fi
}

generate resources/users_rsa_ca -t rsa -N ''
if [[ -f resources/users_rsa_ca.pub ]]; then
mv resources/users_rsa_ca.pub docker-image/test-container
fi
generate resources/keyfiles/id_rsa2 -t rsa -m pem -N ''
generate resources/keyfiles/id_rsa2-cert.pub -s resources/users_rsa_ca -I my_key_id -n sshj resources/keyfiles/id_rsa2.pub

cat docker-image/test-container/users_rsa_ca.pub >docker-image/test-container/trusted_ca_keys

key_algo_pairs=(ecdsa_256 ecdsa_384 ecdsa_521 rsa_2048 ed25519_384)

for ca_algo in ecdsa rsa ed25519; do
generate "resources/keyfiles/certificates/CA_${ca_algo}.pem" -N "" -t "$ca_algo" -C "CA_${ca_algo}.pem"
cat "resources/keyfiles/certificates/CA_${ca_algo}.pem.pub" >>docker-image/test-container/trusted_ca_keys

for key_algo_pair in "${key_algo_pairs[@]}"; do
key_algo="${key_algo_pair/_*/}"
bits="${key_algo_pair/*_/}"

for format in pem rfc4716; do
if [[ "$key_algo" == 'pem' && "$format" == 'ed25519' ]]; then
# Ed25519 keys are always generated in RFC4716 format.
continue
fi

user_key="resources/keyfiles/certificates/id_${key_algo_pair}_${format}_signed_by_${ca_algo}"
generate "$user_key" -N '' -t "$key_algo" -b "$bits" -m "$format" -C "$(basename "$user_key")"
generate "${user_key}-cert.pub" -s "resources/keyfiles/certificates/CA_${ca_algo}.pem" -I "$(basename "$user_key")" -n sshj "${user_key}.pub"
done
done
done
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*
* Copyright (C)2009 - SSHJ Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.hierynomus.sshj.signature

import com.hierynomus.sshj.IntegrationBaseSpec
import spock.lang.Unroll

class KeyWithCertificateSpec extends IntegrationBaseSpec {

@Unroll
def "authorising with a signed public key #keyName"() {
given:
def client = getConnectedClient()

when:
client.authPublickey(USERNAME, "src/itest/resources/keyfiles/certificates/$keyName")

then:
client.authenticated

where:
keyName << [
"id_ecdsa_256_pem_signed_by_ecdsa",
"id_ecdsa_256_rfc4716_signed_by_ecdsa",
"id_ecdsa_256_pem_signed_by_ed25519",
"id_ecdsa_256_rfc4716_signed_by_ed25519",
"id_ecdsa_256_pem_signed_by_rsa",
"id_ecdsa_256_rfc4716_signed_by_rsa",
"id_ecdsa_384_pem_signed_by_ecdsa",
"id_ecdsa_384_rfc4716_signed_by_ecdsa",
"id_ecdsa_384_pem_signed_by_ed25519",
"id_ecdsa_384_rfc4716_signed_by_ed25519",
"id_ecdsa_384_pem_signed_by_rsa",
"id_ecdsa_384_rfc4716_signed_by_rsa",
"id_ecdsa_521_pem_signed_by_ecdsa",
"id_ecdsa_521_rfc4716_signed_by_ecdsa",
"id_ecdsa_521_pem_signed_by_ed25519",
"id_ecdsa_521_rfc4716_signed_by_ed25519",
"id_ecdsa_521_pem_signed_by_rsa",
"id_ecdsa_521_rfc4716_signed_by_rsa",
"id_rsa_2048_pem_signed_by_ecdsa",
"id_rsa_2048_rfc4716_signed_by_ecdsa",
"id_rsa_2048_pem_signed_by_ed25519",
"id_rsa_2048_rfc4716_signed_by_ed25519",
"id_rsa_2048_pem_signed_by_rsa",
"id_rsa_2048_rfc4716_signed_by_rsa",
"id_ed25519_384_rfc4716_signed_by_ecdsa",
"id_ed25519_384_rfc4716_signed_by_ed25519",
"id_ed25519_384_rfc4716_signed_by_rsa",
]
}
}
9 changes: 9 additions & 0 deletions src/itest/resources/keyfiles/certificates/CA_ecdsa.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQTc/PZPU93pfS6cqTB+kbPDr5/8QurL
m6vVwaEyvBvcd0OCIn7Dfmwsu4fY7mHRPIreRr4J6TNh0nTwRTKSZxBSAAAAqP36PXj9+j
14AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNz89k9T3el9Lpyp
MH6Rs8Ovn/xC6subq9XBoTK8G9x3Q4IifsN+bCy7h9juYdE8it5GvgnpM2HSdPBFMpJnEF
IAAAAhAJoGc1L5zMmeORPDxMFTzo47oot8ao0BziAm3NU5ExxOAAAADENBX2VjZHNhLnBl
bQECAw==
-----END OPENSSH PRIVATE KEY-----
1 change: 1 addition & 0 deletions src/itest/resources/keyfiles/certificates/CA_ecdsa.pem.pub
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNz89k9T3el9LpypMH6Rs8Ovn/xC6subq9XBoTK8G9x3Q4IifsN+bCy7h9juYdE8it5GvgnpM2HSdPBFMpJnEFI= CA_ecdsa.pem
7 changes: 7 additions & 0 deletions src/itest/resources/keyfiles/certificates/CA_ed25519.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACA6Ya5UWXxyNsSeyCKpqC44tgYdo+2T9I8pwi9E5407hwAAAJhnCXFqZwlx
agAAAAtzc2gtZWQyNTUxOQAAACA6Ya5UWXxyNsSeyCKpqC44tgYdo+2T9I8pwi9E5407hw
AAAEBHofpGRYy15jvyiJrPuijusTXmM6bQs6fgegqljUzqwjphrlRZfHI2xJ7IIqmoLji2
Bh2j7ZP0jynCL0TnjTuHAAAADkNBX2VkMjU1MTkucGVtAQIDBAUGBw==
-----END OPENSSH PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDphrlRZfHI2xJ7IIqmoLji2Bh2j7ZP0jynCL0TnjTuH CA_ed25519.pem
38 changes: 38 additions & 0 deletions src/itest/resources/keyfiles/certificates/CA_rsa.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
tMsqKBf4Eo96EAAAAKQ0FfcnNhLnBlbQE=
-----END OPENSSH PRIVATE KEY-----
1 change: 1 addition & 0 deletions src/itest/resources/keyfiles/certificates/CA_rsa.pem.pub
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKUVeHsdWatk8ykj+4NV6wALBrKmxrynugY16iWtTmsj4HEyVmSw1QojWqajKBgnagJ8wSiKlcI8YXctTj+3OQbz2RvZY7o5QIgYUObfTazfo1r+qRN8N5uTBQ1Ye53hr6/cCvCBoSHrX6Ruv8Cd8jgBdbEJAsIA3+wX5GzKtSH/qskwxeyN388mqmF/+tQUdosraTcWlVcNYNeRCnUR5FHO+tC9JFRcFpJsgBaSvmTzmpfaURymvZov900V3ENtGZwQc88ZeG7J15xFiC4QUsbLaBBfeIRyi3rqCpfZD8fzair8IyBKrVP5hO4vmgBPVn+p0dAjrZQT7I8WbX9gHNq8lAnfxHHQKgxjsGcuJtbNBuREDE1NblgoBgcs+gz1gggwmnUKtBmgAo3DsgXMuba1KhsWKg75mQoKuiA79WxhQ5RcdXsTsSACrq7olXTzZ/nPoexxJnjPjjiata44mw+5FMDCtHHIVc6YyNscAvHnEBfY3hRgXKKGvOjjuuaD0= CA_rsa.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIIfJPrGJGZ7jWfxLWoA4DLK4UX8xeKPZBhpRW8Lf6+C3oAoGCCqGSM49
AwEHoUQDQgAE5Hdnjy/w72a9P3sSQd57DJayX9m75p1N/W1mh3IDIrI6xIOVeu6g
w0KbBSExvjsS6TrtJPgGo9XTFp2LcQBDkw==
-----END EC PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgpQb0g0drrzK2coGjm7xOG0FeIl5pqEoNhbY9VbmEJzsAAAAIbmlzdHAyNTYAAABBBOR3Z48v8O9mvT97EkHeewyWsl/Zu+adTf1tZodyAyKyOsSDlXruoMNCmwUhMb47Euk67ST4BqPV0xadi3EAQ5MAAAAAAAAAAAAAAAEAAAAgaWRfZWNkc2FfMjU2X3BlbV9zaWduZWRfYnlfZWNkc2EAAAAIAAAABHNzaGoAAAAAAAAAAP//////////AAAAAAAAAIIAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB0eQAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAEEE3Pz2T1Pd6X0unKkwfpGzw6+f/ELqy5ur1cGhMrwb3HdDgiJ+w35sLLuH2O5h0TyK3ka+CekzYdJ08EUykmcQUgAAAGQAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAEkAAAAhAPdi7qLZdHYtpNiaQlzT+p//KduiWy3B4o3g+8qmTrywAAAAIGrPimSBL8JTI0YuRzS54Vg90r52aTkRmtOKBXkd7mbx id_ecdsa_256_pem_signed_by_ecdsa
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOR3Z48v8O9mvT97EkHeewyWsl/Zu+adTf1tZodyAyKyOsSDlXruoMNCmwUhMb47Euk67ST4BqPV0xadi3EAQ5M= id_ecdsa_256_pem_signed_by_ecdsa
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIFEVp4a/QxSG2pwM8l2yK17tTC3f98FOd4NAUECN0jZcoAoGCCqGSM49
AwEHoUQDQgAEfz2MGBoHybmWH1pCMKn0u7sLeyDiH5HedZGmQFniDZSUHJErbpaA
pRhnoR12OHyNpblTd3UhpOJl76tp/2Ht+A==
-----END EC PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgjgBeNTL1MzUsswy1BYjpiftZ9C9PEGvM6vngt6hJL/EAAAAIbmlzdHAyNTYAAABBBH89jBgaB8m5lh9aQjCp9Lu7C3sg4h+R3nWRpkBZ4g2UlByRK26WgKUYZ6Eddjh8jaW5U3d1IaTiZe+raf9h7fgAAAAAAAAAAAAAAAEAAAAiaWRfZWNkc2FfMjU2X3BlbV9zaWduZWRfYnlfZWQyNTUxOQAAAAgAAAAEc3NoagAAAAAAAAAA//////////8AAAAAAAAAggAAABVwZXJtaXQtWDExLWZvcndhcmRpbmcAAAAAAAAAF3Blcm1pdC1hZ2VudC1mb3J3YXJkaW5nAAAAAAAAABZwZXJtaXQtcG9ydC1mb3J3YXJkaW5nAAAAAAAAAApwZXJtaXQtcHR5AAAAAAAAAA5wZXJtaXQtdXNlci1yYwAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACA6Ya5UWXxyNsSeyCKpqC44tgYdo+2T9I8pwi9E5407hwAAAFMAAAALc3NoLWVkMjU1MTkAAABAfg65fi6me4HL37NLoLi+9NeAZFHPfS5PfNLbx5ZAvA/wOrV//NlFMiiJ6lAuTLQtQU8WMESDZbf7diSDQI34BQ== id_ecdsa_256_pem_signed_by_ed25519
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH89jBgaB8m5lh9aQjCp9Lu7C3sg4h+R3nWRpkBZ4g2UlByRK26WgKUYZ6Eddjh8jaW5U3d1IaTiZe+raf9h7fg= id_ecdsa_256_pem_signed_by_ed25519
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOzGWqHfgD0W/1E3lozWoK0EGi/fh07uw1YR9K3y/EA/oAoGCCqGSM49
AwEHoUQDQgAECRvqxweOpIpe/gX/0htrI+ZH0gqPT9YYxrIrGJKGJ4X3g24tqyI/
VAJGyJ3e/bAE1Mnlm4EAN08cokWUOF+wOg==
-----END EC PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgb79Hsx9T9VAh4/hyezWkS4le/m0+YLq9sUXAme7QiRQAAAAIbmlzdHAyNTYAAABBBAkb6scHjqSKXv4F/9IbayPmR9IKj0/WGMayKxiShieF94NuLasiP1QCRsid3v2wBNTJ5ZuBADdPHKJFlDhfsDoAAAAAAAAAAAAAAAEAAAAeaWRfZWNkc2FfMjU2X3BlbV9zaWduZWRfYnlfcnNhAAAACAAAAARzc2hqAAAAAAAAAAD//////////wAAAAAAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAGXAAAAB3NzaC1yc2EAAAADAQABAAABgQDKUVeHsdWatk8ykj+4NV6wALBrKmxrynugY16iWtTmsj4HEyVmSw1QojWqajKBgnagJ8wSiKlcI8YXctTj+3OQbz2RvZY7o5QIgYUObfTazfo1r+qRN8N5uTBQ1Ye53hr6/cCvCBoSHrX6Ruv8Cd8jgBdbEJAsIA3+wX5GzKtSH/qskwxeyN388mqmF/+tQUdosraTcWlVcNYNeRCnUR5FHO+tC9JFRcFpJsgBaSvmTzmpfaURymvZov900V3ENtGZwQc88ZeG7J15xFiC4QUsbLaBBfeIRyi3rqCpfZD8fzair8IyBKrVP5hO4vmgBPVn+p0dAjrZQT7I8WbX9gHNq8lAnfxHHQKgxjsGcuJtbNBuREDE1NblgoBgcs+gz1gggwmnUKtBmgAo3DsgXMuba1KhsWKg75mQoKuiA79WxhQ5RcdXsTsSACrq7olXTzZ/nPoexxJnjPjjiata44mw+5FMDCtHHIVc6YyNscAvHnEBfY3hRgXKKGvOjjuuaD0AAAGUAAAADHJzYS1zaGEyLTUxMgAAAYCLm55D5nwIJNNCPidXas09UpeBc7FO5SBNq2rzOWeFkLcqfEq6uYJvX5/Va/zq9TCW+m1lQrVsqZVa3Ks4lKz44IBzyqBBpWcfgqNcXOc7wltSW8tfIsmQvSMODMn+bKSQzMWPSt3gjgHFylL4iNbCVSpHmPL3UjhUJurJrtIhTyYtZD6AVZvRS7J07eOTWIl0dx2txJ2xn2fRSx9jkpPDPsuHVB/scE5lm2cqFT5UMe3TVo4jSy6yMqnp+iIThMydsTsq8dFzg8PMFQdCD6MK+zjOPTnKW9wYCuQkjN8/9Ln6imWcpkYNGQsBJiPb1qMUxPzrUnUYMXvjUpzjBiiFaugshmuLFSKxEDSWkjHw6TGAagylOH7vItcptULNmcBrq2gDbI/Pl71aFVFjooOnjeWSmLoAcEIT+2K2e8YMOcC1eBCltVo9hhnfzRLrnV0ss1NI0cP9m0uBri7O77+NPA+TrMMTybe4x3gMzHobEKDrZlyNwJfHUA+vdzCJNQ4= id_ecdsa_256_pem_signed_by_rsa
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAkb6scHjqSKXv4F/9IbayPmR9IKj0/WGMayKxiShieF94NuLasiP1QCRsid3v2wBNTJ5ZuBADdPHKJFlDhfsDo= id_ecdsa_256_pem_signed_by_rsa
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQSg88EiIHWvzomLE8ahdjrqE0iZnrCZ
5bBy1uZj/QiOvJcyWeV8G7nTmyGhDSzE2BVZNmK7tjK1h7QKCcn7gLZqAAAAwEc6tF1HOr
RdAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDzwSIgda/OiYsT
xqF2OuoTSJmesJnlsHLW5mP9CI68lzJZ5XwbudObIaENLMTYFVk2Yru2MrWHtAoJyfuAtm
oAAAAhAN2usDXl6owiRjz99e5lTmsGwFY1qtPlDBP+G4d4pBbhAAAAJGlkX2VjZHNhXzI1
Nl9yZmM0NzE2X3NpZ25lZF9ieV9lY2RzYQECAw==
-----END OPENSSH PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgpwwYrqrCZSI5imMxVTHnzFZSDW3NvYfLaFMiKCvegaAAAAAIbmlzdHAyNTYAAABBBKDzwSIgda/OiYsTxqF2OuoTSJmesJnlsHLW5mP9CI68lzJZ5XwbudObIaENLMTYFVk2Yru2MrWHtAoJyfuAtmoAAAAAAAAAAAAAAAEAAAAkaWRfZWNkc2FfMjU2X3JmYzQ3MTZfc2lnbmVkX2J5X2VjZHNhAAAACAAAAARzc2hqAAAAAAAAAAD//////////wAAAAAAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAABoAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNz89k9T3el9LpypMH6Rs8Ovn/xC6subq9XBoTK8G9x3Q4IifsN+bCy7h9juYdE8it5GvgnpM2HSdPBFMpJnEFIAAABkAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAABJAAAAIQD7GTHsM19ZtnntVYvFz3dJZZh5ZyJz2OeNPbUTEtBTiQAAACA1Zanogf6uUgFnjNS1KwOhSUqzKwtQ+Db7c6DV2HFN8g== id_ecdsa_256_rfc4716_signed_by_ecdsa
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDzwSIgda/OiYsTxqF2OuoTSJmesJnlsHLW5mP9CI68lzJZ5XwbudObIaENLMTYFVk2Yru2MrWHtAoJyfuAtmo= id_ecdsa_256_rfc4716_signed_by_ecdsa
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQSSlaBbx7IhGpFNz0AJjNS9ltz3Pt+7
qI5PPwRJKq5qIdJiejYjE4G4/kHSacJXYj9AsmSIkWq8blhW099x+MmiAAAAwNnay43Z2s
uNAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJKVoFvHsiEakU3P
QAmM1L2W3Pc+37uojk8/BEkqrmoh0mJ6NiMTgbj+QdJpwldiP0CyZIiRarxuWFbT33H4ya
IAAAAhAIAiz2os7YuPnqIHiRnHhQjcnm2y/D8WJ35paiWs1RVGAAAAJmlkX2VjZHNhXzI1
Nl9yZmM0NzE2X3NpZ25lZF9ieV9lZDI1NTE5AQ==
-----END OPENSSH PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAg8EviOh4kJ/RDObpq9OJjY1v55378bby2aNotrPon6XsAAAAIbmlzdHAyNTYAAABBBJKVoFvHsiEakU3PQAmM1L2W3Pc+37uojk8/BEkqrmoh0mJ6NiMTgbj+QdJpwldiP0CyZIiRarxuWFbT33H4yaIAAAAAAAAAAAAAAAEAAAAmaWRfZWNkc2FfMjU2X3JmYzQ3MTZfc2lnbmVkX2J5X2VkMjU1MTkAAAAIAAAABHNzaGoAAAAAAAAAAP//////////AAAAAAAAAIIAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB0eQAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgOmGuVFl8cjbEnsgiqaguOLYGHaPtk/SPKcIvROeNO4cAAABTAAAAC3NzaC1lZDI1NTE5AAAAQOlUU8WMaF/szvw9K79abfnTNCLr1k6QZyQnbZR8d1hW5+TlhI6020enha0TApG6zwLPuQ28LZstnpSpKehoYwo= id_ecdsa_256_rfc4716_signed_by_ed25519
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJKVoFvHsiEakU3PQAmM1L2W3Pc+37uojk8/BEkqrmoh0mJ6NiMTgbj+QdJpwldiP0CyZIiRarxuWFbT33H4yaI= id_ecdsa_256_rfc4716_signed_by_ed25519
Loading

0 comments on commit ff4a477

Please sign in to comment.