2.1.0 • Published 4 years ago

csr-helper v2.1.0

Weekly downloads
78
License
MIT
Repository
github
Last release
4 years ago

npm version

Install:

npm install csr-helper

Usage:

var api = require('csr-helper');

Example:

var api = require('csr-helper');
api.create.keypair(2048).then(function(keypair){
  var csr1 = api.create.csr.ServerPass({
    CN : 'test.de',
    L : 'UnknownCity',
    O : 'testOrganization',
    C : 'DE'
  },keypair.privateKey, keypair.publicKey);

  console.log(api.export.csr(csr1));

  var csr2 = api.create.csr.Email({
    O : 'T-Systems',
    C : 'DE',
    OU1 : 'TeleSecTest-ShortTerm',
    OU2 : 'Test-1ke',
    OU3 : 'test',
    firstname : 'Max',
    lastname : 'Example',
    emails : [
      'test1@example.com',
      'test2@example.com',
      'test3@example.com',
      'test4@example.com'
    ]
  },keypair.privateKey, keypair.publicKey);

  console.log(api.export.csr(csr2));
},function(err){
  console.error(err);
});

Key Generation

API:

  • create
    • keypair(keylength) : promise.\<keypair>
    • p12(\<forge private key> privateKey, \<forge pkcs7> pkcs7, (optional) \<string> friendlyName, (optional) \<string> password) : \<forge p12>
    • csr
      • serverpass(\<serverPassData>, \<forge private key> privateKey, \<forge public key> publicKey) : \<forge csr>
      • email(\<emailData>, \<forge private key> privateKey, \<forge public key> publicKey) : \<forge csr>
  • display
    • csr(\<forge csr>) : \<object> // object contains filtered data from the csr for displaying usage
  • export
    • keypair
      • privateKey(\<forge private key> privateKey, (optional) \<string> password) : \<(encrypted) pem private key>
      • publicKey(\<forge public key> publicKey) : \<pem public key>
    • csr(\<forge csr> csr) : \<pem csr>
    • p12(\<forge p12> p12) : \<der p12>
    • bulk(\<bulk> bulk, \<string> type) : jszip/generateAsync({type:type})
  • import
    • keypair(\<forge private key> privateKey, (optional) \<string> password) : \<keypair>
    • csr(\<pem csr> csr) : \<forge csr>
    • p7(\<pem/der pkcs7> pkcs7) : \<forge pkcs7>
    • bulk(\<csv content> csv, \<string> ou1, \<string> ou2) : \<bulk>
  • hasNativeCrypto() : \<boolean> // check if the script is running on the browser and web crypto is available

All functions except api.create.keypair (promise rejection) and api.import.bulk (exception, examples/bulk.js) will return false if the input is invalid.

keypair = {  // <keypair>
  privateKey : <forge private key>,
  publicKey : <forge pkcs7>
}
serverPassData = {  // <serverPassData>
  CN : <string>,
  L : <string>,
  O : <string>,
  C : <string>,
  (optional) OU1 : <string>,
  (optional) OU2 : <string>,
  (optional) OU3 : <string>,
  (optional) OU4 : <string>,
  (optional) OU5 : <string>,
  (optional) streetAddress : <string>,
  (optional) postalCode : <string>
}
emailData = {  // <emailData>
  O : <string>,
  C : <string>,
  firstname : <string>,
  lastname : <string>,
  emails : <array, 1-4 e-mails>,
  OU1 : <string>,
  OU2 : <string>,
  (optional) OU3 : <string>
}

\<csv content> => examples/bulk/bulk-template.csv

2.1.0

4 years ago

2.0.2

6 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

0.1.16

7 years ago

0.1.15

7 years ago

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.17

7 years ago

0.0.16

7 years ago

0.0.15

7 years ago

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago