| 
									
										
										
										
											2019-04-18 00:20:51 -06:00
										 |  |  | <html> | 
					
						
							|  |  |  |   <head> | 
					
						
							|  |  |  |     <title>BlueCrypt</title> | 
					
						
							| 
									
										
										
										
											2019-04-27 00:02:57 -04:00
										 |  |  |     <style> | 
					
						
							|  |  |  |       textarea { | 
					
						
							|  |  |  |         width: 42em; | 
					
						
							|  |  |  |         height: 10em; | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2019-04-27 00:53:28 -04:00
										 |  |  |       /* need to word wrap the binary no space der */ | 
					
						
							| 
									
										
										
										
											2019-04-27 01:24:37 -04:00
										 |  |  |       .js-der-public, .js-der-private{ | 
					
						
							| 
									
										
										
										
											2019-04-27 00:34:49 -06:00
										 |  |  |         white-space: pre-wrap;      /* CSS3 */ | 
					
						
							|  |  |  |         white-space: -moz-pre-wrap; /* Firefox */ | 
					
						
							|  |  |  |         white-space: -pre-wrap;     /* Opera <7 */ | 
					
						
							|  |  |  |         white-space: -o-pre-wrap;   /* Opera 7 */ | 
					
						
							| 
									
										
										
										
											2019-04-27 00:53:28 -04:00
										 |  |  |         word-wrap: break-word;      /* IE */ | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2019-04-27 00:02:57 -04:00
										 |  |  |     </style> | 
					
						
							| 
									
										
										
										
											2019-04-18 00:20:51 -06:00
										 |  |  |   </head> | 
					
						
							|  |  |  |   <body> | 
					
						
							|  |  |  |     <h1>BlueCrypt for the Browser</h1> | 
					
						
							|  |  |  |     <p>BlueCrypt is universal crypto for the browser. It's lightweight, fast, and based on native webcrypto. | 
					
						
							|  |  |  |     This means it's easy-to-use crypto in kilobytes, not megabytes.</p> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <h2>Keypair Generation</h2> | 
					
						
							|  |  |  |     <form class="js-keygen"> | 
					
						
							|  |  |  |       <p>Key Type:</p> | 
					
						
							|  |  |  |       <div> | 
					
						
							|  |  |  |         <input type="radio" id="-ktyEC" | 
					
						
							|  |  |  |          name="kty" value="EC" checked> | 
					
						
							|  |  |  |         <label for="-ktyEC">ECDSA</label> | 
					
						
							|  |  |  |         <input type="radio" id="-ktyRSA" | 
					
						
							|  |  |  |          name="kty" value="RSA"> | 
					
						
							|  |  |  |         <label for="-ktyRSA">RSA</label> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |       <div class="js-ec-opts"> | 
					
						
							|  |  |  |         <p>EC Options:</p> | 
					
						
							| 
									
										
										
										
											2019-05-06 03:45:11 -06:00
										 |  |  |         <label for="-crv2"><input type="radio" id="-crv2" | 
					
						
							|  |  |  |          name="ec-crv" value="P-256" checked>P-256</label> | 
					
						
							|  |  |  |         <label for="-crv3"><input type="radio" id="-crv3" | 
					
						
							|  |  |  |          name="ec-crv" value="P-384">P-384</label> | 
					
						
							|  |  |  |         <!-- label for="-crv5"><input type="radio" id="-crv5"
 | 
					
						
							|  |  |  |          name="ec-crv" value="P-521">P-521</label --> | 
					
						
							| 
									
										
										
										
											2019-04-18 00:20:51 -06:00
										 |  |  |       </div> | 
					
						
							|  |  |  |       <div class="js-rsa-opts" hidden> | 
					
						
							|  |  |  |         <p>RSA Options:</p> | 
					
						
							| 
									
										
										
										
											2019-05-06 03:45:11 -06:00
										 |  |  |         <label for="-modlen2"><input type="radio" id="-modlen2" | 
					
						
							|  |  |  |          name="rsa-len" value="2048" checked>2048</label> | 
					
						
							|  |  |  |         <label for="-modlen3"><input type="radio" id="-modlen3" | 
					
						
							|  |  |  |          name="rsa-len" value="3072">3072</label> | 
					
						
							|  |  |  |         <label for="-modlen5"><input type="radio" id="-modlen5" | 
					
						
							|  |  |  |          name="rsa-len" value="4096">4096</label> | 
					
						
							| 
									
										
										
										
											2019-04-18 00:20:51 -06:00
										 |  |  |       </div> | 
					
						
							|  |  |  |       <button class="js-generate" hidden>Generate</button> | 
					
						
							| 
									
										
										
										
											2019-04-26 16:26:33 -06:00
										 |  |  |     </form> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-18 00:20:51 -06:00
										 |  |  |     <div class="js-loading" hidden>Loading</div> | 
					
						
							| 
									
										
										
										
											2019-04-26 16:26:33 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <details class="js-toc-jwk" hidden> | 
					
						
							|  |  |  |       <summary>JWK Keypair</summary> | 
					
						
							|  |  |  |       <pre><code class="js-jwk"> </code></pre> | 
					
						
							|  |  |  |     </details> | 
					
						
							| 
									
										
										
										
											2019-04-27 01:24:37 -04:00
										 |  |  |     <details class="js-toc-der-private" hidden> | 
					
						
							|  |  |  |       <summary>DER Private Binary</summary> | 
					
						
							|  |  |  |       <pre><code class="js-der-private"> </code></pre> | 
					
						
							| 
									
										
										
										
											2019-04-27 00:02:57 -04:00
										 |  |  |     </details> | 
					
						
							| 
									
										
										
										
											2019-04-27 01:24:37 -04:00
										 |  |  |     <details class="js-toc-der-public" hidden> | 
					
						
							|  |  |  |       <summary>DER Public Binary</summary> | 
					
						
							|  |  |  |       <pre><code class="js-der-public"> </code></pre> | 
					
						
							|  |  |  |     </details> | 
					
						
							| 
									
										
										
										
											2019-04-27 00:34:49 -06:00
										 |  |  |     <details class="js-toc-pem js-toc-pem-pkcs1-private" hidden> | 
					
						
							|  |  |  |       <summary>PEM Private (base64-encoded PKCS1 DER)</summary> | 
					
						
							|  |  |  |       <pre><code  class="js-input-pem-pkcs1-private" ></code></pre> | 
					
						
							| 
									
										
										
										
											2019-04-27 01:24:37 -04:00
										 |  |  |     </details> | 
					
						
							| 
									
										
										
										
											2019-04-27 00:34:49 -06:00
										 |  |  |     <details class="js-toc-pem js-toc-pem-sec1-private" hidden> | 
					
						
							|  |  |  |       <summary>PEM Private (base64-encoded SEC1 DER)</summary> | 
					
						
							|  |  |  |       <pre><code  class="js-input-pem-sec1-private" ></code></pre> | 
					
						
							|  |  |  |     </details> | 
					
						
							|  |  |  |     <details class="js-toc-pem js-toc-pem-pkcs8-private" hidden> | 
					
						
							|  |  |  |       <summary>PEM Private (base64-encoded PKCS8 DER)</summary> | 
					
						
							|  |  |  |       <pre><code  class="js-input-pem-pkcs8-private" ></code></pre> | 
					
						
							|  |  |  |     </details> | 
					
						
							|  |  |  |     <details class="js-toc-pem js-toc-pem-pkcs1-public" hidden> | 
					
						
							|  |  |  |       <summary>PEM Public (base64-encoded PKCS1 DER)</summary> | 
					
						
							|  |  |  |       <pre><code  class="js-input-pem-pkcs1-public" ></code></pre> | 
					
						
							|  |  |  |     </details> | 
					
						
							|  |  |  |     <details class="js-toc-pem js-toc-pem-spki-public" hidden> | 
					
						
							|  |  |  |       <summary>PEM Public (base64-encoded SPKI/PKIX DER)</summary> | 
					
						
							|  |  |  |       <pre><code  class="js-input-pem-spki-public" ></code></pre> | 
					
						
							| 
									
										
										
										
											2019-04-27 00:02:57 -04:00
										 |  |  |     </details> | 
					
						
							| 
									
										
										
										
											2019-04-30 21:34:09 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-26 23:27:08 -04:00
										 |  |  |     <script src="./lib/bluecrypt-encoding.js"></script> | 
					
						
							|  |  |  |     <script src="./lib/asn1-packer.js"></script> | 
					
						
							|  |  |  |     <script src="./lib/x509.js"></script> | 
					
						
							| 
									
										
										
										
											2019-04-27 00:34:49 -06:00
										 |  |  |     <script src="./lib/ecdsa.js"></script> | 
					
						
							| 
									
										
										
										
											2019-04-18 01:56:32 -06:00
										 |  |  |     <script src="./lib/rsa.js"></script> | 
					
						
							| 
									
										
										
										
											2019-04-18 00:20:51 -06:00
										 |  |  |     <script src="./lib/keypairs.js"></script> | 
					
						
							|  |  |  |     <script src="./app.js"></script> | 
					
						
							|  |  |  |   </body> | 
					
						
							|  |  |  | </html> |