sshpk-conv.1 (3989B)
1 .TH sshpk\-conv 1 "Jan 2016" sshpk "sshpk Commands" 2 .SH NAME 3 .PP 4 sshpk\-conv \- convert between key formats 5 .SH SYNOPSYS 6 .PP 7 \fB\fCsshpk\-conv\fR \-t FORMAT [FILENAME] [OPTIONS...] 8 .PP 9 \fB\fCsshpk\-conv\fR \-i [FILENAME] [OPTIONS...] 10 .SH DESCRIPTION 11 .PP 12 Reads in a public or private key and converts it between different formats, 13 particularly formats used in the SSH protocol and the well\-known PEM PKCS#1/7 14 formats. 15 .PP 16 In the second form, with the \fB\fC\-i\fR option given, identifies a key and prints to 17 stderr information about its nature, size and fingerprint. 18 .SH EXAMPLES 19 .PP 20 Assume the following SSH\-format public key in \fB\fCid_ecdsa.pub\fR: 21 .PP 22 .RS 23 .nf 24 ecdsa\-sha2\-nistp256 AAAAE2VjZHNhLXNoYTI...9M/4c4= user@host 25 .fi 26 .RE 27 .PP 28 Identify it with \fB\fC\-i\fR: 29 .PP 30 .RS 31 .nf 32 $ sshpk\-conv \-i id_ecdsa.pub 33 id_ecdsa: a 256 bit ECDSA public key 34 ECDSA curve: nistp256 35 Comment: user@host 36 Fingerprint: 37 SHA256:vCNX7eUkdvqqW0m4PoxQAZRv+CM4P4fS8+CbliAvS4k 38 81:ad:d5:57:e5:6f:7d:a2:93:79:56:af:d7:c0:38:51 39 .fi 40 .RE 41 .PP 42 Convert it to \fB\fCpkcs8\fR format, for use with e.g. OpenSSL: 43 .PP 44 .RS 45 .nf 46 $ sshpk\-conv \-t pkcs8 id_ecdsa 47 \-\-\-\-\-BEGIN PUBLIC KEY\-\-\-\-\- 48 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAsA4R6N6AS3gzaPBeLjG2ObSgUsR 49 zOt+kWJoijLnw3ZMYUKmAx+lD0I5XUxdrPcs1vH5f3cn9TvRvO9L0z/hzg== 50 \-\-\-\-\-END PUBLIC KEY\-\-\-\-\- 51 .fi 52 .RE 53 .PP 54 Retrieve the public half of a private key: 55 .PP 56 .RS 57 .nf 58 $ openssl genrsa 2048 | sshpk\-conv \-t ssh \-c foo@bar 59 ssh\-rsa AAAAB3NzaC1yc2EAAA...koK7 foo@bar 60 .fi 61 .RE 62 .PP 63 Convert a private key to PKCS#1 (OpenSSL) format from a new\-style OpenSSH key 64 format (the \fB\fCssh\-keygen \-o\fR format): 65 .PP 66 .RS 67 .nf 68 $ ssh\-keygen \-o \-f foobar 69 \&... 70 $ sshpk\-conv \-p \-t pkcs1 foobar 71 \-\-\-\-\-BEGIN RSA PRIVATE KEY\-\-\-\-\- 72 MIIDpAIBAAKCAQEA6T/GYJndb1TRH3+NL.... 73 \-\-\-\-\-END RSA PRIVATE KEY\-\-\-\-\- 74 .fi 75 .RE 76 .SH OPTIONS 77 .TP 78 \fB\fC\-i, \-\-identify\fR 79 Instead of converting the key, output identifying information about it to 80 stderr, including its type, size and fingerprints. 81 .TP 82 \fB\fC\-p, \-\-private\fR 83 Treat the key as a private key instead of a public key (the default). If you 84 supply \fB\fCsshpk\-conv\fR with a private key and do not give this option, it will 85 extract only the public half of the key from it and work with that. 86 .TP 87 \fB\fC\-f PATH, \-\-file=PATH\fR 88 Input file to take the key from instead of stdin. If a filename is supplied 89 as a positional argument, it is equivalent to using this option. 90 .TP 91 \fB\fC\-o PATH, \-\-out=PATH\fR 92 Output file name to use instead of stdout. 93 .PP 94 \fB\fC\-T FORMAT, \-\-informat=FORMAT\fR 95 .TP 96 \fB\fC\-t FORMAT, \-\-outformat=FORMAT\fR 97 Selects the input and output formats to be used (see FORMATS, below). 98 .TP 99 \fB\fC\-c TEXT, \-\-comment=TEXT\fR 100 Sets the key comment for the output file, if supported. 101 .SH FORMATS 102 .PP 103 Currently supported formats: 104 .TP 105 \fB\fCpem, pkcs1\fR 106 The standard PEM format used by older OpenSSH and most TLS libraries such as 107 OpenSSL. The classic \fB\fCid_rsa\fR file is usually in this format. It is an ASN.1 108 encoded structure, base64\-encoded and placed between PEM headers. 109 .TP 110 \fB\fCssh\fR 111 The SSH public key text format (the format of an \fB\fCid_rsa.pub\fR file). A single 112 line, containing 3 space separated parts: the key type, key body and optional 113 key comment. 114 .TP 115 \fB\fCpkcs8\fR 116 A newer PEM format, usually used only for public keys by TLS libraries such 117 as OpenSSL. The ASN.1 structure is more generic than that of \fB\fCpkcs1\fR\&. 118 .TP 119 \fB\fCopenssh\fR 120 The new \fB\fCssh\-keygen \-o\fR format from OpenSSH. This can be mistaken for a PEM 121 encoding but is actually an OpenSSH internal format. 122 .TP 123 \fB\fCrfc4253\fR 124 The internal binary format of keys when sent over the wire in the SSH 125 protocol. This is also the format that the \fB\fCssh\-agent\fR uses in its protocol. 126 .SH SEE ALSO 127 .PP 128 .BR ssh-keygen (1), 129 .BR openssl (1) 130 .SH BUGS 131 .PP 132 Encrypted (password\-protected) keys are not supported. 133 .PP 134 Report bugs at Github 135 \[la]https://github.com/arekinath/node-sshpk/issues\[ra]