This module will create an identity
container object according to the specifications in the
SDMP protocol.
This module is made to use npm. Install
the normal npm
way:
npm install sdmp-create-identity
You must pass in a node-rsa
object containing a public or private key of 2048
bits (if a private
key is given, the public key is derived from it):
var create = require('sdmp-create-identity')
var container = create(nodeRsaKey, 'node')
// container is a valid identity container object, e,g,
console.log(container.identity.key) // => -----BEGIN PUBLIC KEY-----...
The node-rsa module is an RSA crypto module implemented in pure JavaScript. This gives maximum portability, but generating keys in JS is not as fast as system-native libraries.
You can create a node-rsa
public key object any of the following ways:
var NodeRSA = require('node-rsa')
var nodeRsaKey = new NodeRSA({ b: 2048 })
var NodeRSA = require('node-rsa')
var pemKey = '-----BEGIN PUBLIC KEY-----\n...'
var nodeRsaKey = new NodeRSA(pemKey)
var NodeRSA = require('node-rsa')
var container = // a valid `private_key` container
var nodeRsaKey = new NodeRSA(container.private_key.key)
In all cases, calling the function will either return a new container object, or throw an exception.
The parameter nodeRsaKey
must be a node-rsa
equivalent object, containing a public or private key of 2048
bytes.
Any valid SDMP identity type,
which is currently user
or node
.
Pass in the unix offset (milliseconds since Unix Epoch) and the UTC expiration date will be set to that exact date.
If this value is not set, the expiration date will be set to five years in the future.
Published and released under the Very Open License.
<3