mirror of
				https://github.com/therootcompany/keypairs.js.git
				synced 2024-11-16 17:29:03 +00:00 
			
		
		
		
	Compare commits
	
		
			9 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| eab6cf919a | |||
| 97cb6c04b9 | |||
| ac1ff1ad4d | |||
| 2e74219361 | |||
| 11965ca603 | |||
| b696c1dade | |||
| b2fc0ebf35 | |||
| af7ee5426f | |||
| c66e9267aa | 
							
								
								
									
										6
									
								
								.jshintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.jshintrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 	"esversion": 11, | ||||||
|  | 	"node": true, | ||||||
|  | 	"unused": true, | ||||||
|  | 	"curly": true | ||||||
|  | } | ||||||
							
								
								
									
										70
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								README.md
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | |||||||
| # @root/keypairs | # [@root/keypairs](https://git.rootprojects.org/root/keypairs.js) | ||||||
| 
 | 
 | ||||||
| Lightweight JavaScript RSA and ECDSA utils that work on Windows, Mac, and Linux | Lightweight JavaScript RSA and ECDSA utils that work on Windows, Mac, and Linux | ||||||
| using modern node.js APIs (no need for C compiler). | using modern node.js APIs (no need for C compiler). | ||||||
| @ -20,6 +20,8 @@ and [Rasha.js (RSA)](https://git.coolaj86.com/coolaj86/rasha.js/). | |||||||
|     -   [ ] Auth0 |     -   [ ] Auth0 | ||||||
| -   [ ] CLI | -   [ ] CLI | ||||||
|     -   See [keypairs-cli](https://npmjs.com/packages/keypairs-cli/) |     -   See [keypairs-cli](https://npmjs.com/packages/keypairs-cli/) | ||||||
|  | -   [x] Node | ||||||
|  | -   [x] Browsers (Webpack >=5) | ||||||
| 
 | 
 | ||||||
| <!-- | <!-- | ||||||
| 
 | 
 | ||||||
| @ -86,6 +88,72 @@ return Keypairs.signJwt({ | |||||||
| By default ECDSA keys will be used since they've had native support in node | By default ECDSA keys will be used since they've had native support in node | ||||||
| _much_ longer than RSA has, and they're smaller, and faster to generate. | _much_ longer than RSA has, and they're smaller, and faster to generate. | ||||||
| 
 | 
 | ||||||
|  | ## Webpack 5+ (for Browsers) | ||||||
|  | 
 | ||||||
|  | This package includes native browser versions of all special functions. | ||||||
|  | 
 | ||||||
|  | Since Webpack 5 now fully supports vanilla JavaScript and exclusive browser builds out-of-the-box, | ||||||
|  | it's pretty easy to create a minimal config to use Keypairs in your browser projects: | ||||||
|  | 
 | ||||||
|  | `webpack.config.js`: | ||||||
|  | 
 | ||||||
|  | ```js | ||||||
|  | 'use strict'; | ||||||
|  | 
 | ||||||
|  | var path = require('path'); | ||||||
|  | 
 | ||||||
|  | module.exports = { | ||||||
|  | 	entry: './main.js', | ||||||
|  | 	mode: 'development', | ||||||
|  | 	devServer: { | ||||||
|  | 		contentBase: path.join(__dirname, 'dist'), | ||||||
|  | 		port: 3001 | ||||||
|  | 	}, | ||||||
|  | 	output: { | ||||||
|  | 		publicPath: 'http://localhost:3001/' | ||||||
|  | 	}, | ||||||
|  | 	module: { | ||||||
|  | 		rules: [{}] | ||||||
|  | 	}, | ||||||
|  | 	plugins: [] | ||||||
|  | }; | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | `main.js`: | ||||||
|  | 
 | ||||||
|  | ```js | ||||||
|  | 'use strict'; | ||||||
|  | 
 | ||||||
|  | var Keypairs = require('./keypairs.js'); | ||||||
|  | 
 | ||||||
|  | Keypairs.generate().then(function (pair) { | ||||||
|  | 	console.log(pair.private); | ||||||
|  | 	console.log(pair.public); | ||||||
|  | }); | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | `index.html`: | ||||||
|  | 
 | ||||||
|  | ```html | ||||||
|  | <!DOCTYPE html> | ||||||
|  | <html> | ||||||
|  | 	<body> | ||||||
|  | 		<script src="./dist/main.js"></script> | ||||||
|  | 	</body> | ||||||
|  | </html> | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | npm install --save-dev webpack@5 | ||||||
|  | # Or, if webpack 5 is still in beta: npm install --save-dev webpack@next | ||||||
|  | 
 | ||||||
|  | npm install --save-dev webpack-cli | ||||||
|  | 
 | ||||||
|  | npx webpack --mode=production | ||||||
|  | 
 | ||||||
|  | ls dist/main.js | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| ## API Overview | ## API Overview | ||||||
| 
 | 
 | ||||||
| -   generate (JWK) | -   generate (JWK) | ||||||
|  | |||||||
| @ -9,5 +9,7 @@ sha2.sum = function (alg, str) { | |||||||
| 		data = encoder.encode(str); | 		data = encoder.encode(str); | ||||||
| 	} | 	} | ||||||
| 	var sha = 'SHA-' + String(alg).replace(/^sha-?/i, ''); | 	var sha = 'SHA-' + String(alg).replace(/^sha-?/i, ''); | ||||||
| 	return window.crypto.subtle.digest(sha, data); | 	return window.crypto.subtle.digest(sha, data).then(function (buf) { | ||||||
|  | 		return new Uint8Array(buf); | ||||||
|  | 	}); | ||||||
| }; | }; | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
| 	"name": "@root/keypairs", | 	"name": "@root/keypairs", | ||||||
| 	"version": "0.9.1", | 	"version": "0.10.2", | ||||||
| 	"lockfileVersion": 1, | 	"lockfileVersion": 1, | ||||||
| 	"requires": true, | 	"requires": true, | ||||||
| 	"dependencies": { | 	"dependencies": { | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
| 	"name": "@root/keypairs", | 	"name": "@root/keypairs", | ||||||
| 	"version": "0.9.1", | 	"version": "0.10.2", | ||||||
| 	"description": "Lightweight, Zero-Dependency RSA and EC/ECDSA crypto for Node.js and Browsers", | 	"description": "Lightweight, Zero-Dependency RSA and EC/ECDSA crypto for Node.js and Browsers", | ||||||
| 	"main": "keypairs.js", | 	"main": "keypairs.js", | ||||||
| 	"browser": { | 	"browser": { | ||||||
| @ -20,7 +20,7 @@ | |||||||
| 	], | 	], | ||||||
| 	"repository": { | 	"repository": { | ||||||
| 		"type": "git", | 		"type": "git", | ||||||
| 		"url": "https://git.rootprojects.org/root/csr.js.git" | 		"url": "https://github.com/therootcompany/keypairs.js.git" | ||||||
| 	}, | 	}, | ||||||
| 	"keywords": [ | 	"keywords": [ | ||||||
| 		"ASN.1", | 		"ASN.1", | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user