diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..b3a5643 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,57 @@ +import { pki } from 'node-forge' + +declare interface SelfsignedOptions { + /** + * The number of days before expiration + * + * @default 365 */ + days?: number + /** + * the size for the private key in bits + * @default 1024 + */ + keySize?: number + /** + * additional extensions for the certificate + */ + extensions?: string[] + /** + * The signature algorithm sha256 or sha1 + * @default "sha1" + */ + algorithm?: string + /** + * include PKCS#7 as part of the output + * @default false + */ + pkcs7?: boolean + /** + * generate client cert signed by the original key + * @default false + */ + clientCertificate?: undefined + /** + * client certificate's common name + * @default "John Doe jdoe123" + */ + clientCertificateCN?: string +} + +declare interface GenerateResult { + private: string + public: string + cert: string + fingerprint: string +} + +declare function generate( + attrs?: pki.CertificateField[], + opts?: SelfsignedOptions +): GenerateResult + +declare function generate( + attrs?: pki.CertificateField[], + opts?: SelfsignedOptions, + /** Optional callback, if not provided the generation is synchronous */ + done?: (err: undefined | Error, result: GenerateResult) => any +): void diff --git a/package.json b/package.json index 4feade7..e6af953 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "2.0.1", "description": "Generate self signed certificates private and public keys", "main": "index.js", + "types": "index.d.ts", "scripts": { "test": "mocha -t 5000" },