no-acme #10
							
								
								
									
										58
									
								
								app.js
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								app.js
									
									
									
									
									
								
							@ -120,18 +120,60 @@
 | 
				
			|||||||
      $$('input').map(function ($el) { $el.disabled = true; });
 | 
					      $$('input').map(function ($el) { $el.disabled = true; });
 | 
				
			||||||
      $$('button').map(function ($el) { $el.disabled = true; });
 | 
					      $$('button').map(function ($el) { $el.disabled = true; });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // function here
 | 
					      try {
 | 
				
			||||||
      // keys.generate()
 | 
					
 | 
				
			||||||
      // jws = jwk.sign(payload)
 | 
					
 | 
				
			||||||
      // jwt = jws.protected + '.' + jws.payload + '.' + jws.signature
 | 
					        var opts = {
 | 
				
			||||||
      // promise call back
 | 
					          jwk: JSON.parse($('textarea[name="jwk"]').value),
 | 
				
			||||||
      $('.js-pem-loading').hidden = true;
 | 
					          claims: {
 | 
				
			||||||
      $$('input').map(function ($el) { $el.disabled = false; });
 | 
					            exp: "1h",
 | 
				
			||||||
      $$('button').map(function ($el) { $el.disabled = false; });
 | 
					            iss: document.getElementById(`-acmeDomains`).value
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Keypairs.signJwt(opts).then(function (msg) {
 | 
				
			||||||
 | 
					          document.getElementById(`sign-error`).innerText = null;
 | 
				
			||||||
 | 
					          $('.js-jwt').innerText = msg;
 | 
				
			||||||
 | 
					          $('.js-toc-jwt').hidden = false;
 | 
				
			||||||
 | 
					          var msgArr = msg.split(".")
 | 
				
			||||||
 | 
					          var protected64 = msgArr[0]
 | 
				
			||||||
 | 
					          var payload64 = msgArr[1]
 | 
				
			||||||
 | 
					          var signature = msgArr[2]
 | 
				
			||||||
 | 
					          var signedMsg = {
 | 
				
			||||||
 | 
					            protected: protected64
 | 
				
			||||||
 | 
					            , payload: payload64
 | 
				
			||||||
 | 
					            , signature
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					          $('.js-jws').innerText = JSON.stringify(signedMsg, null, 2);
 | 
				
			||||||
 | 
					          $('.js-toc-jws').hidden = false;
 | 
				
			||||||
 | 
					          $('.js-pem-loading').hidden = true;
 | 
				
			||||||
 | 
					          $$('input').map(function ($el) { $el.disabled = false; });
 | 
				
			||||||
 | 
					          $$('button').map(function ($el) { $el.disabled = false; });
 | 
				
			||||||
 | 
					        }).catch(function (error) {
 | 
				
			||||||
 | 
					          document.getElementById(`sign-error`).innerText = error.message
 | 
				
			||||||
 | 
					          $('.js-pem-loading').hidden = true;
 | 
				
			||||||
 | 
					          $$('input').map(function ($el) { $el.disabled = false; });
 | 
				
			||||||
 | 
					          $$('button').map(function ($el) { $el.disabled = false; });
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					      } catch (error) {
 | 
				
			||||||
 | 
					        document.getElementById(`sign-error`).innerText = error.message
 | 
				
			||||||
 | 
					        $('.js-pem-loading').hidden = true;
 | 
				
			||||||
 | 
					        $$('input').map(function ($el) { $el.disabled = false; });
 | 
				
			||||||
 | 
					        $$('button').map(function ($el) { $el.disabled = false; });
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $('.js-generate').hidden = false;
 | 
					    $('.js-generate').hidden = false;
 | 
				
			||||||
    $('.js-sign').hidden = false;
 | 
					    $('.js-sign').hidden = false;
 | 
				
			||||||
 | 
					    $('textarea[name="jwk"]').value = JSON.stringify({
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 | 
				|||||||
 | 
					      "crv": "P-256",
 | 
				
			||||||
 | 
					      "d": "LImWxqqTHbP3LHQfqscDSUzf_uNePGqf9U6ETEcO5Ho",
 | 
				
			||||||
 | 
					      "kty": "EC",
 | 
				
			||||||
 | 
					      "x": "vdjQ3T6VBX82LIKDzepYgRsz3HgRwp83yPuonu6vqos",
 | 
				
			||||||
 | 
					      "y": "IUkEXtAMnppnV1A19sE2bJhUo4WPbq6EYgWxma4oGyg",
 | 
				
			||||||
 | 
					      "kid": "MnfJYyS9W5gUjrJLdn8ePMzik8ZJz2qc-VZmKOs_oCw"
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  window.addEventListener('load', run);
 | 
					  window.addEventListener('load', run);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								index.html
									
									
									
									
									
								
							@ -101,20 +101,24 @@
 | 
				
			|||||||
  <div class="errors" id="sign-error"></div>
 | 
					  <div class="errors" id="sign-error"></div>
 | 
				
			||||||
  <form class="js-keysign">
 | 
					  <form class="js-keysign">
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
      <label for="pem">Pem</label>
 | 
					      <label for="-acmeDomains">Domains:</label>
 | 
				
			||||||
 | 
					      <input class="js-domains" type="text" id="-acmeDomains" value="example.com www.example.com">
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div>
 | 
				
			||||||
 | 
					      <label for="jwk">JWK:</label>
 | 
				
			||||||
      <br>
 | 
					      <br>
 | 
				
			||||||
      <textarea id="pem" name="pem"></textarea>
 | 
					      <textarea id="jwk" name="jwk"></textarea>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <button class="js-sign" hidden>Sign</button>
 | 
					    <button class="js-sign" hidden>Sign</button>
 | 
				
			||||||
  </form>
 | 
					  </form>
 | 
				
			||||||
  <div class="js-pem-loading" hidden>Loading</div>
 | 
					  <div class="js-pem-loading" hidden>Loading</div>
 | 
				
			||||||
  <details class="js-toc-jws">
 | 
					  <details class="js-toc-jws" hidden>
 | 
				
			||||||
    <summary>JWS </summary>
 | 
					    <summary>JWS </summary>
 | 
				
			||||||
    <pre><code class="js-jws" ></code></pre>
 | 
					    <pre><code class="js-jws"></code></pre>
 | 
				
			||||||
  </details>
 | 
					  </details>
 | 
				
			||||||
  <details class="js-toc-jwt">
 | 
					  <details class="js-toc-jwt" hidden>
 | 
				
			||||||
    <summary>JWS </summary>
 | 
					    <summary>JWT </summary>
 | 
				
			||||||
    <pre><code class="js-jwt" ></code></pre>
 | 
					    <pre><code class="js-jwt"></code></pre>
 | 
				
			||||||
  </details>
 | 
					  </details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <br>
 | 
					    <br>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	
What's this hard-coded value for?