Socket
Socket
Sign inDemoInstall

starttls

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

starttls - npm Package Compare versions

Comparing version 0.2.1 to 1.0.0

31

lib/starttls.js

@@ -25,3 +25,3 @@ /**

module.exports = exports = function(options, onSecure) {
var socket, securePair;
var socket, credentials, securePair;

@@ -42,3 +42,11 @@ if (options instanceof net.Socket) {

} else {
securePair = tls.createSecurePair(crypto.createCredentials(), false);
// Node v0.12.0 deprecated crypto.createCredentials.
if (tls.createSecureContext) {
credentials = tls.createSecureContext();
} else {
credentials = crypto.createCredentials();
}
securePair = tls.createSecurePair(credentials, false);
options.pair = securePair;

@@ -60,9 +68,2 @@ }

exports.startTls = function(socket, onSecure) {
return startTls({
socket: socket,
pair: tls.createSecurePair(crypto.createCredentials(), false)
}, onSecure);
};
function startTls(options, onSecure) {

@@ -97,4 +98,12 @@ var socket, host, securePair, clearText;

if (host && !tls.checkServerIdentity(host, clearText.getPeerCertificate())) {
err = new Error('Server identity mismatch: invalid certificate for ' + host + '.');
if (host) {
err = tls.checkServerIdentity(host, clearText.getPeerCertificate());
// As of node v0.12.0, `tls.checkServerIdentity` returns an error object if there was an error, `undefined` otherwise.
// On previous versions it returned `false` if there was an error and `true` otherwise.
if (false === err) {
err = new Error('Server identity mismatch: invalid certificate for ' + host + '.');
} else if (true === err) {
err = null;
}
}

@@ -101,0 +110,0 @@

{
"name": "starttls",
"description": "Upgrade a regular `net.Stream` connection to a secure `tls` connection.",
"version": "0.2.1",
"version": "1.0.0",
"main": "lib/starttls.js",

@@ -6,0 +6,0 @@ "homepage": "https://github.com/mattcg/starttls",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc