beginning to take shape
This commit is contained in:
		
							parent
							
								
									d0157d3270
								
							
						
					
					
						commit
						1d2a4d7b9e
					
				
							
								
								
									
										20
									
								
								bin/keypairs.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								bin/keypairs.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var keypairs = require('../');
 | 
			
		||||
 | 
			
		||||
var infile = process.argv[2];
 | 
			
		||||
var key = require('fs').readFileSync(infile).toString('ascii');
 | 
			
		||||
var pem;
 | 
			
		||||
var jwk;
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
  jwk = JSON.parse(key);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
  pem = key;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
keypairs.import({ jwk: jwk, pem: pem }).then(function (keypair) {
 | 
			
		||||
  console.log(keypair);
 | 
			
		||||
}).catch(function (e) {
 | 
			
		||||
  console.error(e);
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										7
									
								
								fixtures/privkey-ec-p256.jwk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								fixtures/privkey-ec-p256.jwk.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "kty": "EC",
 | 
			
		||||
  "crv": "P-256",
 | 
			
		||||
  "d": "iYydo27aNGO9DBUWeGEPD8oNi1LZDqfxPmQlieLBjVQ",
 | 
			
		||||
  "x": "IT1SWLxsacPiE5Z16jkopAn8_-85rMjgyCokrnjDft4",
 | 
			
		||||
  "y": "mP2JwOAOdMmXuwpxbKng3KZz27mz-nKWIlXJ3rzSGMo"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								fixtures/privkey-ec-p256.pkcs8.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								fixtures/privkey-ec-p256.pkcs8.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiYydo27aNGO9DBUW
 | 
			
		||||
eGEPD8oNi1LZDqfxPmQlieLBjVShRANCAAQhPVJYvGxpw+ITlnXqOSikCfz/7zms
 | 
			
		||||
yODIKiSueMN+3pj9icDgDnTJl7sKcWyp4Nymc9u5s/pyliJVyd680hjK
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										5
									
								
								fixtures/privkey-ec-p256.sec1.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								fixtures/privkey-ec-p256.sec1.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
-----BEGIN EC PRIVATE KEY-----
 | 
			
		||||
MHcCAQEEIImMnaNu2jRjvQwVFnhhDw/KDYtS2Q6n8T5kJYniwY1UoAoGCCqGSM49
 | 
			
		||||
AwEHoUQDQgAEIT1SWLxsacPiE5Z16jkopAn8/+85rMjgyCokrnjDft6Y/YnA4A50
 | 
			
		||||
yZe7CnFsqeDcpnPbubP6cpYiVcnevNIYyg==
 | 
			
		||||
-----END EC PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										7
									
								
								fixtures/privkey-ec-p384.jwk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								fixtures/privkey-ec-p384.jwk.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "kty": "EC",
 | 
			
		||||
  "crv": "P-384",
 | 
			
		||||
  "d": "XlyuCEWSTTS8U79O_Mz05z18vh4kb10szvu_7pdXuGWV6lfEyPExyUYWsA6A2kdV",
 | 
			
		||||
  "x": "2zEU0bKCa7ejKLIJ8oPGnLhqhxyiv4_w38K2a0SPC6dsSd9_glNJ8lcqv0sff5Gb",
 | 
			
		||||
  "y": "VD4jnu83S6scn6_TeAj3EZOREGbOs6dzoVpaugn-XQMMyC9O4VLbDDFGBZTJlMsb"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								fixtures/privkey-ec-p384.pkcs8.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								fixtures/privkey-ec-p384.pkcs8.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDBeXK4IRZJNNLxTv078
 | 
			
		||||
zPTnPXy+HiRvXSzO+7/ul1e4ZZXqV8TI8THJRhawDoDaR1WhZANiAATbMRTRsoJr
 | 
			
		||||
t6Mosgnyg8acuGqHHKK/j/DfwrZrRI8Lp2xJ33+CU0nyVyq/Sx9/kZtUPiOe7zdL
 | 
			
		||||
qxyfr9N4CPcRk5EQZs6zp3OhWlq6Cf5dAwzIL07hUtsMMUYFlMmUyxs=
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										6
									
								
								fixtures/privkey-ec-p384.sec1.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								fixtures/privkey-ec-p384.sec1.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
-----BEGIN EC PRIVATE KEY-----
 | 
			
		||||
MIGkAgEBBDBeXK4IRZJNNLxTv078zPTnPXy+HiRvXSzO+7/ul1e4ZZXqV8TI8THJ
 | 
			
		||||
RhawDoDaR1WgBwYFK4EEACKhZANiAATbMRTRsoJrt6Mosgnyg8acuGqHHKK/j/Df
 | 
			
		||||
wrZrRI8Lp2xJ33+CU0nyVyq/Sx9/kZtUPiOe7zdLqxyfr9N4CPcRk5EQZs6zp3Oh
 | 
			
		||||
Wlq6Cf5dAwzIL07hUtsMMUYFlMmUyxs=
 | 
			
		||||
-----END EC PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										11
									
								
								fixtures/privkey-rsa-2048.jwk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								fixtures/privkey-rsa-2048.jwk.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
{
 | 
			
		||||
  "kty": "RSA",
 | 
			
		||||
  "n": "m2ttVBxPlWw06ZmGBWVDlfjkPAJ4DgnY0TrDwtCohHzLxGhDNzUJefLukC-xu0LBKylYojT5vTkxaOhxeSYo31syu4WhxbkTBLICOFcCGMob6pSQ38P8LdAIlb0pqDHxEJ9adWomjuFf0SUhN1cP7s9m8Yk9trkpEqjskocn2BOnTB57qAZM6-I70on0_iDZm7-jcqOPgADAmbWHhy67BXkk4yy_YzD4yOGZFXZcNp915_TW5bRd__AKPHUHxJasPiyEFqlNKBR2DSD-LbX5eTmzCh2ikrwTMja7mUdBJf2bK3By5AB0Qi49OykUCfNZeQlEz7UNNj9RGps_50-CNw",
 | 
			
		||||
  "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",
 | 
			
		||||
  "dp": "tzDGjECFOU0ehqtuqhcuT63a7h8hj19-7MJqoFwY9HQ-ALkfXyYLXeBSGxHbyiIYuodZg6LsfMNgUJ3r3Eyhc_nAVfYPEC_2IdAG4WYmq7iXYF9LQV09qEsKbFykm7QekE3hO7wswo5k-q2tp3ieBYdVGAXJoGOdv5VpaZ7B1QE",
 | 
			
		||||
  "dq": "kh5dyDk7YCz7sUFbpsmuAeuPjoH2ghooh2u3xN7iUVmAg-ToKjwbVnG5-7eXiC779rQVwnrD_0yh1AFJ8wjRPqDIR7ObXGHikIxT1VSQWqiJm6AfZzDsL0LUD4YS3iPdhob7-NxLKWzqao_u4lhnDQaX9PKa12HFlny6K1daL48",
 | 
			
		||||
  "qi": "AlHWbx1gp6Z9pbw_1hlS7HuXAgWoX7IjbTUelldf4gkriDWLOrj3QCZcO4ZvZvEwJhVlsny9LO8IkbwGJEL6cXraK08ByVS2mwQyflgTgGNnpzixyEUL_mrQLx6y145FHcxfeqNInMhep-0Mxn1D5nlhmIOgRApS0t9VoXtHhFU"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								fixtures/privkey-rsa-2048.pkcs1.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								fixtures/privkey-rsa-2048.pkcs1.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
-----BEGIN RSA PRIVATE KEY-----
 | 
			
		||||
MIIEpAIBAAKCAQEAm2ttVBxPlWw06ZmGBWVDlfjkPAJ4DgnY0TrDwtCohHzLxGhD
 | 
			
		||||
NzUJefLukC+xu0LBKylYojT5vTkxaOhxeSYo31syu4WhxbkTBLICOFcCGMob6pSQ
 | 
			
		||||
38P8LdAIlb0pqDHxEJ9adWomjuFf0SUhN1cP7s9m8Yk9trkpEqjskocn2BOnTB57
 | 
			
		||||
qAZM6+I70on0/iDZm7+jcqOPgADAmbWHhy67BXkk4yy/YzD4yOGZFXZcNp915/TW
 | 
			
		||||
5bRd//AKPHUHxJasPiyEFqlNKBR2DSD+LbX5eTmzCh2ikrwTMja7mUdBJf2bK3By
 | 
			
		||||
5AB0Qi49OykUCfNZeQlEz7UNNj9RGps/50+CNwIDAQABAoIBAAqX6OzJvTbvGDAv
 | 
			
		||||
8a2eeFvZihz5Ahva2fdw7PTzafkV1IG/pY02xT2VrGMRjSi5ZRc/CzaLK9aU9mQz
 | 
			
		||||
K8DZNAH9Yljbw+oJMl2okHQsogz0gbCcjb9iyWaJ/nvOV++J7+d1JSJJqPUmMXS8
 | 
			
		||||
9iWifoiFhHvEIfu5ZS5La0yVf8a/fP7W4YEqac/yHjspqt0hGWkBzPKU1O8O17wo
 | 
			
		||||
9qW/a/HzdDNF3IFmSGn9yxhH5IRf1rV+u1ydAuvi25E+dY7ZS0TRl+oWhnbHF0tD
 | 
			
		||||
lloyjicyhrlfjW7YRJ+a5kbVZ40Wd8msUNLnfLwvjTjZ+8rxlJTrq9SHQ8yf2Hxz
 | 
			
		||||
7fbBzEECgYEAynG+t9HwKCN3MWRYFdnFzi9+02Qcy3p8B5pu3ary2E70hYn2pHlU
 | 
			
		||||
G2a9BNE8c5xHQ3Hx43WoWf6s0zOunPV1G28LkU/UYEbAtPv/PxSmzpQp9n9XnYvB
 | 
			
		||||
LBF8Y3z7gxgLn1vVFNARrQdRtj87qY3aw7E9S4DsGcAarIuOT2TsTCECgYEAxIkA
 | 
			
		||||
jgUzB1zaUzJtW2Zgvp9cYYr1DmpH30ePZl3c/8397/DZDDo46fnFYjs6uPa03Hpm
 | 
			
		||||
KUnbjwr14QHlfXlntJBEuXxcqLjkdKdJ4ob7xueLTK4suo9V8LSrkLChVxlZQwnF
 | 
			
		||||
D2E5ll0sVeeDeMJHQw38ahSrBFEVnxjpnPh1Q1cCgYEAtzDGjECFOU0ehqtuqhcu
 | 
			
		||||
T63a7h8hj19+7MJqoFwY9HQ+ALkfXyYLXeBSGxHbyiIYuodZg6LsfMNgUJ3r3Eyh
 | 
			
		||||
c/nAVfYPEC/2IdAG4WYmq7iXYF9LQV09qEsKbFykm7QekE3hO7wswo5k+q2tp3ie
 | 
			
		||||
BYdVGAXJoGOdv5VpaZ7B1QECgYEAkh5dyDk7YCz7sUFbpsmuAeuPjoH2ghooh2u3
 | 
			
		||||
xN7iUVmAg+ToKjwbVnG5+7eXiC779rQVwnrD/0yh1AFJ8wjRPqDIR7ObXGHikIxT
 | 
			
		||||
1VSQWqiJm6AfZzDsL0LUD4YS3iPdhob7+NxLKWzqao/u4lhnDQaX9PKa12HFlny6
 | 
			
		||||
K1daL48CgYACUdZvHWCnpn2lvD/WGVLse5cCBahfsiNtNR6WV1/iCSuINYs6uPdA
 | 
			
		||||
Jlw7hm9m8TAmFWWyfL0s7wiRvAYkQvpxetorTwHJVLabBDJ+WBOAY2enOLHIRQv+
 | 
			
		||||
atAvHrLXjkUdzF96o0icyF6n7QzGfUPmeWGYg6BEClLS31Whe0eEVQ==
 | 
			
		||||
-----END RSA PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										28
									
								
								fixtures/privkey-rsa-2048.pkcs8.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								fixtures/privkey-rsa-2048.pkcs8.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCba21UHE+VbDTp
 | 
			
		||||
mYYFZUOV+OQ8AngOCdjROsPC0KiEfMvEaEM3NQl58u6QL7G7QsErKViiNPm9OTFo
 | 
			
		||||
6HF5JijfWzK7haHFuRMEsgI4VwIYyhvqlJDfw/wt0AiVvSmoMfEQn1p1aiaO4V/R
 | 
			
		||||
JSE3Vw/uz2bxiT22uSkSqOyShyfYE6dMHnuoBkzr4jvSifT+INmbv6Nyo4+AAMCZ
 | 
			
		||||
tYeHLrsFeSTjLL9jMPjI4ZkVdlw2n3Xn9NbltF3/8Ao8dQfElqw+LIQWqU0oFHYN
 | 
			
		||||
IP4ttfl5ObMKHaKSvBMyNruZR0El/ZsrcHLkAHRCLj07KRQJ81l5CUTPtQ02P1Ea
 | 
			
		||||
mz/nT4I3AgMBAAECggEACpfo7Mm9Nu8YMC/xrZ54W9mKHPkCG9rZ93Ds9PNp+RXU
 | 
			
		||||
gb+ljTbFPZWsYxGNKLllFz8LNosr1pT2ZDMrwNk0Af1iWNvD6gkyXaiQdCyiDPSB
 | 
			
		||||
sJyNv2LJZon+e85X74nv53UlIkmo9SYxdLz2JaJ+iIWEe8Qh+7llLktrTJV/xr98
 | 
			
		||||
/tbhgSppz/IeOymq3SEZaQHM8pTU7w7XvCj2pb9r8fN0M0XcgWZIaf3LGEfkhF/W
 | 
			
		||||
tX67XJ0C6+LbkT51jtlLRNGX6haGdscXS0OWWjKOJzKGuV+NbthEn5rmRtVnjRZ3
 | 
			
		||||
yaxQ0ud8vC+NONn7yvGUlOur1IdDzJ/YfHPt9sHMQQKBgQDKcb630fAoI3cxZFgV
 | 
			
		||||
2cXOL37TZBzLenwHmm7dqvLYTvSFifakeVQbZr0E0TxznEdDcfHjdahZ/qzTM66c
 | 
			
		||||
9XUbbwuRT9RgRsC0+/8/FKbOlCn2f1edi8EsEXxjfPuDGAufW9UU0BGtB1G2Pzup
 | 
			
		||||
jdrDsT1LgOwZwBqsi45PZOxMIQKBgQDEiQCOBTMHXNpTMm1bZmC+n1xhivUOakff
 | 
			
		||||
R49mXdz/zf3v8NkMOjjp+cViOzq49rTcemYpSduPCvXhAeV9eWe0kES5fFyouOR0
 | 
			
		||||
p0nihvvG54tMriy6j1XwtKuQsKFXGVlDCcUPYTmWXSxV54N4wkdDDfxqFKsEURWf
 | 
			
		||||
GOmc+HVDVwKBgQC3MMaMQIU5TR6Gq26qFy5PrdruHyGPX37swmqgXBj0dD4AuR9f
 | 
			
		||||
Jgtd4FIbEdvKIhi6h1mDoux8w2BQnevcTKFz+cBV9g8QL/Yh0AbhZiaruJdgX0tB
 | 
			
		||||
XT2oSwpsXKSbtB6QTeE7vCzCjmT6ra2neJ4Fh1UYBcmgY52/lWlpnsHVAQKBgQCS
 | 
			
		||||
Hl3IOTtgLPuxQVumya4B64+OgfaCGiiHa7fE3uJRWYCD5OgqPBtWcbn7t5eILvv2
 | 
			
		||||
tBXCesP/TKHUAUnzCNE+oMhHs5tcYeKQjFPVVJBaqImboB9nMOwvQtQPhhLeI92G
 | 
			
		||||
hvv43EspbOpqj+7iWGcNBpf08prXYcWWfLorV1ovjwKBgAJR1m8dYKemfaW8P9YZ
 | 
			
		||||
Uux7lwIFqF+yI201HpZXX+IJK4g1izq490AmXDuGb2bxMCYVZbJ8vSzvCJG8BiRC
 | 
			
		||||
+nF62itPAclUtpsEMn5YE4BjZ6c4schFC/5q0C8esteORR3MX3qjSJzIXqftDMZ9
 | 
			
		||||
Q+Z5YZiDoEQKUtLfVaF7R4RV
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										6
									
								
								fixtures/pub-ec-p256.jwk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								fixtures/pub-ec-p256.jwk.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "kty": "EC",
 | 
			
		||||
  "crv": "P-256",
 | 
			
		||||
  "x": "IT1SWLxsacPiE5Z16jkopAn8_-85rMjgyCokrnjDft4",
 | 
			
		||||
  "y": "mP2JwOAOdMmXuwpxbKng3KZz27mz-nKWIlXJ3rzSGMo"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								fixtures/pub-ec-p256.spki.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								fixtures/pub-ec-p256.spki.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
-----BEGIN PUBLIC KEY-----
 | 
			
		||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIT1SWLxsacPiE5Z16jkopAn8/+85
 | 
			
		||||
rMjgyCokrnjDft6Y/YnA4A50yZe7CnFsqeDcpnPbubP6cpYiVcnevNIYyg==
 | 
			
		||||
-----END PUBLIC KEY-----
 | 
			
		||||
							
								
								
									
										1
									
								
								fixtures/pub-ec-p256.ssh.pub
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								fixtures/pub-ec-p256.ssh.pub
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCE9Uli8bGnD4hOWdeo5KKQJ/P/vOazI4MgqJK54w37emP2JwOAOdMmXuwpxbKng3KZz27mz+nKWIlXJ3rzSGMo= P-256@localhost
 | 
			
		||||
							
								
								
									
										6
									
								
								fixtures/pub-ec-p384.jwk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								fixtures/pub-ec-p384.jwk.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "kty": "EC",
 | 
			
		||||
  "crv": "P-384",
 | 
			
		||||
  "x": "2zEU0bKCa7ejKLIJ8oPGnLhqhxyiv4_w38K2a0SPC6dsSd9_glNJ8lcqv0sff5Gb",
 | 
			
		||||
  "y": "VD4jnu83S6scn6_TeAj3EZOREGbOs6dzoVpaugn-XQMMyC9O4VLbDDFGBZTJlMsb"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								fixtures/pub-ec-p384.spki.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								fixtures/pub-ec-p384.spki.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
-----BEGIN PUBLIC KEY-----
 | 
			
		||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2zEU0bKCa7ejKLIJ8oPGnLhqhxyiv4/w
 | 
			
		||||
38K2a0SPC6dsSd9/glNJ8lcqv0sff5GbVD4jnu83S6scn6/TeAj3EZOREGbOs6dz
 | 
			
		||||
oVpaugn+XQMMyC9O4VLbDDFGBZTJlMsb
 | 
			
		||||
-----END PUBLIC KEY-----
 | 
			
		||||
							
								
								
									
										1
									
								
								fixtures/pub-ec-p384.ssh.pub
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								fixtures/pub-ec-p384.ssh.pub
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBNsxFNGygmu3oyiyCfKDxpy4aoccor+P8N/CtmtEjwunbEnff4JTSfJXKr9LH3+Rm1Q+I57vN0urHJ+v03gI9xGTkRBmzrOnc6FaWroJ/l0DDMgvTuFS2wwxRgWUyZTLGw== P-384@localhost
 | 
			
		||||
							
								
								
									
										5
									
								
								fixtures/pub-rsa-2048.jwk.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								fixtures/pub-rsa-2048.jwk.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "kty": "RSA",
 | 
			
		||||
  "n": "m2ttVBxPlWw06ZmGBWVDlfjkPAJ4DgnY0TrDwtCohHzLxGhDNzUJefLukC-xu0LBKylYojT5vTkxaOhxeSYo31syu4WhxbkTBLICOFcCGMob6pSQ38P8LdAIlb0pqDHxEJ9adWomjuFf0SUhN1cP7s9m8Yk9trkpEqjskocn2BOnTB57qAZM6-I70on0_iDZm7-jcqOPgADAmbWHhy67BXkk4yy_YzD4yOGZFXZcNp915_TW5bRd__AKPHUHxJasPiyEFqlNKBR2DSD-LbX5eTmzCh2ikrwTMja7mUdBJf2bK3By5AB0Qi49OykUCfNZeQlEz7UNNj9RGps_50-CNw",
 | 
			
		||||
  "e": "AQAB"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								fixtures/pub-rsa-2048.pkcs1.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								fixtures/pub-rsa-2048.pkcs1.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
-----BEGIN RSA PUBLIC KEY-----
 | 
			
		||||
MIIBCgKCAQEAm2ttVBxPlWw06ZmGBWVDlfjkPAJ4DgnY0TrDwtCohHzLxGhDNzUJ
 | 
			
		||||
efLukC+xu0LBKylYojT5vTkxaOhxeSYo31syu4WhxbkTBLICOFcCGMob6pSQ38P8
 | 
			
		||||
LdAIlb0pqDHxEJ9adWomjuFf0SUhN1cP7s9m8Yk9trkpEqjskocn2BOnTB57qAZM
 | 
			
		||||
6+I70on0/iDZm7+jcqOPgADAmbWHhy67BXkk4yy/YzD4yOGZFXZcNp915/TW5bRd
 | 
			
		||||
//AKPHUHxJasPiyEFqlNKBR2DSD+LbX5eTmzCh2ikrwTMja7mUdBJf2bK3By5AB0
 | 
			
		||||
Qi49OykUCfNZeQlEz7UNNj9RGps/50+CNwIDAQAB
 | 
			
		||||
-----END RSA PUBLIC KEY-----
 | 
			
		||||
							
								
								
									
										9
									
								
								fixtures/pub-rsa-2048.spki.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								fixtures/pub-rsa-2048.spki.pem
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
-----BEGIN PUBLIC KEY-----
 | 
			
		||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm2ttVBxPlWw06ZmGBWVD
 | 
			
		||||
lfjkPAJ4DgnY0TrDwtCohHzLxGhDNzUJefLukC+xu0LBKylYojT5vTkxaOhxeSYo
 | 
			
		||||
31syu4WhxbkTBLICOFcCGMob6pSQ38P8LdAIlb0pqDHxEJ9adWomjuFf0SUhN1cP
 | 
			
		||||
7s9m8Yk9trkpEqjskocn2BOnTB57qAZM6+I70on0/iDZm7+jcqOPgADAmbWHhy67
 | 
			
		||||
BXkk4yy/YzD4yOGZFXZcNp915/TW5bRd//AKPHUHxJasPiyEFqlNKBR2DSD+LbX5
 | 
			
		||||
eTmzCh2ikrwTMja7mUdBJf2bK3By5AB0Qi49OykUCfNZeQlEz7UNNj9RGps/50+C
 | 
			
		||||
NwIDAQAB
 | 
			
		||||
-----END PUBLIC KEY-----
 | 
			
		||||
							
								
								
									
										1
									
								
								fixtures/pub-rsa-2048.ssh.pub
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								fixtures/pub-rsa-2048.ssh.pub
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCba21UHE+VbDTpmYYFZUOV+OQ8AngOCdjROsPC0KiEfMvEaEM3NQl58u6QL7G7QsErKViiNPm9OTFo6HF5JijfWzK7haHFuRMEsgI4VwIYyhvqlJDfw/wt0AiVvSmoMfEQn1p1aiaO4V/RJSE3Vw/uz2bxiT22uSkSqOyShyfYE6dMHnuoBkzr4jvSifT+INmbv6Nyo4+AAMCZtYeHLrsFeSTjLL9jMPjI4ZkVdlw2n3Xn9NbltF3/8Ao8dQfElqw+LIQWqU0oFHYNIP4ttfl5ObMKHaKSvBMyNruZR0El/ZsrcHLkAHRCLj07KRQJ81l5CUTPtQ02P1Eamz/nT4I3 rsa@localhost
 | 
			
		||||
@ -90,7 +90,8 @@ Enc.bufToBase64 = function (u8) {
 | 
			
		||||
  u8.forEach(function (i) {
 | 
			
		||||
    bin += String.fromCharCode(i);
 | 
			
		||||
  });
 | 
			
		||||
  return btoa(bin);
 | 
			
		||||
  return Buffer.from(bin, 'binary').toString('base64');
 | 
			
		||||
  //return btoa(bin);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
Enc.hexToBuf = function (hex) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								lib/crypto.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lib/crypto.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var wrap = module.exports;
 | 
			
		||||
@ -13,6 +13,7 @@ var ASN1 = require('./asn1-parser.js');
 | 
			
		||||
ASN1.pack = require('./asn1-packer.js').pack;
 | 
			
		||||
 | 
			
		||||
var x509 = require('./x509-parser.js');
 | 
			
		||||
//x509 = require('./x509-packer.js').pack;
 | 
			
		||||
 | 
			
		||||
var SSH = require('./ssh-parser.js');
 | 
			
		||||
SSH.pack = require('./ssh-packer.js').pack;
 | 
			
		||||
@ -71,13 +72,14 @@ keypairs.import = function (opts) {
 | 
			
		||||
        jwk = SSH.parse(pem);
 | 
			
		||||
      } else {
 | 
			
		||||
        der = pem.bytes;
 | 
			
		||||
        jwk = x509.parse(der);
 | 
			
		||||
        jwk = x509.parse({ der: der });
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (opts.ssh) {
 | 
			
		||||
      jwk = SSH.parse(opts.ssh);
 | 
			
		||||
    }
 | 
			
		||||
    if (jwk) {
 | 
			
		||||
    // TODO re-export to PKCS8 just because
 | 
			
		||||
    if (jwk && !pem) {
 | 
			
		||||
      // Both RSA and EC use 'd' as part of the private key
 | 
			
		||||
      if (jwk.d) {
 | 
			
		||||
        typ = 'PRIVATE KEY';
 | 
			
		||||
 | 
			
		||||
@ -51,12 +51,15 @@ x509.parseSec1 = function parseEcOnlyPrivkey(u8, jwk) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
x509.parsePkcs8 = function parseEcPkcs8(u8, jwk) {
 | 
			
		||||
  console.log("here", u8);
 | 
			
		||||
  var index = 24 + (OBJ_ID_EC_256.length/2);
 | 
			
		||||
  var len = 32;
 | 
			
		||||
  /*
 | 
			
		||||
  if ("P-384" === jwk.crv) {
 | 
			
		||||
    index = 24 + (OBJ_ID_EC_384.length/2) + 2;
 | 
			
		||||
    len = 48;
 | 
			
		||||
  }
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
  //console.log(index, u8.slice(index));
 | 
			
		||||
  if (0x04 !== u8[index]) {
 | 
			
		||||
@ -75,6 +78,7 @@ x509.parsePkcs8 = function parseEcPkcs8(u8, jwk) {
 | 
			
		||||
    throw new Error("invalid compression bit (expected 0x04 or 0x02)");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var jwk = {};
 | 
			
		||||
  return {
 | 
			
		||||
    kty: jwk.kty
 | 
			
		||||
  , crv: jwk.crv
 | 
			
		||||
 | 
			
		||||
@ -7,6 +7,7 @@ var EC = require('./x509-ec-parser.js');
 | 
			
		||||
var RSA = require('./x509-rsa-parser.js');
 | 
			
		||||
 | 
			
		||||
x509.parse = function (opts) {
 | 
			
		||||
  console.log(opts);
 | 
			
		||||
  var pem = opts.pem;
 | 
			
		||||
  var der = opts.der;
 | 
			
		||||
  if ('string' === opts.key) {
 | 
			
		||||
@ -25,7 +26,7 @@ x509.parse = function (opts) {
 | 
			
		||||
 | 
			
		||||
  // Try EC Private and Public keys
 | 
			
		||||
  if (!rsa && !pub) {
 | 
			
		||||
    try { return EC.parsePkcs8(der); } catch(e) { /*ignore*/ }
 | 
			
		||||
    try { return EC.parsePkcs8(der); } catch(e) { console.error(e); /*ignore*/ }
 | 
			
		||||
    try { return EC.parseSec1(der); } catch(e) { /*ignore*/ }
 | 
			
		||||
  } else if (!rsa && !prv) {
 | 
			
		||||
    try { return EC.parseSpki(der); } catch(e) { /*ignore*/ }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								lib/x509-rsa-parser.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lib/x509-rsa-parser.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var RSA = module.exports;
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user