Compare commits

..

5 Commits

Author SHA1 Message Date
AJ ONeal c54e91c5c3 update test 2018-12-10 23:36:18 -07:00
AJ ONeal bcc503596f fix EC padding 2018-12-10 23:23:17 -07:00
AJ ONeal afdd93b267 wip: seems to pass our test (openssh parses and modifies) 2018-12-09 23:35:53 -07:00
AJ ONeal 16ad97d445 wip: fix rsa 2018-12-09 23:31:13 -07:00
AJ ONeal 931e884ba9 wip: pack ssh private keys 2018-12-09 23:08:08 -07:00
26 changed files with 389 additions and 121 deletions

View File

@ -11,17 +11,13 @@ Features
< 75 lines of code | < 0.7kb gzipped | 1.5kb minified | 2.1kb with comments
* [x] SSH Public Keys
* [x] OpenSSH Private Keys
* [x] RSA Keys
* [x] EC Keys
* [x] RSA Public Keys
* [x] EC Public Keys
* P-256 (prime256v1, secp256r1)
* P-384 (secp384r1)
* [x] Browser Version
* [Bluecrypt JWK to SSH](https://git.coolaj86.com/coolaj86/bluecrypt-jwk-to-ssh.js)
Note: the file size stats are for v1.0 which did not include private key packing.
I plan to go back and update the stats, but just know that it grew a little over 2x.
### Need JWK to SSH? PEM to SSH?
Try one of these:
@ -30,35 +26,12 @@ Try one of these:
* [Eckles.js](https://git.coolaj86.com/coolaj86/eckles.js) (more EC utils)
* [Rasha.js](https://git.coolaj86.com/coolaj86/eckles.js) (more RSA utils)
### Need Alternate SSH Private Keys?
### Need SSH Private Keys?
This library supports OpenSSH private keys.
SSH private keys are just normal PEM files,
so you can use Eckles or Rasha, as mentioned above.
* [x] OpenSSH
* [ ] Normal PKCS1 / SEC1 / PKCS8
* [x] Rasha.js
* [x] Eckles.js
* [ ] Putty
# Library Usage
You can also use it from JavaScript:
```js
var fs = require('fs');
var jwktossh = require('jwk-to-ssh');
var jwk = JSON.parse(fs.readFileSync("./privkey.jwk.json"));
var pub = jwktossh.pack({
jwk: jwk
, comment: 'root@localhost'
, public: true
});
console.info(pub);
```
# CLI Usage
# CLI
You can install `jwk-to-ssh` and use it from command line:
@ -66,20 +39,25 @@ You can install `jwk-to-ssh` and use it from command line:
npm install -g jwk-to-ssh
```
```bash
jwk-to-ssh [keyfile] [comment] [public]
```
```bash
jwk-to-ssh pubkey.jwk.json
```
```bash
jwk-to-ssh privkey.jwk.json root@localhost
```
# Usage
```bash
jwk-to-ssh privkey.jwk.json root@localhost public
You can also use it from JavaScript:
```js
var fs = require('fs');
var jwktossh = require('jwk-to-ssh');
var jwk = JSON.parse(fs.readFileSync("./pubkey.jwk.json"));
var pub = jwktossh.pack({
jwk: jwk
, comment: 'root@localhost'
});
console.info(pub);
```
Legal

View File

@ -1,7 +1,7 @@
{
"kty": "EC",
"crv": "P-256",
"d": "iYydo27aNGO9DBUWeGEPD8oNi1LZDqfxPmQlieLBjVQ",
"x": "IT1SWLxsacPiE5Z16jkopAn8_-85rMjgyCokrnjDft4",
"y": "mP2JwOAOdMmXuwpxbKng3KZz27mz-nKWIlXJ3rzSGMo"
"d": "BzKpRmMyXZ4jnSt3ARz0ul6R79AXAr5gQqDAmoFeEKw",
"x": "fVmT3gUr4sZIY0Dofcgl15RMeQjfTMofeAiSda4oH_M",
"y": "r3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa_E"
}

View File

@ -0,0 +1,7 @@
{
"kty": "EC",
"crv": "P-256",
"d": "BzKpRmMyXZ4jnSt3ARz0ul6R79AXAr5gQqDAmoFeEKw",
"x": "fVmT3gUr4sZIY0Dofcgl15RMeQjfTMofeAiSda4oH_M",
"y": "r3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa_E"
}

View File

@ -0,0 +1,7 @@
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQR9WZPeBSvixkhjQOh9yCXXlEx5CN9M
yh94CJJ1rigf8693gc90HmahIR5oMGHwlqMoS7kKrRw+4KpxqsF7LGvxAAAAqJZtgRuWbY
EbAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH1Zk94FK+LGSGNA
6H3IJdeUTHkI30zKH3gIknWuKB/zr3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa/
EAAAAgBzKpRmMyXZ4jnSt3ARz0ul6R79AXAr5gQqDAmoFeEKwAAAAOYWpAYm93aWUubG9j
YWwBAg==

View File

@ -0,0 +1,7 @@
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQR9WZPeBSvixkhjQOh9yCXXlEx5CN9M
yh94CJJ1rigf8693gc90HmahIR5oMGHwlqMoS7kKrRw+4KpxqsF7LGvxAAAAqGJjanNiY2
pzAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH1Zk94FK+LGSGNA
6H3IJdeUTHkI30zKH3gIknWuKB/zr3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa/
EAAAAgBzKpRmMyXZ4jnSt3ARz0ul6R79AXAr5gQqDAmoFeEKwAAAAOYWpAYm93aWUubG9j
YWwBAg==

View File

@ -0,0 +1,20 @@
00000000: 6f70 656e 7373 682d 6b65 792d 7631 0000 openssh-key-v1..
00000010: 0000 046e 6f6e 6500 0000 046e 6f6e 6500 ...none....none.
00000020: 0000 0000 0000 0100 0000 6800 0000 1365 ..........h....e
00000030: 6364 7361 2d73 6861 322d 6e69 7374 7032 cdsa-sha2-nistp2
00000040: 3536 0000 0008 6e69 7374 7032 3536 0000 56....nistp256..
00000050: 0041 047d 5993 de05 2be2 c648 6340 e87d .A.}Y...+..Hc@.}
00000060: c825 d794 4c79 08df 4cca 1f78 0892 75ae .%..Ly..L..x..u.
00000070: 281f f3af 7781 cf74 1e66 a121 1e68 3061 (...w..t.f.!.h0a
00000080: f096 a328 4bb9 0aad 1c3e e0aa 71aa c17b ...(K....>..q..{
00000090: 2c6b f100 0000 a896 6d81 1b96 6d81 1b00 ,k......m...m...
000000a0: 0000 1365 6364 7361 2d73 6861 322d 6e69 ...ecdsa-sha2-ni
000000b0: 7374 7032 3536 0000 0008 6e69 7374 7032 stp256....nistp2
000000c0: 3536 0000 0041 047d 5993 de05 2be2 c648 56...A.}Y...+..H
000000d0: 6340 e87d c825 d794 4c79 08df 4cca 1f78 c@.}.%..Ly..L..x
000000e0: 0892 75ae 281f f3af 7781 cf74 1e66 a121 ..u.(...w..t.f.!
000000f0: 1e68 3061 f096 a328 4bb9 0aad 1c3e e0aa .h0a...(K....>..
00000100: 71aa c17b 2c6b f100 0000 2007 32a9 4663 q..{,k.... .2.Fc
00000110: 325d 9e23 9d2b 7701 1cf4 ba5e 91ef d017 2].#.+w....^....
00000120: 02be 6042 a0c0 9a81 5e10 ac00 0000 0e61 ..`B....^......a
00000130: 6a40 626f 7769 652e 6c6f 6361 6c01 02 j@bowie.local..

View File

@ -0,0 +1,20 @@
00000000: 6f70 656e 7373 682d 6b65 792d 7631 0000 openssh-key-v1..
00000010: 0000 046e 6f6e 6500 0000 046e 6f6e 6500 ...none....none.
00000020: 0000 0000 0000 0100 0000 6800 0000 1365 ..........h....e
00000030: 6364 7361 2d73 6861 322d 6e69 7374 7032 cdsa-sha2-nistp2
00000040: 3536 0000 0008 6e69 7374 7032 3536 0000 56....nistp256..
00000050: 0041 047d 5993 de05 2be2 c648 6340 e87d .A.}Y...+..Hc@.}
00000060: c825 d794 4c79 08df 4cca 1f78 0892 75ae .%..Ly..L..x..u.
00000070: 281f f3af 7781 cf74 1e66 a121 1e68 3061 (...w..t.f.!.h0a
00000080: f096 a328 4bb9 0aad 1c3e e0aa 71aa c17b ...(K....>..q..{
00000090: 2c6b f100 0000 a862 636a 7362 636a 7300 ,k.....bcjsbcjs.
000000a0: 0000 1365 6364 7361 2d73 6861 322d 6e69 ...ecdsa-sha2-ni
000000b0: 7374 7032 3536 0000 0008 6e69 7374 7032 stp256....nistp2
000000c0: 3536 0000 0041 047d 5993 de05 2be2 c648 56...A.}Y...+..H
000000d0: 6340 e87d c825 d794 4c79 08df 4cca 1f78 c@.}.%..Ly..L..x
000000e0: 0892 75ae 281f f3af 7781 cf74 1e66 a121 ..u.(...w..t.f.!
000000f0: 1e68 3061 f096 a328 4bb9 0aad 1c3e e0aa .h0a...(K....>..
00000100: 71aa c17b 2c6b f100 0000 2007 32a9 4663 q..{,k.... .2.Fc
00000110: 325d 9e23 9d2b 7701 1cf4 ba5e 91ef d017 2].#.+w....^....
00000120: 02be 6042 a0c0 9a81 5e10 ac00 0000 0e61 ..`B....^......a
00000130: 6a40 626f 7769 652e 6c6f 6361 6c01 02 j@bowie.local..

View File

@ -1,9 +1,9 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQQhPVJYvGxpw+ITlnXqOSikCfz/7zms
yODIKiSueMN+3pj9icDgDnTJl7sKcWyp4Nymc9u5s/pyliJVyd680hjKAAAAqGJjanNiY2
pzAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCE9Uli8bGnD4hOW
deo5KKQJ/P/vOazI4MgqJK54w37emP2JwOAOdMmXuwpxbKng3KZz27mz+nKWIlXJ3rzSGM
oAAAAhAImMnaNu2jRjvQwVFnhhDw/KDYtS2Q6n8T5kJYniwY1UAAAADnJvb3RAbG9jYWxo
b3N0AQ==
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQR9WZPeBSvixkhjQOh9yCXXlEx5CN9M
yh94CJJ1rigf8693gc90HmahIR5oMGHwlqMoS7kKrRw+4KpxqsF7LGvxAAAAqJZtgRuWbY
EbAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH1Zk94FK+LGSGNA
6H3IJdeUTHkI30zKH3gIknWuKB/zr3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa/
EAAAAgBzKpRmMyXZ4jnSt3ARz0ul6R79AXAr5gQqDAmoFeEKwAAAAOYWpAYm93aWUubG9j
YWwBAg==
-----END OPENSSH PRIVATE KEY-----

View File

@ -0,0 +1,9 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQR9WZPeBSvixkhjQOh9yCXXlEx5CN9M
yh94CJJ1rigf8693gc90HmahIR5oMGHwlqMoS7kKrRw+4KpxqsF7LGvxAAAAqGJjanNiY2
pzAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH1Zk94FK+LGSGNA
6H3IJdeUTHkI30zKH3gIknWuKB/zr3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa/
EAAAAgBzKpRmMyXZ4jnSt3ARz0ul6R79AXAr5gQqDAmoFeEKwAAAAOYWpAYm93aWUubG9j
YWwBAg==
-----END OPENSSH PRIVATE KEY-----

View File

@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH1Zk94FK+LGSGNA6H3IJdeUTHkI30zKH3gIknWuKB/zr3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa/E= root@localhost

View File

@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH1Zk94FK+LGSGNA6H3IJdeUTHkI30zKH3gIknWuKB/zr3eBz3QeZqEhHmgwYfCWoyhLuQqtHD7gqnGqwXssa/E= root@localhost

View File

@ -1,7 +0,0 @@
{
"kty": "EC",
"crv": "P-384",
"d": "XlyuCEWSTTS8U79O_Mz05z18vh4kb10szvu_7pdXuGWV6lfEyPExyUYWsA6A2kdV",
"x": "2zEU0bKCa7ejKLIJ8oPGnLhqhxyiv4_w38K2a0SPC6dsSd9_glNJ8lcqv0sff5Gb",
"y": "VD4jnu83S6scn6_TeAj3EZOREGbOs6dzoVpaugn-XQMMyC9O4VLbDDFGBZTJlMsb"
}

View File

@ -1,10 +0,0 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAiAAAABNlY2RzYS
1zaGEyLW5pc3RwMzg0AAAACG5pc3RwMzg0AAAAYQTbMRTRsoJrt6Mosgnyg8acuGqHHKK/
j/DfwrZrRI8Lp2xJ33+CU0nyVyq/Sx9/kZtUPiOe7zdLqxyfr9N4CPcRk5EQZs6zp3OhWl
q6Cf5dAwzIL07hUtsMMUYFlMmUyxsAAADYYmNqc2JjanMAAAATZWNkc2Etc2hhMi1uaXN0
cDM4NAAAAAhuaXN0cDM4NAAAAGEE2zEU0bKCa7ejKLIJ8oPGnLhqhxyiv4/w38K2a0SPC6
dsSd9/glNJ8lcqv0sff5GbVD4jnu83S6scn6/TeAj3EZOREGbOs6dzoVpaugn+XQMMyC9O
4VLbDDFGBZTJlMsbAAAAMF5crghFkk00vFO/TvzM9Oc9fL4eJG9dLM77v+6XV7hllepXxM
jxMclGFrAOgNpHVQAAAA5yb290QGxvY2FsaG9zdAEC
-----END OPENSSH PRIVATE KEY-----

View File

@ -1,9 +1,9 @@
{
"kty": "RSA",
"n": "m2ttVBxPlWw06ZmGBWVDlfjkPAJ4DgnY0TrDwtCohHzLxGhDNzUJefLukC-xu0LBKylYojT5vTkxaOhxeSYo31syu4WhxbkTBLICOFcCGMob6pSQ38P8LdAIlb0pqDHxEJ9adWomjuFf0SUhN1cP7s9m8Yk9trkpEqjskocn2BOnTB57qAZM6-I70on0_iDZm7-jcqOPgADAmbWHhy67BXkk4yy_YzD4yOGZFXZcNp915_TW5bRd__AKPHUHxJasPiyEFqlNKBR2DSD-LbX5eTmzCh2ikrwTMja7mUdBJf2bK3By5AB0Qi49OykUCfNZeQlEz7UNNj9RGps_50-CNw",
"n": "0zRlF7ykENrG3V3SC83iO7utM4gQx6gm62MVJHa6NCwPEqoppEHsRynfUgVb68TZt5dS7AkZniIK8ZYcLqbbMoCvNK0V-SYrdgwkT-trcjASBCKi8QJLDBFtc-jN1yHSI9o1pC-noukL3q9NyVreE38WRveGsUj8T2h2H-j7G_pWZzH2K1l7VQ_YSQOr0IyjapqVKNSNnVqunuhdznqXo37vQs9cjJxLDSRtwjrmyUl1JBHbCWEq1t8H1JzDwa5Z47PLj-DQU4pPuUh5qW_qVN_tg44AuLbJ0yJIrrGiyKf6iZkvl9fKRc0QjMto319UHhzD7F5wUr3X8iHWXyFbOQ",
"e": "AQAB",
"d": "Cpfo7Mm9Nu8YMC_xrZ54W9mKHPkCG9rZ93Ds9PNp-RXUgb-ljTbFPZWsYxGNKLllFz8LNosr1pT2ZDMrwNk0Af1iWNvD6gkyXaiQdCyiDPSBsJyNv2LJZon-e85X74nv53UlIkmo9SYxdLz2JaJ-iIWEe8Qh-7llLktrTJV_xr98_tbhgSppz_IeOymq3SEZaQHM8pTU7w7XvCj2pb9r8fN0M0XcgWZIaf3LGEfkhF_WtX67XJ0C6-LbkT51jtlLRNGX6haGdscXS0OWWjKOJzKGuV-NbthEn5rmRtVnjRZ3yaxQ0ud8vC-NONn7yvGUlOur1IdDzJ_YfHPt9sHMQQ",
"p": "ynG-t9HwKCN3MWRYFdnFzi9-02Qcy3p8B5pu3ary2E70hYn2pHlUG2a9BNE8c5xHQ3Hx43WoWf6s0zOunPV1G28LkU_UYEbAtPv_PxSmzpQp9n9XnYvBLBF8Y3z7gxgLn1vVFNARrQdRtj87qY3aw7E9S4DsGcAarIuOT2TsTCE",
"q": "xIkAjgUzB1zaUzJtW2Zgvp9cYYr1DmpH30ePZl3c_8397_DZDDo46fnFYjs6uPa03HpmKUnbjwr14QHlfXlntJBEuXxcqLjkdKdJ4ob7xueLTK4suo9V8LSrkLChVxlZQwnFD2E5ll0sVeeDeMJHQw38ahSrBFEVnxjpnPh1Q1c",
"qi": "AlHWbx1gp6Z9pbw_1hlS7HuXAgWoX7IjbTUelldf4gkriDWLOrj3QCZcO4ZvZvEwJhVlsny9LO8IkbwGJEL6cXraK08ByVS2mwQyflgTgGNnpzixyEUL_mrQLx6y145FHcxfeqNInMhep-0Mxn1D5nlhmIOgRApS0t9VoXtHhFU"
"d": "FM_i7lXebPLCCepG2nbtRimWRa-wx5vgSe23laJFcwKscZBnDhKY7-JGaVSx3CfHtHmq6Ct1ZMnB_lBmcopqqy1XFn-_3I9QVQ-ZPG7cZaIrBFFNcSZissu812End32TsYi9JHK1uC3yx3zK036qx40Mau3VTf79Le4DRd21cOoqSKqzt2fngyWCIV2VbUj1Jk5HvF5gHmBC1_iIJlrkE0sWkPBZSAhLfOqCuFDRUPfovSueF_pUUYSLqhQHpda1wBl6XDErE1lU8kaVaI7pxf6_RswTqIWH4J0NK_6n_pcTYHFJagMW1qfnUewXsXxJ_14tzNqXoOWtTqf45D8LqQ",
"p": "-q0o_Xxs3x1c9HjCexR6QPxV-WWfdBEQcHjFQiwr045HPa9gBU0_SS6doOb7xeKWDuk_qSRF1vfABLXkDzY9jDPFmTpk2tcexT2PZu1Y0Y0h-C9nQCzBfeDTKGv-Jju4JRbSqrhk907cMajponP47QYYqX4GRvdOnbWHizoNiks",
"q": "17CkB-asl_lX0vieylkIseZm74mQutso-bhHGNLx_VEbtn2EV3hiLfslsd4yxnMPTFdZKUTw-sPksYO8_0_3H2T18q8XTOm7rs9N5ahWHMmfx-shBpub2e8Z23tk60Hk5O1lzSBH5iktC9mE86BwpohZ1uvpJffialjvTR5C_gs",
"qi": "bRdofVl5iXHzw9rlUyerqdnNOdI9LjnQlrAyUVkfxM1CS1-E9F3j7F4kHzm5bWPnsS51VlY6xX02WPATHvkUjzUvsAbdyg-sCYTw5aTFSzG2D6A0yNrX3CaHnHu0N8Gj6a_hfEzJ1FDnURefUEyjgRwBl_bsYkuQ3JkfhsIEKMM"
}

View File

@ -0,0 +1,9 @@
{
"kty": "RSA",
"n": "0zRlF7ykENrG3V3SC83iO7utM4gQx6gm62MVJHa6NCwPEqoppEHsRynfUgVb68TZt5dS7AkZniIK8ZYcLqbbMoCvNK0V-SYrdgwkT-trcjASBCKi8QJLDBFtc-jN1yHSI9o1pC-noukL3q9NyVreE38WRveGsUj8T2h2H-j7G_pWZzH2K1l7VQ_YSQOr0IyjapqVKNSNnVqunuhdznqXo37vQs9cjJxLDSRtwjrmyUl1JBHbCWEq1t8H1JzDwa5Z47PLj-DQU4pPuUh5qW_qVN_tg44AuLbJ0yJIrrGiyKf6iZkvl9fKRc0QjMto319UHhzD7F5wUr3X8iHWXyFbOQ",
"e": "AQAB",
"d": "FM_i7lXebPLCCepG2nbtRimWRa-wx5vgSe23laJFcwKscZBnDhKY7-JGaVSx3CfHtHmq6Ct1ZMnB_lBmcopqqy1XFn-_3I9QVQ-ZPG7cZaIrBFFNcSZissu812End32TsYi9JHK1uC3yx3zK036qx40Mau3VTf79Le4DRd21cOoqSKqzt2fngyWCIV2VbUj1Jk5HvF5gHmBC1_iIJlrkE0sWkPBZSAhLfOqCuFDRUPfovSueF_pUUYSLqhQHpda1wBl6XDErE1lU8kaVaI7pxf6_RswTqIWH4J0NK_6n_pcTYHFJagMW1qfnUewXsXxJ_14tzNqXoOWtTqf45D8LqQ",
"p": "-q0o_Xxs3x1c9HjCexR6QPxV-WWfdBEQcHjFQiwr045HPa9gBU0_SS6doOb7xeKWDuk_qSRF1vfABLXkDzY9jDPFmTpk2tcexT2PZu1Y0Y0h-C9nQCzBfeDTKGv-Jju4JRbSqrhk907cMajponP47QYYqX4GRvdOnbWHizoNiks",
"q": "17CkB-asl_lX0vieylkIseZm74mQutso-bhHGNLx_VEbtn2EV3hiLfslsd4yxnMPTFdZKUTw-sPksYO8_0_3H2T18q8XTOm7rs9N5ahWHMmfx-shBpub2e8Z23tk60Hk5O1lzSBH5iktC9mE86BwpohZ1uvpJffialjvTR5C_gs",
"qi": "bRdofVl5iXHzw9rlUyerqdnNOdI9LjnQlrAyUVkfxM1CS1-E9F3j7F4kHzm5bWPnsS51VlY6xX02WPATHvkUjzUvsAbdyg-sCYTw5aTFSzG2D6A0yNrX3CaHnHu0N8Gj6a_hfEzJ1FDnURefUEyjgRwBl_bsYkuQ3JkfhsIEKMM"
}

View File

@ -0,0 +1,25 @@
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEA0zRlF7ykENrG3V3SC83iO7utM4gQx6gm62MVJHa6NCwPEqoppEHs
RynfUgVb68TZt5dS7AkZniIK8ZYcLqbbMoCvNK0V+SYrdgwkT+trcjASBCKi8QJLDBFtc+
jN1yHSI9o1pC+noukL3q9NyVreE38WRveGsUj8T2h2H+j7G/pWZzH2K1l7VQ/YSQOr0Iyj
apqVKNSNnVqunuhdznqXo37vQs9cjJxLDSRtwjrmyUl1JBHbCWEq1t8H1JzDwa5Z47PLj+
DQU4pPuUh5qW/qVN/tg44AuLbJ0yJIrrGiyKf6iZkvl9fKRc0QjMto319UHhzD7F5wUr3X
8iHWXyFbOQAAA8gqv28eKr9vHgAAAAdzc2gtcnNhAAABAQDTNGUXvKQQ2sbdXdILzeI7u6
0ziBDHqCbrYxUkdro0LA8SqimkQexHKd9SBVvrxNm3l1LsCRmeIgrxlhwuptsygK80rRX5
Jit2DCRP62tyMBIEIqLxAksMEW1z6M3XIdIj2jWkL6ei6Qver03JWt4TfxZG94axSPxPaH
Yf6Psb+lZnMfYrWXtVD9hJA6vQjKNqmpUo1I2dWq6e6F3Oepejfu9Cz1yMnEsNJG3COubJ
SXUkEdsJYSrW3wfUnMPBrlnjs8uP4NBTik+5SHmpb+pU3+2DjgC4tsnTIkiusaLIp/qJmS
+X18pFzRCMy2jfX1QeHMPsXnBSvdfyIdZfIVs5AAAAAwEAAQAAAQAUz+LuVd5s8sIJ6kba
du1GKZZFr7DHm+BJ7beVokVzAqxxkGcOEpjv4kZpVLHcJ8e0earoK3VkycH+UGZyimqrLV
cWf7/cj1BVD5k8btxloisEUU1xJmKyy7zXYSd3fZOxiL0kcrW4LfLHfMrTfqrHjQxq7dVN
/v0t7gNF3bVw6ipIqrO3Z+eDJYIhXZVtSPUmTke8XmAeYELX+IgmWuQTSxaQ8FlICEt86o
K4UNFQ9+i9K54X+lRRhIuqFAel1rXAGXpcMSsTWVTyRpVojunF/r9GzBOohYfgnQ0r/qf+
lxNgcUlqAxbWp+dR7BexfEn/Xi3M2peg5a1Op/jkPwupAAAAgG0XaH1ZeYlx88Pa5VMnq6
nZzTnSPS450JawMlFZH8TNQktfhPRd4+xeJB85uW1j57EudVZWOsV9NljwEx75FI81L7AG
3coPrAmE8OWkxUsxtg+gNMja19wmh5x7tDfBo+mv4XxMydRQ51EXn1BMo4EcAZf27GJLkN
yZH4bCBCjDAAAAgQD6rSj9fGzfHVz0eMJ7FHpA/FX5ZZ90ERBweMVCLCvTjkc9r2AFTT9J
Lp2g5vvF4pYO6T+pJEXW98AEteQPNj2MM8WZOmTa1x7FPY9m7VjRjSH4L2dALMF94NMoa/
4mO7glFtKquGT3TtwxqOmic/jtBhipfgZG906dtYeLOg2KSwAAAIEA17CkB+asl/lX0vie
ylkIseZm74mQutso+bhHGNLx/VEbtn2EV3hiLfslsd4yxnMPTFdZKUTw+sPksYO8/0/3H2
T18q8XTOm7rs9N5ahWHMmfx+shBpub2e8Z23tk60Hk5O1lzSBH5iktC9mE86BwpohZ1uvp
JffialjvTR5C/gsAAAAOYWpAYm93aWUubG9jYWwBAgMEBQ==

View File

@ -0,0 +1,25 @@
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEA0zRlF7ykENrG3V3SC83iO7utM4gQx6gm62MVJHa6NCwPEqoppEHs
RynfUgVb68TZt5dS7AkZniIK8ZYcLqbbMoCvNK0V+SYrdgwkT+trcjASBCKi8QJLDBFtc+
jN1yHSI9o1pC+noukL3q9NyVreE38WRveGsUj8T2h2H+j7G/pWZzH2K1l7VQ/YSQOr0Iyj
apqVKNSNnVqunuhdznqXo37vQs9cjJxLDSRtwjrmyUl1JBHbCWEq1t8H1JzDwa5Z47PLj+
DQU4pPuUh5qW/qVN/tg44AuLbJ0yJIrrGiyKf6iZkvl9fKRc0QjMto319UHhzD7F5wUr3X
8iHWXyFbOQAAA8hiY2pzYmNqcwAAAAdzc2gtcnNhAAABAQDTNGUXvKQQ2sbdXdILzeI7u6
0ziBDHqCbrYxUkdro0LA8SqimkQexHKd9SBVvrxNm3l1LsCRmeIgrxlhwuptsygK80rRX5
Jit2DCRP62tyMBIEIqLxAksMEW1z6M3XIdIj2jWkL6ei6Qver03JWt4TfxZG94axSPxPaH
Yf6Psb+lZnMfYrWXtVD9hJA6vQjKNqmpUo1I2dWq6e6F3Oepejfu9Cz1yMnEsNJG3COubJ
SXUkEdsJYSrW3wfUnMPBrlnjs8uP4NBTik+5SHmpb+pU3+2DjgC4tsnTIkiusaLIp/qJmS
+X18pFzRCMy2jfX1QeHMPsXnBSvdfyIdZfIVs5AAAAAwEAAQAAAQAUz+LuVd5s8sIJ6kba
du1GKZZFr7DHm+BJ7beVokVzAqxxkGcOEpjv4kZpVLHcJ8e0earoK3VkycH+UGZyimqrLV
cWf7/cj1BVD5k8btxloisEUU1xJmKyy7zXYSd3fZOxiL0kcrW4LfLHfMrTfqrHjQxq7dVN
/v0t7gNF3bVw6ipIqrO3Z+eDJYIhXZVtSPUmTke8XmAeYELX+IgmWuQTSxaQ8FlICEt86o
K4UNFQ9+i9K54X+lRRhIuqFAel1rXAGXpcMSsTWVTyRpVojunF/r9GzBOohYfgnQ0r/qf+
lxNgcUlqAxbWp+dR7BexfEn/Xi3M2peg5a1Op/jkPwupAAAAgG0XaH1ZeYlx88Pa5VMnq6
nZzTnSPS450JawMlFZH8TNQktfhPRd4+xeJB85uW1j57EudVZWOsV9NljwEx75FI81L7AG
3coPrAmE8OWkxUsxtg+gNMja19wmh5x7tDfBo+mv4XxMydRQ51EXn1BMo4EcAZf27GJLkN
yZH4bCBCjDAAAAgQD6rSj9fGzfHVz0eMJ7FHpA/FX5ZZ90ERBweMVCLCvTjkc9r2AFTT9J
Lp2g5vvF4pYO6T+pJEXW98AEteQPNj2MM8WZOmTa1x7FPY9m7VjRjSH4L2dALMF94NMoa/
4mO7glFtKquGT3TtwxqOmic/jtBhipfgZG906dtYeLOg2KSwAAAIEA17CkB+asl/lX0vie
ylkIseZm74mQutso+bhHGNLx/VEbtn2EV3hiLfslsd4yxnMPTFdZKUTw+sPksYO8/0/3H2
T18q8XTOm7rs9N5ahWHMmfx+shBpub2e8Z23tk60Hk5O1lzSBH5iktC9mE86BwpohZ1uvp
JffialjvTR5C/gsAAAAOYWpAYm93aWUubG9jYWwBAgMEBQ==

View File

@ -0,0 +1,81 @@
00000000: 6f70 656e 7373 682d 6b65 792d 7631 0000 openssh-key-v1..
00000010: 0000 046e 6f6e 6500 0000 046e 6f6e 6500 ...none....none.
00000020: 0000 0000 0000 0100 0001 1700 0000 0773 ...............s
00000030: 7368 2d72 7361 0000 0003 0100 0100 0001 sh-rsa..........
00000040: 0100 d334 6517 bca4 10da c6dd 5dd2 0bcd ...4e.......]...
00000050: e23b bbad 3388 10c7 a826 eb63 1524 76ba .;..3....&.c.$v.
00000060: 342c 0f12 aa29 a441 ec47 29df 5205 5beb 4,...).A.G).R.[.
00000070: c4d9 b797 52ec 0919 9e22 0af1 961c 2ea6 ....R...."......
00000080: db32 80af 34ad 15f9 262b 760c 244f eb6b .2..4...&+v.$O.k
00000090: 7230 1204 22a2 f102 4b0c 116d 73e8 cdd7 r0.."...K..ms...
000000a0: 21d2 23da 35a4 2fa7 a2e9 0bde af4d c95a !.#.5./......M.Z
000000b0: de13 7f16 46f7 86b1 48fc 4f68 761f e8fb ....F...H.Ohv...
000000c0: 1bfa 5667 31f6 2b59 7b55 0fd8 4903 abd0 ..Vg1.+Y{U..I...
000000d0: 8ca3 6a9a 9528 d48d 9d5a ae9e e85d ce7a ..j..(...Z...].z
000000e0: 97a3 7eef 42cf 5c8c 9c4b 0d24 6dc2 3ae6 ..~.B.\..K.$m.:.
000000f0: c949 7524 11db 0961 2ad6 df07 d49c c3c1 .Iu$...a*.......
00000100: ae59 e3b3 cb8f e0d0 538a 4fb9 4879 a96f .Y......S.O.Hy.o
00000110: ea54 dfed 838e 00b8 b6c9 d322 48ae b1a2 .T........."H...
00000120: c8a7 fa89 992f 97d7 ca45 cd10 8ccb 68df ...../...E....h.
00000130: 5f54 1e1c c3ec 5e70 52bd d7f2 21d6 5f21 _T....^pR...!._!
00000140: 5b39 0000 03c8 2abf 6f1e 2abf 6f1e 0000 [9....*.o.*.o...
00000150: 0007 7373 682d 7273 6100 0001 0100 d334 ..ssh-rsa......4
00000160: 6517 bca4 10da c6dd 5dd2 0bcd e23b bbad e.......]....;..
00000170: 3388 10c7 a826 eb63 1524 76ba 342c 0f12 3....&.c.$v.4,..
00000180: aa29 a441 ec47 29df 5205 5beb c4d9 b797 .).A.G).R.[.....
00000190: 52ec 0919 9e22 0af1 961c 2ea6 db32 80af R....".......2..
000001a0: 34ad 15f9 262b 760c 244f eb6b 7230 1204 4...&+v.$O.kr0..
000001b0: 22a2 f102 4b0c 116d 73e8 cdd7 21d2 23da "...K..ms...!.#.
000001c0: 35a4 2fa7 a2e9 0bde af4d c95a de13 7f16 5./......M.Z....
000001d0: 46f7 86b1 48fc 4f68 761f e8fb 1bfa 5667 F...H.Ohv.....Vg
000001e0: 31f6 2b59 7b55 0fd8 4903 abd0 8ca3 6a9a 1.+Y{U..I.....j.
000001f0: 9528 d48d 9d5a ae9e e85d ce7a 97a3 7eef .(...Z...].z..~.
00000200: 42cf 5c8c 9c4b 0d24 6dc2 3ae6 c949 7524 B.\..K.$m.:..Iu$
00000210: 11db 0961 2ad6 df07 d49c c3c1 ae59 e3b3 ...a*........Y..
00000220: cb8f e0d0 538a 4fb9 4879 a96f ea54 dfed ....S.O.Hy.o.T..
00000230: 838e 00b8 b6c9 d322 48ae b1a2 c8a7 fa89 ......."H.......
00000240: 992f 97d7 ca45 cd10 8ccb 68df 5f54 1e1c ./...E....h._T..
00000250: c3ec 5e70 52bd d7f2 21d6 5f21 5b39 0000 ..^pR...!._![9..
00000260: 0003 0100 0100 0001 0014 cfe2 ee55 de6c .............U.l
00000270: f2c2 09ea 46da 76ed 4629 9645 afb0 c79b ....F.v.F).E....
00000280: e049 edb7 95a2 4573 02ac 7190 670e 1298 .I....Es..q.g...
00000290: efe2 4669 54b1 dc27 c7b4 79aa e82b 7564 ..FiT..'..y..+ud
000002a0: c9c1 fe50 6672 8a6a ab2d 5716 7fbf dc8f ...Pfr.j.-W.....
000002b0: 5055 0f99 3c6e dc65 a22b 0451 4d71 2662 PU..<n.e.+.QMq&b
000002c0: b2cb bcd7 6127 777d 93b1 88bd 2472 b5b8 ....a'w}....$r..
000002d0: 2df2 c77c cad3 7eaa c78d 0c6a edd5 4dfe -..|..~....j..M.
000002e0: fd2d ee03 45dd b570 ea2a 48aa b3b7 67e7 .-..E..p.*H...g.
000002f0: 8325 8221 5d95 6d48 f526 4e47 bc5e 601e .%.!].mH.&NG.^`.
00000300: 6042 d7f8 8826 5ae4 134b 1690 f059 4808 `B...&Z..K...YH.
00000310: 4b7c ea82 b850 d150 f7e8 bd2b 9e17 fa54 K|...P.P...+...T
00000320: 5184 8baa 1407 a5d6 b5c0 197a 5c31 2b13 Q..........z\1+.
00000330: 5954 f246 9568 8ee9 c5fe bf46 cc13 a885 YT.F.h.....F....
00000340: 87e0 9d0d 2bfe a7fe 9713 6071 496a 0316 ....+.....`qIj..
00000350: d6a7 e751 ec17 b17c 49ff 5e2d ccda 97a0 ...Q...|I.^-....
00000360: e5ad 4ea7 f8e4 3f0b a900 0000 806d 1768 ..N...?......m.h
00000370: 7d59 7989 71f3 c3da e553 27ab a9d9 cd39 }Yy.q....S'....9
00000380: d23d 2e39 d096 b032 5159 1fc4 cd42 4b5f .=.9...2QY...BK_
00000390: 84f4 5de3 ec5e 241f 39b9 6d63 e7b1 2e75 ..]..^$.9.mc...u
000003a0: 5656 3ac5 7d36 58f0 131e f914 8f35 2fb0 VV:.}6X......5/.
000003b0: 06dd ca0f ac09 84f0 e5a4 c54b 31b6 0fa0 ...........K1...
000003c0: 34c8 dad7 dc26 879c 7bb4 37c1 a3e9 afe1 4....&..{.7.....
000003d0: 7c4c c9d4 50e7 5117 9f50 4ca3 811c 0197 |L..P.Q..PL.....
000003e0: f6ec 624b 90dc 991f 86c2 0428 c300 0000 ..bK.......(....
000003f0: 8100 faad 28fd 7c6c df1d 5cf4 78c2 7b14 ....(.|l..\.x.{.
00000400: 7a40 fc55 f965 9f74 1110 7078 c542 2c2b z@.U.e.t..px.B,+
00000410: d38e 473d af60 054d 3f49 2e9d a0e6 fbc5 ..G=.`.M?I......
00000420: e296 0ee9 3fa9 2445 d6f7 c004 b5e4 0f36 ....?.$E.......6
00000430: 3d8c 33c5 993a 64da d71e c53d 8f66 ed58 =.3..:d....=.f.X
00000440: d18d 21f8 2f67 402c c17d e0d3 286b fe26 ..!./g@,.}..(k.&
00000450: 3bb8 2516 d2aa b864 f74e dc31 a8e9 a273 ;.%....d.N.1...s
00000460: f8ed 0618 a97e 0646 f74e 9db5 878b 3a0d .....~.F.N....:.
00000470: 8a4b 0000 0081 00d7 b0a4 07e6 ac97 f957 .K.............W
00000480: d2f8 9eca 5908 b1e6 66ef 8990 badb 28f9 ....Y...f.....(.
00000490: b847 18d2 f1fd 511b b67d 8457 7862 2dfb .G....Q..}.Wxb-.
000004a0: 25b1 de32 c673 0f4c 5759 2944 f0fa c3e4 %..2.s.LWY)D....
000004b0: b183 bcff 4ff7 1f64 f5f2 af17 4ce9 bbae ....O..d....L...
000004c0: cf4d e5a8 561c c99f c7eb 2106 9b9b d9ef .M..V.....!.....
000004d0: 19db 7b64 eb41 e4e4 ed65 cd20 47e6 292d ..{d.A...e. G.)-
000004e0: 0bd9 84f3 a070 a688 59d6 ebe9 25f7 e26a .....p..Y...%..j
000004f0: 58ef 4d1e 42fe 0b00 0000 0e61 6a40 626f X.M.B......aj@bo
00000500: 7769 652e 6c6f 6361 6c01 0203 0405 wie.local.....

View File

@ -0,0 +1,81 @@
00000000: 6f70 656e 7373 682d 6b65 792d 7631 0000 openssh-key-v1..
00000010: 0000 046e 6f6e 6500 0000 046e 6f6e 6500 ...none....none.
00000020: 0000 0000 0000 0100 0001 1700 0000 0773 ...............s
00000030: 7368 2d72 7361 0000 0003 0100 0100 0001 sh-rsa..........
00000040: 0100 d334 6517 bca4 10da c6dd 5dd2 0bcd ...4e.......]...
00000050: e23b bbad 3388 10c7 a826 eb63 1524 76ba .;..3....&.c.$v.
00000060: 342c 0f12 aa29 a441 ec47 29df 5205 5beb 4,...).A.G).R.[.
00000070: c4d9 b797 52ec 0919 9e22 0af1 961c 2ea6 ....R...."......
00000080: db32 80af 34ad 15f9 262b 760c 244f eb6b .2..4...&+v.$O.k
00000090: 7230 1204 22a2 f102 4b0c 116d 73e8 cdd7 r0.."...K..ms...
000000a0: 21d2 23da 35a4 2fa7 a2e9 0bde af4d c95a !.#.5./......M.Z
000000b0: de13 7f16 46f7 86b1 48fc 4f68 761f e8fb ....F...H.Ohv...
000000c0: 1bfa 5667 31f6 2b59 7b55 0fd8 4903 abd0 ..Vg1.+Y{U..I...
000000d0: 8ca3 6a9a 9528 d48d 9d5a ae9e e85d ce7a ..j..(...Z...].z
000000e0: 97a3 7eef 42cf 5c8c 9c4b 0d24 6dc2 3ae6 ..~.B.\..K.$m.:.
000000f0: c949 7524 11db 0961 2ad6 df07 d49c c3c1 .Iu$...a*.......
00000100: ae59 e3b3 cb8f e0d0 538a 4fb9 4879 a96f .Y......S.O.Hy.o
00000110: ea54 dfed 838e 00b8 b6c9 d322 48ae b1a2 .T........."H...
00000120: c8a7 fa89 992f 97d7 ca45 cd10 8ccb 68df ...../...E....h.
00000130: 5f54 1e1c c3ec 5e70 52bd d7f2 21d6 5f21 _T....^pR...!._!
00000140: 5b39 0000 03c8 6263 6a73 6263 6a73 0000 [9....bcjsbcjs..
00000150: 0007 7373 682d 7273 6100 0001 0100 d334 ..ssh-rsa......4
00000160: 6517 bca4 10da c6dd 5dd2 0bcd e23b bbad e.......]....;..
00000170: 3388 10c7 a826 eb63 1524 76ba 342c 0f12 3....&.c.$v.4,..
00000180: aa29 a441 ec47 29df 5205 5beb c4d9 b797 .).A.G).R.[.....
00000190: 52ec 0919 9e22 0af1 961c 2ea6 db32 80af R....".......2..
000001a0: 34ad 15f9 262b 760c 244f eb6b 7230 1204 4...&+v.$O.kr0..
000001b0: 22a2 f102 4b0c 116d 73e8 cdd7 21d2 23da "...K..ms...!.#.
000001c0: 35a4 2fa7 a2e9 0bde af4d c95a de13 7f16 5./......M.Z....
000001d0: 46f7 86b1 48fc 4f68 761f e8fb 1bfa 5667 F...H.Ohv.....Vg
000001e0: 31f6 2b59 7b55 0fd8 4903 abd0 8ca3 6a9a 1.+Y{U..I.....j.
000001f0: 9528 d48d 9d5a ae9e e85d ce7a 97a3 7eef .(...Z...].z..~.
00000200: 42cf 5c8c 9c4b 0d24 6dc2 3ae6 c949 7524 B.\..K.$m.:..Iu$
00000210: 11db 0961 2ad6 df07 d49c c3c1 ae59 e3b3 ...a*........Y..
00000220: cb8f e0d0 538a 4fb9 4879 a96f ea54 dfed ....S.O.Hy.o.T..
00000230: 838e 00b8 b6c9 d322 48ae b1a2 c8a7 fa89 ......."H.......
00000240: 992f 97d7 ca45 cd10 8ccb 68df 5f54 1e1c ./...E....h._T..
00000250: c3ec 5e70 52bd d7f2 21d6 5f21 5b39 0000 ..^pR...!._![9..
00000260: 0003 0100 0100 0001 0014 cfe2 ee55 de6c .............U.l
00000270: f2c2 09ea 46da 76ed 4629 9645 afb0 c79b ....F.v.F).E....
00000280: e049 edb7 95a2 4573 02ac 7190 670e 1298 .I....Es..q.g...
00000290: efe2 4669 54b1 dc27 c7b4 79aa e82b 7564 ..FiT..'..y..+ud
000002a0: c9c1 fe50 6672 8a6a ab2d 5716 7fbf dc8f ...Pfr.j.-W.....
000002b0: 5055 0f99 3c6e dc65 a22b 0451 4d71 2662 PU..<n.e.+.QMq&b
000002c0: b2cb bcd7 6127 777d 93b1 88bd 2472 b5b8 ....a'w}....$r..
000002d0: 2df2 c77c cad3 7eaa c78d 0c6a edd5 4dfe -..|..~....j..M.
000002e0: fd2d ee03 45dd b570 ea2a 48aa b3b7 67e7 .-..E..p.*H...g.
000002f0: 8325 8221 5d95 6d48 f526 4e47 bc5e 601e .%.!].mH.&NG.^`.
00000300: 6042 d7f8 8826 5ae4 134b 1690 f059 4808 `B...&Z..K...YH.
00000310: 4b7c ea82 b850 d150 f7e8 bd2b 9e17 fa54 K|...P.P...+...T
00000320: 5184 8baa 1407 a5d6 b5c0 197a 5c31 2b13 Q..........z\1+.
00000330: 5954 f246 9568 8ee9 c5fe bf46 cc13 a885 YT.F.h.....F....
00000340: 87e0 9d0d 2bfe a7fe 9713 6071 496a 0316 ....+.....`qIj..
00000350: d6a7 e751 ec17 b17c 49ff 5e2d ccda 97a0 ...Q...|I.^-....
00000360: e5ad 4ea7 f8e4 3f0b a900 0000 806d 1768 ..N...?......m.h
00000370: 7d59 7989 71f3 c3da e553 27ab a9d9 cd39 }Yy.q....S'....9
00000380: d23d 2e39 d096 b032 5159 1fc4 cd42 4b5f .=.9...2QY...BK_
00000390: 84f4 5de3 ec5e 241f 39b9 6d63 e7b1 2e75 ..]..^$.9.mc...u
000003a0: 5656 3ac5 7d36 58f0 131e f914 8f35 2fb0 VV:.}6X......5/.
000003b0: 06dd ca0f ac09 84f0 e5a4 c54b 31b6 0fa0 ...........K1...
000003c0: 34c8 dad7 dc26 879c 7bb4 37c1 a3e9 afe1 4....&..{.7.....
000003d0: 7c4c c9d4 50e7 5117 9f50 4ca3 811c 0197 |L..P.Q..PL.....
000003e0: f6ec 624b 90dc 991f 86c2 0428 c300 0000 ..bK.......(....
000003f0: 8100 faad 28fd 7c6c df1d 5cf4 78c2 7b14 ....(.|l..\.x.{.
00000400: 7a40 fc55 f965 9f74 1110 7078 c542 2c2b z@.U.e.t..px.B,+
00000410: d38e 473d af60 054d 3f49 2e9d a0e6 fbc5 ..G=.`.M?I......
00000420: e296 0ee9 3fa9 2445 d6f7 c004 b5e4 0f36 ....?.$E.......6
00000430: 3d8c 33c5 993a 64da d71e c53d 8f66 ed58 =.3..:d....=.f.X
00000440: d18d 21f8 2f67 402c c17d e0d3 286b fe26 ..!./g@,.}..(k.&
00000450: 3bb8 2516 d2aa b864 f74e dc31 a8e9 a273 ;.%....d.N.1...s
00000460: f8ed 0618 a97e 0646 f74e 9db5 878b 3a0d .....~.F.N....:.
00000470: 8a4b 0000 0081 00d7 b0a4 07e6 ac97 f957 .K.............W
00000480: d2f8 9eca 5908 b1e6 66ef 8990 badb 28f9 ....Y...f.....(.
00000490: b847 18d2 f1fd 511b b67d 8457 7862 2dfb .G....Q..}.Wxb-.
000004a0: 25b1 de32 c673 0f4c 5759 2944 f0fa c3e4 %..2.s.LWY)D....
000004b0: b183 bcff 4ff7 1f64 f5f2 af17 4ce9 bbae ....O..d....L...
000004c0: cf4d e5a8 561c c99f c7eb 2106 9b9b d9ef .M..V.....!.....
000004d0: 19db 7b64 eb41 e4e4 ed65 cd20 47e6 292d ..{d.A...e. G.)-
000004e0: 0bd9 84f3 a070 a688 59d6 ebe9 25f7 e26a .....p..Y...%..j
000004f0: 58ef 4d1e 42fe 0b00 0000 0e61 6a40 626f X.M.B......aj@bo
00000500: 7769 652e 6c6f 6361 6c01 0203 0405 wie.local.....

View File

@ -1,27 +1,27 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

View File

@ -0,0 +1,27 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEA0zRlF7ykENrG3V3SC83iO7utM4gQx6gm62MVJHa6NCwPEqoppEHs
RynfUgVb68TZt5dS7AkZniIK8ZYcLqbbMoCvNK0V+SYrdgwkT+trcjASBCKi8QJLDBFtc+
jN1yHSI9o1pC+noukL3q9NyVreE38WRveGsUj8T2h2H+j7G/pWZzH2K1l7VQ/YSQOr0Iyj
apqVKNSNnVqunuhdznqXo37vQs9cjJxLDSRtwjrmyUl1JBHbCWEq1t8H1JzDwa5Z47PLj+
DQU4pPuUh5qW/qVN/tg44AuLbJ0yJIrrGiyKf6iZkvl9fKRc0QjMto319UHhzD7F5wUr3X
8iHWXyFbOQAAA8hiY2pzYmNqcwAAAAdzc2gtcnNhAAABAQDTNGUXvKQQ2sbdXdILzeI7u6
0ziBDHqCbrYxUkdro0LA8SqimkQexHKd9SBVvrxNm3l1LsCRmeIgrxlhwuptsygK80rRX5
Jit2DCRP62tyMBIEIqLxAksMEW1z6M3XIdIj2jWkL6ei6Qver03JWt4TfxZG94axSPxPaH
Yf6Psb+lZnMfYrWXtVD9hJA6vQjKNqmpUo1I2dWq6e6F3Oepejfu9Cz1yMnEsNJG3COubJ
SXUkEdsJYSrW3wfUnMPBrlnjs8uP4NBTik+5SHmpb+pU3+2DjgC4tsnTIkiusaLIp/qJmS
+X18pFzRCMy2jfX1QeHMPsXnBSvdfyIdZfIVs5AAAAAwEAAQAAAQAUz+LuVd5s8sIJ6kba
du1GKZZFr7DHm+BJ7beVokVzAqxxkGcOEpjv4kZpVLHcJ8e0earoK3VkycH+UGZyimqrLV
cWf7/cj1BVD5k8btxloisEUU1xJmKyy7zXYSd3fZOxiL0kcrW4LfLHfMrTfqrHjQxq7dVN
/v0t7gNF3bVw6ipIqrO3Z+eDJYIhXZVtSPUmTke8XmAeYELX+IgmWuQTSxaQ8FlICEt86o
K4UNFQ9+i9K54X+lRRhIuqFAel1rXAGXpcMSsTWVTyRpVojunF/r9GzBOohYfgnQ0r/qf+
lxNgcUlqAxbWp+dR7BexfEn/Xi3M2peg5a1Op/jkPwupAAAAgG0XaH1ZeYlx88Pa5VMnq6
nZzTnSPS450JawMlFZH8TNQktfhPRd4+xeJB85uW1j57EudVZWOsV9NljwEx75FI81L7AG
3coPrAmE8OWkxUsxtg+gNMja19wmh5x7tDfBo+mv4XxMydRQ51EXn1BMo4EcAZf27GJLkN
yZH4bCBCjDAAAAgQD6rSj9fGzfHVz0eMJ7FHpA/FX5ZZ90ERBweMVCLCvTjkc9r2AFTT9J
Lp2g5vvF4pYO6T+pJEXW98AEteQPNj2MM8WZOmTa1x7FPY9m7VjRjSH4L2dALMF94NMoa/
4mO7glFtKquGT3TtwxqOmic/jtBhipfgZG906dtYeLOg2KSwAAAIEA17CkB+asl/lX0vie
ylkIseZm74mQutso+bhHGNLx/VEbtn2EV3hiLfslsd4yxnMPTFdZKUTw+sPksYO8/0/3H2
T18q8XTOm7rs9N5ahWHMmfx+shBpub2e8Z23tk60Hk5O1lzSBH5iktC9mE86BwpohZ1uvp
JffialjvTR5C/gsAAAAOYWpAYm93aWUubG9jYWwBAgMEBQ==
-----END OPENSSH PRIVATE KEY-----

View File

@ -1 +0,0 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCE9Uli8bGnD4hOWdeo5KKQJ/P/vOazI4MgqJK54w37emP2JwOAOdMmXuwpxbKng3KZz27mz+nKWIlXJ3rzSGMo= root@localhost

View File

@ -1 +0,0 @@
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBNsxFNGygmu3oyiyCfKDxpy4aoccor+P8N/CtmtEjwunbEnff4JTSfJXKr9LH3+Rm1Q+I57vN0urHJ+v03gI9xGTkRBmzrOnc6FaWroJ/l0DDMgvTuFS2wwxRgWUyZTLGw== root@localhost

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCba21UHE+VbDTpmYYFZUOV+OQ8AngOCdjROsPC0KiEfMvEaEM3NQl58u6QL7G7QsErKViiNPm9OTFo6HF5JijfWzK7haHFuRMEsgI4VwIYyhvqlJDfw/wt0AiVvSmoMfEQn1p1aiaO4V/RJSE3Vw/uz2bxiT22uSkSqOyShyfYE6dMHnuoBkzr4jvSifT+INmbv6Nyo4+AAMCZtYeHLrsFeSTjLL9jMPjI4ZkVdlw2n3Xn9NbltF3/8Ao8dQfElqw+LIQWqU0oFHYNIP4ttfl5ObMKHaKSvBMyNruZR0El/ZsrcHLkAHRCLj07KRQJ81l5CUTPtQ02P1Eamz/nT4I3 root@localhost

View File

@ -1,6 +1,6 @@
{
"name": "jwk-to-ssh",
"version": "1.2.0",
"version": "1.0.1",
"description": "💯 JWK to SSH in a lightweight, zero-dependency library.",
"homepage": "https://git.coolaj86.com/coolaj86/jwk-to-ssh.js",
"main": "index.js",

30
test.sh
View File

@ -1,32 +1,22 @@
#!/bin/bash
set -e
chmod 0600 fixtures/*
# creates a new key
#ssh-keygen -t rsa -b 2048 -C root@localhost -N '' -f fixtures/privkey-rsa-2048.openssh.pem.3
node bin/jwk-to-ssh.js fixtures/privkey-rsa-2048.jwk.json root@localhost > fixtures/privkey-rsa-2048.openssh.pem
node bin/jwk-to-ssh.js fixtures/privkey-rsa-2048.jwk.json root@localhost public > fixtures/pub-rsa-2048.ssh.pub
node bin/jwk-to-ssh.js fixtures/privkey-ec-p256.jwk.json root@localhost > fixtures/privkey-ec-p256.openssh.pem
node bin/jwk-to-ssh.js fixtures/privkey-ec-p256.jwk.json root@localhost public > fixtures/pub-ec-p256.ssh.pub
node bin/jwk-to-ssh.js fixtures/privkey-ec-p384.jwk.json root@localhost > fixtures/privkey-ec-p384.openssh.pem
node bin/jwk-to-ssh.js fixtures/privkey-ec-p384.jwk.json root@localhost public > fixtures/pub-ec-p384.ssh.pub
# changes embedded comment and creates new random dummy checksum
ssh-keygen -c -C root@localhost -f fixtures/privkey-rsa-2048.openssh.pem
#ssh-keygen -c -C root@localhost -f privkey-ec-p256.openssh.pem
ssh-keygen -c -C root@localhost -f fixtures/privkey-ec-p256.openssh.pem
ssh-keygen -c -C root@localhost -f fixtures/privkey-ec-p384.openssh.pem
ssh-keygen -c -C root@localhost -f fixtures/privkey-ec-p256.openssh.pem.2
#ssh-keygen -c -C root@localhost -f fixtures/privkey-rsa-2048.openssh.pem
#ssh-keygen -c -C root@localhost -f fixtures/privkey-rsa-2048.openssh.pem.2
# convert to public key
ssh-keygen -y -C root@localhost -f fixtures/privkey-rsa-2048.openssh.pem
ssh-keygen -y -C root@localhost -f fixtures/privkey-ec-p256.openssh.pem
ssh-keygen -y -C root@localhost -f fixtures/privkey-ec-p384.openssh.pem
diff fixtures/pub-rsa-2048.ssh.pub fixtures/privkey-rsa-2048.openssh.pem.pub
diff fixtures/pub-ec-p256.ssh.pub fixtures/privkey-ec-p256.openssh.pem.pub
diff fixtures/pub-ec-p384.ssh.pub fixtures/privkey-ec-p384.openssh.pem.pub
#ssh-keygen -y -f privkey-ec-p256.openssh.pem
ssh-keygen -y -f fixtures/privkey-ec-p256.openssh.pem
ssh-keygen -y -f fixtures/privkey-ec-p256.openssh.pem.2
#ssh-keygen -y -f fixtures/privkey-rsa-2048.openssh.pem
#ssh-keygen -y -f fixtures/privkey-rsa-2048.openssh.pem.2
#ssh-keygen -y -f fixtures/privkey-ec-p256.openssh.pem
#ssh-keygen -e -m PKCS8 -f fixtures/privkey-ec-p256.openssh.pem
#ssh-keygen -e -m RFC4716 -f fixtures/privkey-ec-p256.openssh.pem