Update instructions for user installation
This commit is contained in:
		
							parent
							
								
									5f60c08ff4
								
							
						
					
					
						commit
						bd54c060b9
					
				
					 1 changed files with 33 additions and 18 deletions
				
			
		
							
								
								
									
										49
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										49
									
								
								README.md
									
										
									
									
									
								
							|  | @ -1,36 +1,46 @@ | |||
| # 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](https://github.com/digitalbazaar/forge). | ||||
| 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](https://github.com/digitalbazaar/forge). | ||||
| 
 | ||||
| The backend is implemented in [Go](https://golang.org/) and utilizes openssl for the signing operations. | ||||
| The backend is implemented in [Go](https://golang.org/) and utilizes openssl | ||||
| for the signing operations. The instructions below have been tested on Debian | ||||
| 11 (Bullseye). Debian 10 works when you use a manual installation of Go. | ||||
| 
 | ||||
| ## Running | ||||
| 
 | ||||
| 1. Clone the repository | ||||
| 1. Install dependencies | ||||
| 
 | ||||
|    ``` | ||||
|    sudo apt install git npm openssl golang-go | ||||
|    ``` | ||||
| 
 | ||||
| 2. Clone the repository | ||||
| 
 | ||||
|     ``` | ||||
|     git clone https://git.dittberner.info/jan/browser_csr_generation.git | ||||
|     ``` | ||||
| 
 | ||||
| 2. Get dependencies and build assets | ||||
| 3. Get dependencies and build assets | ||||
| 
 | ||||
|     ``` | ||||
|     cd browser_csr_generation | ||||
|     npm install --global gulp-cli | ||||
|     npm install --user gulp-cli | ||||
|     npm install | ||||
|     gulp | ||||
|     ./node_modules/.bin/gulp | ||||
|     ``` | ||||
| 
 | ||||
| 2. Setup the example CA and a server certificate and key | ||||
| 3. 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 \ | ||||
|     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 | ||||
|     ``` | ||||
| 
 | ||||
| 3. Run the Go based backend | ||||
| 4. Run the Go based backend | ||||
| 
 | ||||
|     ``` | ||||
|     go run main.go | ||||
|  | @ -38,10 +48,12 @@ The backend is implemented in [Go](https://golang.org/) and utilizes openssl for | |||
| 
 | ||||
|    Open https://localhost:8000/ in your browser. | ||||
| 
 | ||||
| 4. Run gulp watch | ||||
| 5. Run gulp watch | ||||
| 
 | ||||
|    You can run a [gulp watch](https://gulpjs.com/docs/en/getting-started/watching-files/) | ||||
|    in a second terminal window to automatically publish changes to the files in the `src` directory: | ||||
|    You can run a | ||||
|    [gulp watch](https://gulpjs.com/docs/en/getting-started/watching-files/) | ||||
|    in a second terminal window to automatically publish changes to the files in | ||||
|    the `src` directory: | ||||
| 
 | ||||
|     ``` | ||||
|     gulp watch | ||||
|  | @ -49,7 +61,8 @@ The backend is implemented in [Go](https://golang.org/) and utilizes openssl for | |||
| 
 | ||||
| ## Translations | ||||
| 
 | ||||
| This PoC uses [go-i18n](https://github.com/nicksnyder/go-i18n/) for internationalization (i18n) support. | ||||
| This PoC uses [go-i18n](https://github.com/nicksnyder/go-i18n/) for | ||||
| internationalization (i18n) support. | ||||
| 
 | ||||
| The translation workflow needs the `go18n` binary which can be installed via | ||||
| 
 | ||||
|  | @ -69,14 +82,16 @@ Then use | |||
| goi18n merge active.*.toml | ||||
| ``` | ||||
| 
 | ||||
| to create TOML files for translation as `translate.<locale>.toml`. After translating the messages run | ||||
| to create TOML files for translation as `translate.<locale>.toml`. After | ||||
| translating the messages run | ||||
| 
 | ||||
| ``` | ||||
| goi18n merge active.*.toml translate.*.toml | ||||
| ``` | ||||
| 
 | ||||
| to merge the messages back into the active translation files. To add a new language you need to add the language code | ||||
| to `main.go`'s i18n bundle loading code | ||||
| to merge the messages back into the active translation files. To add a new | ||||
| language you need to add the language code to `main.go`'s i18n bundle loading | ||||
| code | ||||
| 
 | ||||
| ``` | ||||
| for _, lang := range []string{"en-US", "de-DE"} { | ||||
|  |  | |||
		Reference in a new issue