An internet accessible server with:
- Node 8.11
- NPM, installed globally
Firebase Project and Credential
- Privakey uses Firebase by default for notification delivery. Support for other frameworks can be added if necessary
- With minimal support from Privakey other relational databases can be supported
- SSL protected endpoints
- If SSL is managed by the Node server (versus, for example, a load balancer or reverse proxy) SSL certificates will need to be acquired, stored and referenced in environment variables.
- Initialize the Database
- Create the database:
- Default Name: privakey_cx
- Create a user with read / write access to run initial scripts
- This user can also be used for Auth Service access, alternatively, you can create a distinct user for Auth Service access to the DB.
- Run DB Scripts
- Scripts are found in PrivakeyCX/sql directory
- Execute privakeycx.sql first. (items in this file should not be changed)
- Execute insert_constants.sql (items in this file should not be changed)
- Execute config_table_values.sql script.
- Create the database:
- Copy the PrivakeyCX Auth Service distribution to the server.
npm install --productionfrom the project root.
- Generate a signing certificate on the Node Server
From within the root of the PrivakeyCX directory execute the following commands:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 1000 -out certificate.pem -sha256 -subj "/CN=localhost" openssl pkcs12 -inkey key.pem -in certificate.pem -export -out privakeyservice.pfx
- Review and set Config Values in config.json found in the project’s root directory
The port the service will run on
Options include: off, error, warn,
info, verbose, debug or silly.
Path and name of where the file
should be generated, relative to
Maximum, overall size of
generateRequest object allowable.
Reccomended size: 2mb
The path, relative to the project
root of the signing certificate
generated in Step 2.
Set up initial Environment Variables:
The password for the certificate created in
The path to the Open SSL executable. This
normaly can be discovered by typing
openssl at a command prompt.
Address of DB
Port for DB
A mySQL user with read / write access to DB
set up in step 1 of the Database Installation.
Password for DATA_USER
Should not be changed unless the database script was modified with an alternate name.
Any string used for data at rest encryption
(primarily for challenge origin credential
true if the application is managing SSL.
Required if USE_SSL is true.
./cert/server.key is the recommended location
/ name for this key.
Required if USE_SSL is true. ./cert/server.crt
is the recommended location / name for this
http://[server name]:[server port]/communication/send
Generated during the bootstrapping process. See bootstrap the system
You are now ready to bootstrap the system