ซอร์สที่เผยแพร่
ดาวน์โหลด ZIP ของซอร์ส
CH-J Tools
เรียกดูไดเรกทอรีและไฟล์ของรุ่นแอปพลิเคชันที่ระบุ
CH-J / Server Manager
1704 ไฟล์
0.1.2-beta
วันที่เพิ่ม: · วันที่บิลด์:
1
<!doctype html>2
<html lang="cs">3
<head>4
<meta charset="utf-8">5
<meta name="viewport" content="width=device-width, initial-scale=1">6
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; connect-src 'none'; img-src 'self' data:; object-src 'none'; base-uri 'none'; form-action 'none'">7
<title>Key Generator</title>8
<link rel="stylesheet" href="styles.css">9
</head>10
<body>11
<header><div><span class="eyebrow">CH-J PLUGIN</span><h1>Key Generator</h1><p id="pluginVersion" data-i18n="Modul se načítá…">Modul se načítá…</p></div><button id="closeButton" class="button ghost" type="button" data-i18n="Zavřít">Zavřít</button></header>12
<main>13
<nav class="generator-tabs" role="tablist" aria-label="Generátor" data-i18n-aria-label="Generátor">14
<button type="button" class="button" role="tab" data-mode="ssh">SSH</button>15
<button type="button" class="button" role="tab" data-mode="openpgp">OpenPGP / GPG</button>16
<button type="button" class="button" role="tab" data-mode="password" data-i18n="Generátor hesel">Generátor hesel</button>17
</nav>18
<p id="status" class="status" aria-live="polite"></p>19
<div id="pgpProgress" class="panel generation-progress" hidden><progress aria-label="Generování klíče"></progress><span id="pgpProgressText" role="status" aria-live="polite"></span><span id="pgpElapsed" role="timer" aria-live="off"></span><button type="button" id="cancelCrypto" class="button" data-i18n="Zrušit a zavřít">Zrušit a zavřít</button></div>20
<section data-generator-panel="ssh">21
<form id="generatorForm" class="panel form">22
<label><span data-i18n="Typ klíče">Typ klíče</span><select id="keyType"><option value="ed25519">Ed25519</option><option value="rsa">RSA</option><optgroup label="Post-Quantum / Hybrid"><option value="mldsa44-ed25519">ML-DSA-44 + Ed25519 (OpenSSH 10.6)</option></optgroup><option value="ecdsa">ECDSA</option><option value="dsa">DSA (legacy)</option><option value="rsa1">SSH1 RSA (legacy)</option></select></label>23
<label id="bitsLabel"><span data-i18n="Velikost">Velikost</span><select id="keyBits"></select></label>24
<label><span data-i18n="Formát soukromého klíče">Formát soukromého klíče</span><select id="keyFormat"><option value="openssh">OpenSSH</option><option value="pem">PEM / PKCS#8</option><option value="ppk">PuTTY PPK v2</option></select></label>25
<label><span data-i18n="Komentář">Komentář</span><input id="keyComment" maxlength="200" placeholder="test@server"></label>26
<label><span data-i18n="Passphrase (volitelná)">Passphrase (volitelná)</span><input id="keyPassphrase" type="password" maxlength="1024" autocomplete="new-password"></label>27
<label id="legacyField" class="legacy" hidden><input id="legacyConfirmed" type="checkbox"> <span data-i18n="Rozumím, že tento legacy typ je zastaralý a může být odmítnut moderními SSH servery.">Rozumím, že tento legacy typ je zastaralý a může být odmítnut moderními SSH servery.</span></label>28
<div class="actions"><button class="button primary" type="submit" data-i18n="Generovat lokálně">Generovat lokálně</button><button id="saveButton" class="button" type="button" disabled data-i18n="Uložit pár…">Uložit pár…</button><button id="storeSshButton" class="button" type="button" disabled data-i18n="Uložit do Keychainu">Uložit do Keychainu</button></div>29
</form>31
<section id="result" class="results" hidden>32
<article class="panel"><div class="result-title"><strong data-i18n="Soukromý klíč">Soukromý klíč</strong><span id="privateFormat">—</span></div><textarea id="privateKey" readonly spellcheck="false"></textarea></article>33
<article class="panel"><div class="result-title"><strong data-i18n="Veřejný klíč">Veřejný klíč</strong><span id="publicFormat">OpenSSH</span></div><textarea id="publicKey" readonly spellcheck="false"></textarea></article>34
<p id="notice" class="notice" hidden></p>35
</section>36
</section>37
<section data-generator-panel="openpgp" hidden>38
<form id="pgpForm" class="panel form pgp-form">39
<label><span data-i18n="Verze PGP klíče">Verze PGP klíče</span><select id="pgpVersion"><option value="6" selected data-i18n="V6 — výchozí (RFC 9580)">V6 — výchozí (RFC 9580)</option><option value="5" data-i18n="V5 — alternativa (LibrePGP)">V5 — alternativa (LibrePGP)</option><option value="4" data-i18n="V4 — kompatibilita">V4 — kompatibilita</option><option value="3" data-i18n="V3 — legacy">V3 — legacy</option><option value="2" data-i18n="V2 — legacy">V2 — legacy</option></select></label>40
<p id="pgpVersionNotice" class="hint" aria-live="polite"></p>41
<label id="pgpLegacyField" class="legacy" hidden><input id="pgpLegacyConfirmed" type="checkbox"><span data-i18n="Potvrzuji historický formát s překonanými MD5/IDEA. Pouze pro legacy kompatibilitu.">Potvrzuji historický formát s překonanými MD5/IDEA. Pouze pro legacy kompatibilitu.</span></label>42
<label><span data-i18n="Jméno identity">Jméno identity</span><input id="pgpName" maxlength="100" required autocomplete="off"></label>43
<label><span data-i18n="E-mail (volitelný)">E-mail (volitelný)</span><input id="pgpEmail" type="email" maxlength="254" autocomplete="off"></label>44
<label><span data-i18n="Komentář">Komentář</span><input id="pgpComment" maxlength="100" autocomplete="off"></label>45
<label><span data-i18n="Hlavní klíč">Hlavní klíč</span><select id="pgpAlgorithm"><option value="ed25519">Ed25519</option><option value="rsa3072">RSA 3072</option><option value="rsa4096">RSA 4096</option></select></label>46
<label><span data-i18n="Heslo klíče (volitelné)">Heslo klíče (volitelné)</span><input id="pgpPassphrase" type="password" maxlength="1024" autocomplete="new-password"></label>47
<label><span data-i18n="Potvrzení hesla klíče">Potvrzení hesla klíče</span><input id="pgpPassphraseConfirm" type="password" maxlength="1024" autocomplete="new-password"></label>48
<label><span data-i18n="Platnost hlavního klíče do (prázdné = bez omezení)">Platnost hlavního klíče do (prázdné = bez omezení)</span><input id="pgpExpires" type="datetime-local"></label>49
<fieldset id="pgpPrimaryCapabilities" class="capabilities"><legend data-i18n="Schopnosti hlavního klíče">Schopnosti hlavního klíče</legend><label><input type="checkbox" value="C" checked disabled> C</label><label><input type="checkbox" value="S" checked> S</label><label><input type="checkbox" value="A"> A</label><label><input type="checkbox" value="E"> E</label></fieldset>50
<p class="hint" data-i18n="C = certifikace · S = podepisování · A = autentizace · E = šifrování">C = certifikace · S = podepisování · A = autentizace · E = šifrování</p>51
<fieldset id="pgpSubkeysField" class="pgp-subkeys"><legend data-i18n="Podklíče">Podklíče</legend><div id="pgpSubkeys"></div><button id="addSubkey" class="button" type="button" data-i18n="Přidat podklíč">Přidat podklíč</button></fieldset>52
<div class="actions"><button id="generatePgpButton" class="button primary" type="submit" data-i18n="Generovat OpenPGP">Generovat OpenPGP</button><button id="savePgpBundle" class="button" type="button" disabled data-i18n="Uložit všechny soubory…">Uložit všechny soubory…</button><button id="storePgpButton" class="button" type="button" disabled data-i18n="Uložit do Keychainu">Uložit do Keychainu</button></div>53
<p class="hint" data-i18n="Podklíče jsou součástí veřejného i soukromého certifikátu. Revokační soubor uložte bezpečně; jeho import klíč odvolá.">Podklíče jsou součástí veřejného i soukromého certifikátu. Revokační soubor uložte bezpečně; jeho import klíč odvolá.</p>54
</form>55
<div id="pgpIdentity" class="status"></div>56
<div id="pgpFiles" class="pgp-files"></div>57
<section id="pgpEditor" class="panel" hidden>58
<h2 data-i18n="Správa podklíčů a platnosti">Správa podklíčů a platnosti</h2>59
<p id="pgpEditorIdentity" class="hint"></p>60
<p class="hint" data-i18n="Změny uložené identity se zapisují do Keychainu. Aktualizovaný veřejný klíč pak znovu publikujte nebo exportujte.">Změny uložené identity se zapisují do Keychainu. Aktualizovaný veřejný klíč pak znovu publikujte nebo exportujte.</p>61
<label><span data-i18n="Heslo existujícího hlavního klíče">Heslo existujícího hlavního klíče</span><input id="pgpEditPassphrase" type="password" maxlength="1024" autocomplete="off"></label>62
<div id="pgpEditComponents"></div>63
<section id="pgpTextOperations" hidden>64
<h3 data-i18n="Podpisy a šifrování textu">Podpisy a šifrování textu</h3>65
<label><span data-i18n="Text nebo OpenPGP zpráva">Text nebo OpenPGP zpráva</span><textarea id="pgpMessageInput" maxlength="1048576" spellcheck="false" autocomplete="off"></textarea></label>66
<div class="actions">67
<button type="button" class="button" data-text-operation="signText" data-i18n="Podepsat text">Podepsat text</button>68
<button type="button" class="button" data-text-operation="verifyText" data-i18n="Ověřit text">Ověřit text</button>69
<button type="button" class="button" data-text-operation="encryptText" data-i18n="Zašifrovat text">Zašifrovat text</button>70
<button type="button" class="button" data-text-operation="decryptText" data-i18n="Dešifrovat text">Dešifrovat text</button>71
</div>72
<textarea id="pgpMessageOutput" readonly spellcheck="false" aria-label="Výsledek operace" data-i18n-aria-label="Výsledek operace"></textarea>73
</section>74
<form id="pgpAddExistingForm" class="form">75
<h3 data-i18n="Nový podklíč">Nový podklíč</h3>76
<label><span data-i18n="Účel podklíče">Účel podklíče</span><select id="pgpEditRole"><option value="sign">S</option><option value="encrypt">E</option><option value="authenticate">A</option></select></label>77
<label><span data-i18n="Algoritmus podklíče">Algoritmus podklíče</span><select id="pgpEditAlgorithm"></select></label>78
<label><span data-i18n="Platnost do (prázdné = bez omezení)">Platnost do (prázdné = bez omezení)</span><input id="pgpEditExpires" type="datetime-local"></label>79
<p class="hint" data-i18n="Nový podklíč bude chráněn stejným heslem jako hlavní klíč.">Nový podklíč bude chráněn stejným heslem jako hlavní klíč.</p>80
<button id="pgpEditAdd" class="button" type="submit" data-i18n="Vygenerovat podklíč">Vygenerovat podklíč</button>81
</form>82
</section>83
</section>84
<section data-generator-panel="password" hidden>85
<form id="passwordForm" class="panel form password-form" aria-labelledby="passwordTitle">86
<h2 id="passwordTitle" data-i18n="Generátor hesel">Generátor hesel</h2>87
<label><span data-i18n="Délka (4–70 znaků)">Délka (4–70 znaků)</span><span class="length-row"><input id="passwordLength" type="number" min="4" max="70" step="1" value="20" required><input id="passwordLengthRange" type="range" min="4" max="70" step="1" value="20" aria-label="Délka hesla" data-i18n-aria-label="Délka hesla"></span></label>88
<fieldset class="charsets"><legend data-i18n="Znaky">Znaky</legend>89
<label class="check"><input id="pwUpper" type="checkbox" checked> A–Z</label>90
<label class="check"><input id="pwLower" type="checkbox" checked> a–z</label>91
<label class="check"><input id="pwDigits" type="checkbox" checked> 1–9</label>92
<label class="check"><input id="pwSpecial" type="checkbox"> <span data-i18n="speciální">speciální</span> <code>-@)¨§'=+</code></label>93
</fieldset>94
<label class="check grouped"><input id="pwGrouped" type="checkbox"> <span data-i18n="Každý 5. znak pevně „-“ (např.">Každý 5. znak pevně „-“ (např.</span> <code>xxxx-yyyy-cccc-vvvv-</code>)</label>95
<div class="actions"><button class="button primary" type="submit" data-i18n="Generovat heslo">Generovat heslo</button></div>96
<div class="password-output">97
<input id="passwordOutput" readonly spellcheck="false" autocomplete="off" aria-label="Vygenerované heslo" placeholder="Heslo se zobrazí zde" data-i18n-aria-label="Vygenerované heslo" data-i18n-placeholder="Heslo se zobrazí zde">98
<button id="copyPasswordButton" class="button" type="button" disabled data-i18n="Kopírovat">Kopírovat</button>99
</div>100
<p id="passwordInfo" class="hint" data-i18n="Každý vybraný typ znaků je v hesle zastoupen. Heslo vzniká v Core (kryptograficky bezpečný generátor), neukládá se ani neloguje. Znaky ¨ a § nemusí jít napsat na všech klávesnicích.">Každý vybraný typ znaků je v hesle zastoupen. Heslo vzniká v Core (kryptograficky bezpečný generátor), neukládá se ani neloguje. Znaky ¨ a § nemusí jít napsat na všech klávesnicích.</p>101
</form>102
</section>103
</main>104
<script src="i18n.js"></script>105
<script src="index.js"></script>106
</body>107
</html>SHA-256
b908e9c430b86912ab88a9c66f14909a98ccfecb0b454936e3ce05fbced05a0cCH-J Proprietary Software License 1.14 · ซอร์สโค้ดนี้ให้ไว้ภายใต้ CH-J Proprietary Software License 1.14 การเปิดให้เข้าถึงไม่ได้เปลี่ยนแปลงเงื่อนไขของสัญญาอนุญาตหรือให้สิทธิ์เพิ่มเติม
SHA-256 ของไฟล์บีบอัด
ac8fe790f4ba60fc098f8c985fc2656cfcc6cdc21fb34b30e308a2b54e62258f