|
|
@ -1,11 +1,12 @@ |
|
|
|
<html> |
|
|
|
<head> |
|
|
|
<title>BlueCrypt</title> |
|
|
|
<style> |
|
|
|
textarea { |
|
|
|
width: 42em; |
|
|
|
height: 10em; |
|
|
|
} |
|
|
|
|
|
|
|
<head> |
|
|
|
<title>BlueCrypt</title> |
|
|
|
<style> |
|
|
|
textarea { |
|
|
|
width: 42em; |
|
|
|
height: 10em; |
|
|
|
} |
|
|
|
/* need to word wrap the binary no space der */ |
|
|
|
.js-der-public, .js-der-private{ |
|
|
|
white-space: pre-wrap; /* CSS3 */ |
|
|
@ -14,17 +15,17 @@ |
|
|
|
white-space: -o-pre-wrap; /* Opera 7 */ |
|
|
|
word-wrap: break-word; /* IE */ |
|
|
|
} |
|
|
|
</style> |
|
|
|
</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. |
|
|
|
</style> |
|
|
|
</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> |
|
|
|
<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> |
|
|
@ -50,50 +51,73 @@ |
|
|
|
<label for="-modlen5"><input type="radio" id="-modlen5" |
|
|
|
name="rsa-len" value="4096">4096</label> |
|
|
|
</div> |
|
|
|
<button class="js-generate" hidden>Generate</button> |
|
|
|
</form> |
|
|
|
<button class="js-generate" hidden>Generate</button> |
|
|
|
</form> |
|
|
|
|
|
|
|
<div class="js-loading" hidden>Loading</div> |
|
|
|
<div class="js-loading" hidden>Loading</div> |
|
|
|
|
|
|
|
<details class="js-toc-jwk" hidden> |
|
|
|
<summary>JWK Keypair</summary> |
|
|
|
<pre><code class="js-jwk"> </code></pre> |
|
|
|
</details> |
|
|
|
<details class="js-toc-der-private" hidden> |
|
|
|
<summary>DER Private Binary</summary> |
|
|
|
<pre><code class="js-der-private"> </code></pre> |
|
|
|
</details> |
|
|
|
<details class="js-toc-der-public" hidden> |
|
|
|
<summary>DER Public Binary</summary> |
|
|
|
<pre><code class="js-der-public"> </code></pre> |
|
|
|
</details> |
|
|
|
<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> |
|
|
|
</details> |
|
|
|
<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 class="js-toc-jwk" hidden> |
|
|
|
<summary>JWK Keypair</summary> |
|
|
|
<pre><code class="js-jwk"> </code></pre> |
|
|
|
</details> |
|
|
|
<details class="js-toc-der-private" hidden> |
|
|
|
<summary>DER Private Binary</summary> |
|
|
|
<pre><code class="js-der-private"> </code></pre> |
|
|
|
</details> |
|
|
|
<details class="js-toc-der-public" hidden> |
|
|
|
<summary>DER Public Binary</summary> |
|
|
|
<pre><code class="js-der-public"> </code></pre> |
|
|
|
</details> |
|
|
|
<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> |
|
|
|
</details> |
|
|
|
<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> |
|
|
|
</details> |
|
|
|
|
|
|
|
<h2>Signing</h2> |
|
|
|
<div class="errors" id="sign-error"></div> |
|
|
|
<form class="js-keysign"> |
|
|
|
<div> |
|
|
|
<label for="pem">Pem</label> |
|
|
|
<br> |
|
|
|
<textarea id="pem" name="pem"></textarea> |
|
|
|
</div> |
|
|
|
<button class="js-sign" hidden>Sign</button> |
|
|
|
</form> |
|
|
|
<div class="js-jws-opts" hidden> |
|
|
|
<details class="js-toc-jws"> |
|
|
|
<summary>JWS </summary> |
|
|
|
<pre><code class="js-jws" ></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> |
|
|
|
</div> |
|
|
|
<div class="js-jwt-opts" hidden> |
|
|
|
<details class="js-toc-jwt"> |
|
|
|
<summary>JWS </summary> |
|
|
|
<pre><code class="js-jwt" ></code></pre> |
|
|
|
</details> |
|
|
|
</div> |
|
|
|
|
|
|
|
<script src="./lib/bluecrypt-encoding.js"></script> |
|
|
|
<script src="./lib/asn1-packer.js"></script> |
|
|
|
<script src="./lib/x509.js"></script> |
|
|
|
<script src="./lib/ecdsa.js"></script> |
|
|
|
<script src="./lib/rsa.js"></script> |
|
|
|
<script src="./lib/keypairs.js"></script> |
|
|
|
<script src="./app.js"></script> |
|
|
|
</body> |
|
|
|
<script src="./lib/bluecrypt-encoding.js"></script> |
|
|
|
<script src="./lib/asn1-packer.js"></script> |
|
|
|
<script src="./lib/x509.js"></script> |
|
|
|
<script src="./lib/ecdsa.js"></script> |
|
|
|
<script src="./lib/rsa.js"></script> |
|
|
|
<script src="./lib/keypairs.js"></script> |
|
|
|
<script src="./app.js"></script> |
|
|
|
</body> |
|
|
|
</html> |
|
|
|