Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Upgrade a regular net.Stream
connection to a secure tls
connection.
Based on code by Andris Reinman, itself based on an older version by Nathan Rajlich.
This library has one method and accepts either an options hash or a prepared socket as the first argument. It returns a SecurePair
.
The following options are supported:
socket
- if not provided, a socket will be created using net.createConnection
host
- used to perform automatic certificate identity checking, to guard against MITM attacksport
- only used to create a socket (along with the host
option) if socket
is not providedpair
- if you want to provide your own SecurePair
objectThe onSecure
callback is optional and receives null
or an error object as the first argument (see below for error cases). Within the callback context, this
refers to the same SecurePair
object returned by starttls
.
var net = require('net');
var starttls = require('starttls');
var options = {
port: 21,
host: example.com
};
net.createConnection(options, function() {
options.socket = this;
starttls(options, function(err) {
if (err) {
// Something bad happened!
return;
}
this.cleartext.write('garbage');
});
});
You should always check for an error before writing to the stream to avoid man-in-the-middle attacks. Errors are produced in the following cases:
If you only pass a socket object, server identity checking will not be performed automatically. In that case you should perform the check manually.
starttls(socket, function(err) {
if (!tls.checkServerIdentity(host, this.cleartext.getPeerCertificate())) {
// Hostname mismatch!
// Report error and end connection...
}
});
See socks5-https-client for use-case.
Run make test
or npm test
to run tests.
Portions of this code copyright (c) 2012, Andris Reinman and copyright (c) 2011, Nathan Rajlich.
Modified and redistributed under an MIT license.
FAQs
Upgrade a regular `net.Stream` connection to a secure `tls` connection.
The npm package starttls receives a total of 1,907 weekly downloads. As such, starttls popularity was classified as popular.
We found that starttls demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.