Announcement

Collapse
No announcement yet.

Textarea mit openpgp.js verschlüsseln?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Textarea mit openpgp.js verschlüsseln?

    Hallo grüß euch,

    vielleicht kann mir hier jemand helfen wie ich eine Textarea mit openpgp.js verschlüsseln kann.

    Ich hänge schon seit 4 Wochen fest und habe wahrscheinlich schon 15 Stunden darin investiert :/

    Hier habe ich schon mal zwei Anleitungen gefunden die eigetlich sehr verständlich sind aber es will einfach nicht funktionieren:

    https://aaronhorler.com/articles/openpgpjs.html​​
    https://www.privacy-handbuch.de/handbuch_32v.htm

    Ich habe mir wie in der Anleitung in Punkt 1 eine HTML Erstellt mit dem simplen Inhalt:
    HTML Code:
    <html>
    <head>
    
      <script src="openpgp.min.js"></script>
      <script src="encrypt.js"></script>
    
    </head>
    <body>
    
      <textarea id="message" rows="4" cols="50"></textarea>
      </br>
      <button id="encrypt" type="button">Encrypt</button>
    
    </body>
    </html>
    dann noch die genannte encrypt.js aus Punkt 4 erstellt:

    function encryptMessage(){
    if(window.crypto.getRandomValues){
    if(document.getElementById("message").value != ""){
    var publicKeyString = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n" +
    "\n" +
    "mQINBFn+srEBEACrOL9kq4BDpHbn+dvab0qmXum1JSm3FpdhL WK/jyQUG1O9Xr11\n" +
    "4hf9K+Qaaj8EVTGXKz/VoF5sVwgmIRM+QKbQ5dhUuk3/kz6YrtaoUQNI9pDEdKYV\n" +
    "eKzU723kcOiNhs2geQgmN12lZ8EDKUw9jn2MeYL584644nj5z 92HfNDXd6rI/xY8\n" +
    "2kHCRZ0pLiSaxMPnvA8kasL1F3wV2Tkcvdd9jOYONzwIej+bW Tg4Ba95dLQk8UC3\n" +
    "iavcCiy/Xtak+bACf0YQOV/2qs0oVesFGdU9Dnp1GkjJHF2FEtuCgowNRnkdGSUN\n" +
    "4XWfW6V06rHREB4o0rX+NksWEsryH+kYuTFIZeBV20HnYIx6O HVO6ZhuvxBYQQ4w\n" +
    "dTT9mv7O8BdCUfxrz9OH3NxyycaeOw7KCpCNMXKfmUaSOaQQ2 nQKQg3mqlefQsP2\n" +
    "SWFebVbgnk+Gr8PcXgt9N6Fc/h8JIVjTw5HwB2qBtfshabMNv95EiHvQiGQ6l+vF\n" +
    "xL9iuzkTPQKUqv310Dt0qmgMaNoLqVO40EZmx98vQWT4FJKX1 w0xtUG8wLyQHkxM\n" +
    "ZFzVParwPSQA0mRpEEvp2UAhK2hgrvtbgEeTOOhc+LyWYYwnQ 2QGOKFdIaisP8J2\n" +
    "XbKk++L2cJ2Grv9p4d4+Cxfd8/cR62jouCscXDwVp0V7S6rivVYcWmsTgQARAQAB\n" +
    "tCFBYXJvbiBIb3JsZXIgPGFnaG9ybGVyQGdtYWlsLmNvbT6JA j0EEwEIACcFAln+\n" +
    "srECGwMFCQHhM4AFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AAC gkQ07Wv9nC2P5bR\n" +
    "YQ/9H3x/9LD9OxfpKFSNM5v0dKVxS0gQ5CfrPHLG9MYm7lTLGqPOJDlh27 PRzWAO\n" +
    "EbvpnTxkjyIwx6Il7HPxLMLLeh4v/rEQFovhcSr5/Kbep+fqGrU96DcnOG1LcGYZ\n" +
    "uIGcdsFdkf7eC2yFcmajJKI9mjAbvZ1ifPjSbw3qQZpBUe0Rm KOTSvj+uUCRRjsx\n" +
    "eH0V61mD3R3sFU1V+TEOJuUD7nEW8/24s1uLzFw24zSBjWtyvOtSffDPjresTdnG\n" +
    "qSRx1uTaEqaCpqNDUdV3YVjE1k9DbR+WQFuclfNqJrI52 i/uLItroJE4CaZfpKw4\n" +
    "/lX2yvUCmNSD0P+D0WjCU39MtiDeMUoAqpU7R6mLK/H/NNSJRXNZIGkQtL+OAoKN\n" +
    "kHMt5wmdaZraRQm2y8ueh6CloeY971LiMy2Bd3/pkfphLKhO7M4mFz8r7KA3O7ih\n" +
    "LcUUyn1fYlVg1zFSm+6Qiueoff9ZxmvW1Ngbt3TacscrJ n/yU0rt/giNzGruLEn3\n" +
    "cmw0wJAVFW/IXsGvsIhCcKwK7PFyNypCriSWCPiKd1RtrYIIsCZsdmPgGSh70 DL/\n" +
    "FyrApQNnP6Hg4EkxaZFxmwFZrfsz/nU/35AFVnsC+nDVGJvN8LZsScpDMWgLhj/g\n" +
    "n8/F7Pc1sa2ZeMWe83XKJnL50s/odDYlJukR9029SRME4eS5Ag0EWf6ysQEQAOta\n" +
    "AdRQOQgYeMzmYbs19d79lYvq3FFO5sz2BLhOgDSrS53sLD2Wg sEB+cTFfL8EMI5z\n" +
    "ka9nBCtT2PFAWK6+40yC/RCLOtkjXAZPey98lVcQyYb2IwQwbZmkXYjZM78yTh0d\n" +
    "Wa8zS6CfU3oRuCYV6TZ9XZg/7lDFzLqCeR2Il7k1elDVR3mal6AJZ205rMjWnIsd\n" +
    "ShhozhYmlNCqn8ZS1Kzr8PkIdo59ier++gCPIToCVsrOU38Hk MD4j8JNONgm2kLJ\n" +
    "xxAAPz4+wpJnq0D7WR5/Shu+CRVCKF/ZToR39uZsqZ6qPgtIW0jwVl+meeQgLWtc\n" +
    "HnU3AtjB3RqZlb0K41EPLIItglizr5eFMfezHlRdB4LUTp1Gx lUZQTosltwnykm8\n" +
    "y0d/OTxkFtE2oE7xHaPvtBOq0bj83eXh/8oIKA7YMfxUDdQ7s8tjQ4Ka5j0Kwoqo\n" +
    "pKXZEH4tOx9hkV3eTF++Wa39mhfxj6j3X3AMcDb4HkLafryIX qqbvg8BxbZIAuS0\n" +
    "prXnvNzhvv9X/kpYHSJuVq8cir1JL8Pc6hXdCZFR32/Y6216tKIY/xUTYKGK9mLa\n" +
    "IQaf4WZ/sIA8pvzx1USyT909n6scvvD3ijd5KabtpVX+YDUbuiNYW1kntc Cg0MjM\n" +
    "RbY1ujIF7y+DKKdm+a5WMmvz+BCvTJLQ8ihz+rg1ABEBAAGJA iUEGAEIAA8FAln+\n" +
    "srECGwwFCQHhM4AACgkQ07Wv9nC2P5bmqg//cSFHwmL6kw1lKSL3BYc+ni5sx/Jj\n" +
    "Oc5lQtUgL4D4efC+X7cgZPWytGUrFD+6DvV0s254uz1Du p/VvASSlNMS+fSmzQqQ\n" +
    "787tQDAcP8DhahLbw6GkKfOU/mwrQ4wHYzCwvplXaYH54ZPSImXCw5jsyKObzaQe\n" +
    "p+id9HH1yIo8heHR9UXy7nwaU60aYDb0JYDdHp1RO6El1CIaB oFU9n4IqKdZ4Bbi\n" +
    "pdhNR4F9wg0iLYJ+NzAIsD+/En/8pwWh5R6i3j1e3W/yPVX/Cw66LR0NVIKs4aHS\n" +
    "69XXYMGk5JxFzpKz71kI83kU0h+RT8dnKxGlk1p8BiVRNG3mF aW3h4iTuzqc0WLB\n" +
    "UMjqULVgdZ31QbPFn4z1EfIi/5P2rajC4xJed6bIl1SswlxkC1j8NbX6oXmha5Lt\n" +
    "YRqma6CaKLrdKaDzM16g5Y3nV1MNcPrlDN3VnpN3Prlmajmb7 aIGyWvA8Jv6bQT8\n" +
    "/eoBbRCjBByR/BLe2OC8aF2WicP0TLKJUem2JrLSF0zUlOKSlI4MQ3nZ0s7gK7x s\n" +
    "JkzJml/RigbjDitoLr13pa8zFZrljF0UhkkUXryNzANJuux6q5UmycNWc Z9bzaW0\n" +
    "cxr4L80h+jJMRPkqaLWDCrxC0oFUqI27FFulenk7S54n3wblE 5iC6PxVo2zxyCAo\n" +
    "tr8G9hEM63YfdpY=\n" +
    "=szEj\n" +
    "-----END PGP PUBLIC KEY BLOCK-----";

    var options = {
    data: document.getElementById("message").value,
    publicKeys: openpgp.key.readArmored(publicKeyString).keys
    };

    openpgp.encrypt(options).then(function(ciphertext) {
    document.getElementById("message").value = ciphertext.data;
    });

    document.getElementById("encrypt").disabled = true;
    document.getElementById("encrypt").title = "You may only encrypt once.";
    document.getElementById("encrypt").removeEventList ener("click", encryptMessage);
    }
    }
    else{
    window.alert("This browser does not support basic cryptography!");
    }
    }

    document.getElementById("encrypt").addEventListene r("click", encryptMessage);
    und dann noch von Github die Dateien runtergeladen und daraus die benötigte openpgp.min.js herauskopiert.

    Dann nochmal kontrolliert ob es sich auch wirklich um html und js Dateien und alles auf meine webspace geladen.

    im /www Verzeichnis liegen nun

    form.html
    openpgp.min.js
    encrypt.js

    Ganz einfach eigentlich aber es funktioniert einfach nicht.

    Mfg

  • #2
    Ganz einfach eigentlich aber es funktioniert einfach nicht.
    ..ist kein Fehler


    - debugge das Javascript
    - Prüfe den Quelltext
    - siehe dir CSS, Javascriptfehler, usw. im Browser an
    - beschreibe was nicht geht, Fehlermeldungen, Auswirkung
    Christian

    Comment


    • #3
      Ok, also wie ich das Javascript debugge recherchier ich jetzt dann gleich mal.

      Beim Quelltext, also dem Javascript und dem Html wüsste ich nicht wo ein Fehler liegen könnte.

      CSS gibt es es nicht und Fehlermeldungen im Browser auch nicht, drückt man auf den Button gibt es keine Reaktion.

      Einen Fehlerlog gibt es ja leider auch nicht.

      Mfg

      Comment


      • #4
        Er sollte bei klick
        function encryptMessage(){
        dahin springen.
        Also ein
        alert("asdasda");
        danach sollte dir anzeigen, ob der bei klick darein springt.
        Ggf. verschiebe das alert, um zu sehen wie weit er kommt
        Christian

        Comment


        • #5
          Wow, das war jetzt ein super Tipp

          Ich habe nun einfach die encrypt.js Datei, die ausgelöst werden soll, in einen einfachen Javascript "Hallo Welt" Alert umgeschrieben und ihn versucht mit dem Button auszulösen.Klappte nicht, der Button war schuld.

          habe den Button dann umgeändert von dem
          <button id="encrypt" type="button">Encrypt</button>
          in das
          <input type="button" onclick="encryptMessage()('encrypt.js');" value="Encrypt" />
          und natürlich wieder die encrypt.js in das Original zurückgesetzt und siehe da, funktioniert einwandfrei

          Wahnsinn, du weißt garnicht wie dankbar ich dir gerade bin

          MfG

          Comment


          • #6
            Schön, dass es geht.

            Eigentlich müsste

            document.getElementById("encrypt").addEventListene r("click", encryptMessage);

            dafür sorgen, das der Klickevent die Funktion aufruft.
            Christian

            Comment


            • #7
              Stimmt, die Zeile schaut danach aus (Bin nicht so fit in Javascript)

              Verstehe trotzdem nicht warum in allen Anleitungen immer das gleiche erklärt wird und die Codes zur Verfügung gestellt werden?
              Das muss ja dann irgendwann mal genau so funktioniert haben.

              Comment


              • #8
                Beliebt sind hier
                document.getElementById("encrypt").addEventListene r("click", encryptMessage);

                - Schreibfehler bei der ID oder der Funktion
                - Schreibfehler bei der ID im Button
                - Button ohne ID
                - ID mehrfach im HTML-Code vorhanden
                Christian

                Comment


                • #9
                  Ah, gut zu wissen.

                  Das Script schau ich nochmal durch, suche nach einen dieser Fehler und kontaktiere die Leute, die die Anleitungen zur Verfügung gestellt haben.

                  Nicht das nochmal einer daran verzweifelt

                  Mfg

                  Comment


                  • #10
                    Das Script schau ich nochmal durch,
                    Das muss man nicht selbst machen, der Google Chrome Browser bringt z.B. die Chrome Developer Tools mit, die Fehler im JS-Code aufstöbern können (z.B. überflüssige Leerzeichen oder Schreibfehler)
                    MfG
                    Cheat-Sheets for Developers / Programming Quotes

                    Comment

                    Working...
                    X