Package Exports
- @gaam/pkcs12
- @gaam/pkcs12/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@gaam/pkcs12) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
PKCS #12
OpenSSL wrapper to handle PKCS #12 files.
Roadmap
- [✓] PKCS #12 Creation: Generate PKCS #12 files from private keys and certificates with certificate authority chains
- [✓] Encryption Support: Full compatibility with standard OpenSSL v1 and v3 encryption algorithms
- [✓] PKCS #12 Parsing: Extract and decode private keys, certificates, and CA chains from existing PKCS #12 files
- [✗] Information Reading: Parse and display detailed PKCS #12 metadata and structure information
Install OpenSSL3 dependency
Windows
# Install vcpkg if you don't have it
git clone git@github.com:microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.bat
./vcpkg/vcpkg install openssl:x64-windows-release
# Set environment variables
$env:OPENSSL_DIR = "{{PATH_TO_VCPKG_DIR}}\installed\x64-windows-release"
$env:OPENSSL_MODULES = "{{PATH_TO_VCPKG_DIR}}\installed\x64-windows-release\bin"MacOS
brew install openssl@3Debian and Ubuntu
sudo apt-get install pkg-config libssl-devAlpine
apk add pkgconf openssl-devQuick usage
Creating a PKCS #12 file
import { createPkcs12 } from "@gaam/pkcs12";
const pkcs = createPkcs12({
alias: "test",
certificatePem,
privateKeyPem,
password: "0123456789",
caChainPem: [
subCA,
rootCA,
],
})Extracting objects from a PKCS #12 file
import { extractPkcs12, Pkcs12Object } from "@gaam/pkcs12";
// Extract certificate
const certificate = extractPkcs12({
base64: pkcs12Base64,
password: "0123456789",
object: Pkcs12Object.Certificate
});
// Extract private key
const privateKey = extractPkcs12({
base64: pkcs12Base64,
password: "0123456789",
object: Pkcs12Object.PrivateKey
});
// Extract CA chain
const caChain = extractPkcs12({
base64: pkcs12Base64,
password: "0123456789",
object: Pkcs12Object.CAChain
});