mirror of https://github.com/lukechilds/node.git
Rhys Jones
15 years ago
6 changed files with 1664 additions and 33 deletions
@ -0,0 +1,52 @@ |
|||
var sys = require("sys"); |
|||
try { |
|||
var binding = process.binding('crypto'); |
|||
var SecureContext = binding.SecureContext; |
|||
var SecureStream = binding.SecureStream; |
|||
var Hash = binding.Hash; |
|||
var Sign = binding.Sign; |
|||
var Verify = binding.Verify; |
|||
var crypto = true; |
|||
} catch (e) { |
|||
|
|||
var crypto = false; |
|||
} |
|||
function Credentials(method) { |
|||
if (!crypto) { |
|||
throw new Error('node.js not compiled with openssl crypto support.'); |
|||
} |
|||
this.context = new SecureContext(); |
|||
if (method) this.context.init(method); |
|||
else this.context.init(); |
|||
} |
|||
|
|||
exports.createCredentials = function(cred) { |
|||
var c = new Credentials(cred.method); |
|||
if (cred.key) c.context.setKey(cred.key); |
|||
if (cred.cert) c.context.setCert(cred.cert); |
|||
if (cred.ca) { |
|||
if ( (typeof(cred.ca) == 'object') && cred.ca.length ) { |
|||
for(var i=0; i<cred.ca.length; i++) |
|||
c.context.addCACert(cred.ca[i]); |
|||
} else { |
|||
c.context.addCACert(cred.ca); |
|||
} |
|||
} |
|||
return c; |
|||
} |
|||
exports.Credentials = Credentials; |
|||
|
|||
exports.Hash = Hash; |
|||
exports.createHash = function(hash) { |
|||
return (new Hash).init(hash); |
|||
} |
|||
|
|||
exports.Sign = Sign; |
|||
exports.createSign = function(algorithm) { |
|||
return (new Sign).init(algorithm); |
|||
} |
|||
|
|||
exports.Verify = Verify; |
|||
exports.createVerify = function(algorithm) { |
|||
return (new Verify).init(algorithm); |
|||
} |
File diff suppressed because it is too large
Loading…
Reference in new issue