Skip to content
A small utility library to generate salted SHA passwords for use with OpenLDAP from node.js
JavaScript Shell Dockerfile Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
lib
test
.dockerignore
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.md
index.js
package-lock.json
package.json
run_docker.sh

README.md

NPM Build Status Greenkeeper badge

SSHA (salted SHA passwords)

This is a utility library to use with openldap. I originally wanted to use bcrypt because I searched the internet too much, but on reading the docs for openldap I discovered that the best available was "SSHA".

This is the salted version of the SHA scheme. It is believed to be the most secure password storage scheme supported by slapd. http://www.openldap.org/doc/admin24/security.html

The code is mostly just an adaptation of the Perl code found at http://www.openldap.org/faq/data/cache/347.html. One of the tests in fact checks the expected output of 'secret' with password 'salt' against the output of the Perl program.

My application needs to use CAS http://www.jasig.org/cas backed by ldap, and so I cannot use anything other than the password schemes supported out of the box by openldap.

Tests

Four fairly simple tests have been added. First whether 'secret' and 'salt' make the expected hash, then whether a random password and salt can be encoded and decoded, whether non-ascii characters in the password work and finally whether a known hash generated by slappasswd for the password 'secret' can be properly verified.

I use mocha for the tests; npm install followed by npm test or make test should run them.

You can’t perform that action at this time.