This repository contains an implementation to create a client certificate key store in a modern Web browser.
src | ||
.gitignore | ||
ca.cnf | ||
COPYING | ||
go.mod | ||
gulpfile.js | ||
main.go | ||
package-lock.json | ||
package.json | ||
README.md | ||
setup_example_ca.sh |
Browser PKCS#10 CSR generation PoC
This repository contains a small proof of concept implementation of browser based PKCS#10 certificate signing request and PKCS#12 key store generation using node-forge.
The backend is implemented in Go and utilizes openssl for the signing operations.
Running
-
Clone the repository
git clone https://git.dittberner.info/jan/browser_csr_generation.git
-
Get dependencies and build assets
cd browser_csr_generation npm install --global gulp-cli npm install gulp
-
Setup the example CA and a server certificate and key
./setup_example_ca.sh openssl req -new -x509 -days 365 -subj "/CN=localhost" -addext subjectAltName=DNS:localhost -newkey rsa:3072 \ -nodes -out server.crt.pem -keyout server.key.pem
-
Run the Go based backend
go run main.go
Open https://localhost:8000/ in your browser.
-
Run gulp watch
You can run a gulp watch in a second terminal window to automatically publish changes to the files in the
src
directory:gulp watch