Skip to content

Commit df235b2

Browse files
save file
1 parent 5a0adcf commit df235b2

File tree

1 file changed

+83
-83
lines changed

1 file changed

+83
-83
lines changed

utils/x509/generate-key-pair/v2.0/generate-key-pair-v2.0.html

Lines changed: 83 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<head>
99
<meta charset=utf-8>
10-
10+
1111
<title>
1212
Generate Key Pair
1313
</title>
@@ -19,7 +19,7 @@
1919

2020
<link rel=icon type='image/x-icon' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAVFBMVEVHcEwAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEAAAABAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEAAAABAQEAAACsl1DQAAAAG3RSTlMA+Nbo8C8MBGaeFKt9TBx0ijlZy5XAUkQi4Lb6C8LjAAABM0lEQVQoz31TibKDIAzkkBsqBbXV/f//fMHOq9IrMw6jmw2bTWSsC6PZ19Bp2ja3fMm4Bw4KHu6f0MtMkBCUsnnzDkegJu9TBeISXyt4gfVKRx5XiDKI1MPXAY6UTwgOQ1n33FPcODJjC8eWwZMjBV0HSiIYE8BtwKD8jKGja/qwkIBqB1TNLGC76pZD2hXztgPlFdYT4CqE445uJQHLm/YaKMUSepMQlx5u7EWSqSXFlbzpUbUTSBh5S0/wzykq9SCPdKS5gTz7wxEpJ3X9v82nKCBPnlMTkOJB3qP5dmppFG3Qh9TyIuwShxO5qdzMu+xnudp3baYzmTHXD+RMNqpk0WeTn89XK5vOthtH8cXqozD4Svb7z/uscrzd20p8/yHYCJQfMG1e/AHrHH4VZ+bh2h/qTRXn16T2TQAAAABJRU5ErkJggg=='>
2121
<meta name=viewport content='width=device-width, initial-scale=1'>
22-
22+
2323
<script type='application/ld+json'>
2424
{
2525
"@context" : "https://schema.org",
@@ -35,16 +35,16 @@
3535
"offers" : {"@type":"Offer","price":"0","priceCurrency":"GBP"}
3636
}
3737
</script>
38-
39-
40-
<script src='https://libs.ext-code.com/js/dom/component/component.js'></script>
38+
39+
40+
<script src='https://libs.ext-code.com/js/dom/component/v3.0/component.js'></script>
4141

4242
<script init>
4343
console.clear();
4444
console.log('generate-key-pair-v2.0.html');
4545
console.log();
4646
console.json=v=>console.log(JSON.stringify(v,null,4));
47-
47+
4848
var df=true,did='gen-https-cert'
4949
;
5050

@@ -54,16 +54,16 @@
5454
var menumod;
5555
var keydown;
5656
var debug;
57-
58-
57+
58+
5959
var menu;
6060

6161

6262
var hdr;
6363

6464
//:
6565

66-
66+
6767
async function init(){
6868

6969

@@ -83,18 +83,18 @@
8383

8484

8585
initdom(document.body);
86-
87-
86+
87+
8888
console.log('ready');
8989
}//init
9090

9191

9292

9393

9494
(async()=>{
95-
96-
mod.stack.add;
9795

96+
mod.stack.add;
97+
9898
var {ext} = await import('https://libs.ext-code.com/js/io/ext-loader/ext-loader.m.js');
9999

100100
var promise = ext.load.libs(
@@ -105,19 +105,19 @@
105105
'js/debug/debug.js',
106106
);
107107
[$,datatype,menumod,keydown,debug] = await promise;
108-
109-
108+
109+
110110
mod.stack.complete;
111-
112-
})();
113111

114-
</script init>
115-
112+
})();
116113

114+
</script init>
115+
116+
117117

118118

119119
<style>
120-
120+
121121
html
122122
{height:100%}
123123
body
@@ -126,27 +126,27 @@
126126
x509-hdr
127127
{margin-bottom:20px}
128128

129-
.hdr
129+
.hdr
130130
{font-family:arial;position:relative;margin-top:0;margin-bottom:20px;background:white;
131131
padding-bottom:10px;border-bottom:3px solid lightblue}
132-
.hdr-icon
132+
.hdr-icon
133133
{display:inline-block;text-align:center;background:whitesmoke;border-radius:5px;
134134
border:1px solid lightgray;padding:5px 3px 0px;cursor:pointer;margin-right:10px;
135135
min-width:50px}
136-
.hdr-icon-img
136+
.hdr-icon-img
137137
{width:25px;height:25px}
138-
.hdr-icon-label
138+
.hdr-icon-label
139139
{margin:2px 0 0}
140-
.hdr-title
140+
.hdr-title
141141
{position:absolute;left:0;right:0;z-index:0;margin:0 auto}
142142
.hdr-date
143143
{float:right}
144-
144+
145145
input
146146
{padding:5px 10px;font-size:16px}
147147
input[type=button]
148148
{cursor:pointer}
149-
149+
150150
#btns
151151
{margin-bottom:20px}
152152
#view
@@ -161,22 +161,22 @@
161161
{flex:1}
162162
pre
163163
{border:1px solid lightgray;padding:10px;font-family:monospace}
164-
165-
164+
165+
166166
.visually-hidden
167167
{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;
168168
clip:rect(0 0 0 0) !important;white-space:nowrap !important;border:0 !important}
169-
170-
169+
170+
171171
</style>
172-
173-
172+
173+
174174
</head>
175-
176-
175+
176+
177177
<body>
178-
179-
178+
179+
180180
<x509-hdr component=grp v2.0>
181181
<h1 class=visually-hidden>
182182
Generate Key Pair
@@ -186,11 +186,11 @@ <h1 class=visually-hidden>
186186
15 Nov 2025
187187
</time>
188188
</x509-hdr>
189-
190-
191-
192-
193-
<!--
189+
190+
191+
192+
193+
<!--
194194
<div class=hdr>
195195
<a class=hdr-icon href='https://javascript-2020.github.io/'>
196196
<img class=hdr-icon-img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAqFBMVEVHcEwjmpckopg9f3YxpJM6r5kjq58Nmp0Nn6QRoKExrpshnpgtoJUdoZwYnZ02spwYpaEmrZ8djpINn6Qtrp4inpcjqZ8SoqM3s5w0sp01spwrr58vr50oqpwdnpo0sZwtrJwUpKMMoaUtq50op5ssqpopppseqaM1sJwgpJ0NoaUSoaI3kYobqaMSpKQrr58PoaMVpaIOoKMLpKcXpaEkqp8Rm58YrKUL0CR4AAAAOHRSTlMACBkBCyinK59CQhUOLyKjqbUGpZgSYn6rp5WsekcmgkyWmCkmNB7AYTiuVgKuuo91i2PLn2lJ7kISMf4AAAElSURBVCjPrdPXloIwEAbgBDFKCRo6SO8lYEHd93+zxV7Zm2WuSL6Tk/MPEwBGLFH8SzFCeFiDXNeJ+7GtGds1D+ghDzzPzXX6xlJbq75s5KVLiJsSB76xIhd22Mz0pkyRnqzW2htD/SeUjL0EQKY60nqRvTLXGl64PR/SfDVxVvETZ123w8vN9Ur5YKUF4R9cd/WxqiePgCs3IMF1QXcVt6vK59tSqyjN4hwQbhS8mUuvWTLbwYtTQGhEjLHVPprv+4ztQ8AeRVn50uipBcXg/IPgfPaFF+z1axyeMEkcJwwdYHHZINQ02gALS49lJcQMci/COGzdue8apRQwNz4tYvM207JSRVEUhvtW6KeBIFVVbds07xPncZfCfWSK+UtNJ/9+VL/nTBuX7xjDZwAAAABJRU5ErkJggg==' />
@@ -241,8 +241,8 @@ <h1 class=visually-hidden>
241241
</div>
242242

243243
</div>
244-
245-
244+
245+
246246
</body>
247247

248248

@@ -251,8 +251,8 @@ <h1 class=visually-hidden>
251251
console.log('generate-key-pair.html');
252252
console.log();
253253
console.json=v=>console.log(JSON.stringify(v,null,4));
254-
255-
254+
255+
256256
var $ = (root,sel)=>(!sel && (sel=root,root=document),root.querySelector(sel));
257257
$.mousetext = function(e,text){
258258

@@ -268,8 +268,8 @@ <h1 class=visually-hidden>
268268
setTimeout(rem,time);
269269

270270
}//mousetext
271-
272-
271+
272+
273273
var keys;
274274
var pem = {};
275275

@@ -280,15 +280,15 @@ <h1 class=visually-hidden>
280280
btn.public = {};
281281
var fn = {};
282282
var pretty = {};
283-
283+
284284

285285
//:
286286

287287

288-
288+
289289
function initdom(rootnode){
290290

291-
var root = document.body;
291+
var root = document.body;
292292

293293
hdr.initdom(root);
294294

@@ -304,12 +304,12 @@ <h1 class=visually-hidden>
304304
$(pub_root,'[value=save]').onclick = btn.public.save;
305305

306306
}//initdom
307-
308-
307+
308+
309309
//:
310310

311-
312-
btn.generate = async function(){
311+
312+
btn.generate = async function(){
313313

314314
var params = {name:'RSA-OAEP',modulusLength:1024,publicExponent:new Uint8Array([1,0,1]),hash:'SHA-256'};
315315
keys = await window.crypto.subtle.generateKey(params,true,['encrypt','decrypt']);
@@ -319,22 +319,22 @@ <h1 class=visually-hidden>
319319

320320
pem.public = await fn.export.public(keys.publicKey);
321321
$('#public').textContent = pem.public;
322-
323-
322+
323+
324324

325325
}//generate
326-
327-
326+
327+
328328
btn.private.copy = async function(e){
329-
329+
330330
var err;
331331
try{
332-
332+
333333
await navigator.clipboard.writeText(pem.private);
334334

335335
}
336336
catch(err2){
337-
337+
338338
err = err2;
339339

340340
}
@@ -347,22 +347,22 @@ <h1 class=visually-hidden>
347347

348348

349349
btn.private.save = function(){
350-
350+
351351
save('private.key.pem',pem.private);
352-
352+
353353
}//save
354354

355355

356356
btn.public.copy = async function(){
357-
358-
var err;
359-
try{
360-
357+
358+
var err;
359+
try{
360+
361361
await navigator.clipboard.writeText(pem.public);
362362

363363
}
364364
catch(err2){
365-
365+
366366
err = err;
367367

368368
}
@@ -375,7 +375,7 @@ <h1 class=visually-hidden>
375375

376376

377377
btn.public.save = function(){
378-
378+
379379
save('public.key.pem',pem.public);
380380

381381
}//save
@@ -396,10 +396,10 @@ <h1 class=visually-hidden>
396396
}//export
397397
fn.export.public = public=>fn.export('public',public);
398398
fn.export.private = private=>fn.export('private',private);
399-
399+
400400
var cert_hdr = (type='public')=>`-----BEGIN ${type.toUpperCase()} KEY-----`;
401401
var cert_ftr = (type='public')=>`-----END ${type.toUpperCase()} KEY-----`;
402-
402+
403403
function buf_b64(buf){
404404

405405
var bytes = new Uint8Array(buf);
@@ -408,7 +408,7 @@ <h1 class=visually-hidden>
408408
return b64;
409409

410410
}//buf_b64
411-
411+
412412
pretty.out=function(pem){
413413

414414
var {hdr,b64,ftr} = extract(pem);
@@ -426,8 +426,8 @@ <h1 class=visually-hidden>
426426
return txt;
427427

428428
}//pretty.out
429-
430-
429+
430+
431431
function extract(pem){
432432

433433
var i1 = pem.indexOf('KEY')+8;
@@ -438,13 +438,13 @@ <h1 class=visually-hidden>
438438
return {hdr,b64,ftr};
439439

440440
}//extract
441-
442-
441+
442+
443443
//:
444444

445445

446446
function save(filename,txt){
447-
447+
448448
var blob = new Blob([txt]);
449449
var url = window.URL.createObjectURL(blob);
450450

@@ -454,12 +454,12 @@ <h1 class=visually-hidden>
454454
a.click();
455455

456456
}//save
457-
458-
459-
457+
458+
459+
460460
</script>
461-
462-
461+
462+
463463
</html>
464464

465465

0 commit comments

Comments
 (0)