https://github.com/firsttimeez/csr
Generates a Certificate Signing Request (CSR) in DER format, encoded as base64url string, following the PKCS#10 specification.
https://github.com/firsttimeez/csr
acme asn1 base64url certificate-signing-request csr der ecdsa encoded es256 es6 es6-modules letsencrypt pkcs10 pki rfc2986
Last synced: 8 months ago
JSON representation
Generates a Certificate Signing Request (CSR) in DER format, encoded as base64url string, following the PKCS#10 specification.
- Host: GitHub
- URL: https://github.com/firsttimeez/csr
- Owner: FirstTimeEZ
- License: apache-2.0
- Created: 2024-11-24T03:14:34.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-15T02:23:16.000Z (10 months ago)
- Last Synced: 2025-01-15T10:54:00.975Z (9 months ago)
- Topics: acme, asn1, base64url, certificate-signing-request, csr, der, ecdsa, encoded, es256, es6, es6-modules, letsencrypt, pkcs10, pki, rfc2986
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/simple-csr-generator
- Size: 29.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple Certificate Signing Request Generator (CSR)
A robust and secure JavaScript library for generating Certificate Signing Requests (CSRs)
This library follows the `PKCS#10` specification and implements CSR generation with `SHA-256` signing.
## Features
- `PKCS#10` compliant implementation
- `DNS` Subject Alternative Names (`SAN`)
- `DER` encoding with `base64url` output format## Usage
```javascript
import { generateCSRWithExistingKeys } from 'simple-csr-generator';async function generateCSR(publicKeyES256, privateKeyES256) {
try {
const commonName = 'www.ssl.boats';
const dnsNames = ["www.ssl.boats", "ssl.boats"];const csr = await generateCSRWithExistingKeys(commonName, publicKeyES256, privateKeyES256, dnsNames);
console.log('Generated CSR:', csr);
} catch (error) {
console.error('Failed to generate CSR:', error);
}
}
```-----------------------
## API Reference
### generateCSRWithExistingKeys(commonName, publicKey, privateKey, dnsNames)
Generates a `SHA-256` Certificate Signing Request (CSR) in `DER` format, encoded as `base64url` string, following the `PKCS#10` specification.
#### Parameters
- `commonName` (string): The common name (`CN`) to be included in the `CSR` subject field.
- `publicKey` (KeyObject): The public key to be included in the `CSR`.
- `privateKey` (KeyObject): The private key that corresponds to the provided public key.
- `dnsNames` (array): Array of DNS names to use for Subject Alternative Names (`SAN`)#### Returns
- `Promise`: Base64URL-encoded `DER` format `CSR`
-----------------------
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
For major changes, please open an issue first to discuss what you would like to change.
## Acknowledgments
- [`RFC 2986`](https://tools.ietf.org/html/rfc2986) - `PKCS #10`: Certification Request Syntax Specification
---
Made with ❤️ by `FirstTimeEZ`