Initial commit
[yaffs-website] / node_modules / sshpk / man / man1 / sshpk-conv.1
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]