139 lines
3.3 KiB
JavaScript
139 lines
3.3 KiB
JavaScript
var test = require('tape')
|
|
var fs = require('fs')
|
|
var parseKey = require('../')
|
|
var rsa1024 = {
|
|
private: fs.readFileSync(__dirname + '/rsa.1024.priv'),
|
|
public: fs.readFileSync(__dirname + '/rsa.1024.pub')
|
|
}
|
|
var rsa2028 = {
|
|
private: fs.readFileSync(__dirname + '/rsa.2028.priv'),
|
|
public: fs.readFileSync(__dirname + '/rsa.2028.pub')
|
|
}
|
|
var nonrsa1024 = {
|
|
private: fs.readFileSync(__dirname + '/1024.priv'),
|
|
public: fs.readFileSync(__dirname + '/1024.pub')
|
|
}
|
|
var pass1024 = {
|
|
private: {
|
|
passphrase: 'fooo',
|
|
key: fs.readFileSync(__dirname + '/pass.1024.priv')
|
|
},
|
|
public: fs.readFileSync(__dirname + '/pass.1024.pub')
|
|
}
|
|
var ec = {
|
|
private: fs.readFileSync(__dirname + '/ec.priv'),
|
|
public: fs.readFileSync(__dirname + '/ec.pub')
|
|
}
|
|
var ecpass = {
|
|
private: {
|
|
key: fs.readFileSync(__dirname + '/ec.pass.priv'),
|
|
passphrase: 'bard'
|
|
},
|
|
public: fs.readFileSync(__dirname + '/ec.pub')
|
|
}
|
|
var dsa = {
|
|
private: fs.readFileSync(__dirname + '/dsa.1024.priv'),
|
|
public: fs.readFileSync(__dirname + '/dsa.1024.pub')
|
|
}
|
|
var dsa2 = {
|
|
private: fs.readFileSync(__dirname + '/dsa.2048.priv'),
|
|
public: fs.readFileSync(__dirname + '/dsa.2048.pub')
|
|
}
|
|
var dsapass = {
|
|
private: {
|
|
key: fs.readFileSync(__dirname + '/pass.dsa.1024.priv'),
|
|
passphrase: 'password'
|
|
},
|
|
public: fs.readFileSync(__dirname + '/pass.dsa.1024.pub')
|
|
}
|
|
var dsapass2 = {
|
|
private: {
|
|
key: fs.readFileSync(__dirname + '/pass2.dsa.1024.priv'),
|
|
passphrase: 'password'
|
|
},
|
|
public: fs.readFileSync(__dirname + '/pass2.dsa.1024.pub')
|
|
}
|
|
var rsapass = {
|
|
private: {
|
|
key: fs.readFileSync(__dirname + '/pass.rsa.1024.priv'),
|
|
passphrase: 'password'
|
|
},
|
|
public: fs.readFileSync(__dirname + '/pass.rsa.1024.pub')
|
|
}
|
|
var rsapass2 = {
|
|
private: {
|
|
key: fs.readFileSync(__dirname + '/pass.rsa.2028.priv'),
|
|
passphrase: 'password'
|
|
},
|
|
public: fs.readFileSync(__dirname + '/pass.rsa.2028.pub')
|
|
}
|
|
var cert = {
|
|
private: fs.readFileSync(__dirname + '/rsa.1024.priv'),
|
|
public: fs.readFileSync(__dirname + '/node.cert')
|
|
}
|
|
var i = 0
|
|
function testIt (keys) {
|
|
test('key ' + (++i), function (t) {
|
|
t.plan(2)
|
|
t.ok(parseKey(keys.public), 'public key')
|
|
t.ok(parseKey(keys.private), 'private key')
|
|
})
|
|
}
|
|
|
|
function testEOL (keys) {
|
|
var publicKey = keys.public.toString()
|
|
var newLineRegex = /\r?\n/g
|
|
var genPrivate = function (replace) {
|
|
if (keys.private.key) {
|
|
return { key: keys.private.key.toString().replace(newLineRegex, replace), passphrase: keys.private.passphrase }
|
|
} else {
|
|
return keys.private.toString().replace(newLineRegex, replace)
|
|
}
|
|
}
|
|
var testN = {
|
|
private: genPrivate('\n'),
|
|
public: publicKey.replace(newLineRegex, '\n')
|
|
}
|
|
testIt(testN)
|
|
var testR = {
|
|
private: genPrivate('\r'),
|
|
public: publicKey.replace(newLineRegex, '\r')
|
|
}
|
|
testIt(testR)
|
|
var testRN = {
|
|
private: genPrivate('\r\n'),
|
|
public: publicKey.replace(newLineRegex, '\r\n')
|
|
}
|
|
testIt(testRN)
|
|
}
|
|
|
|
testIt(dsa)
|
|
testIt(dsa2)
|
|
testIt(rsa1024)
|
|
testIt(ec)
|
|
testIt(rsa2028)
|
|
testIt(nonrsa1024)
|
|
testIt(ecpass)
|
|
testIt(dsapass)
|
|
testIt(dsapass2)
|
|
testIt(rsapass)
|
|
testIt(rsapass2)
|
|
testIt(pass1024)
|
|
testIt(pass1024)
|
|
testIt(cert)
|
|
|
|
testEOL(dsa)
|
|
testEOL(dsa2)
|
|
testEOL(rsa1024)
|
|
testEOL(ec)
|
|
testEOL(rsa2028)
|
|
testEOL(nonrsa1024)
|
|
testEOL(ecpass)
|
|
testEOL(dsapass)
|
|
testEOL(dsapass2)
|
|
testEOL(rsapass)
|
|
testEOL(rsapass2)
|
|
testEOL(pass1024)
|
|
testEOL(pass1024)
|
|
testEOL(cert)
|