Ankündigung

Einklappen
Keine Ankündigung bisher.

gnupg - Verschlüsselte E-Mails versenden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • gnupg - Verschlüsselte E-Mails versenden

    Hallo zusammen,

    auf meiner Seite wird ein Formular aufgebaut, mit dem man Bilder hochladen kann und diese dann an eine bestimmte E-Mail Adresse verschlüsselt verschicken soll.

    Von meinem Hoster habe ich gnupg installieren lassen um die Inhalte der E-Mail verschlüsselt zu versenden.

    Über "Kleopatra" habe ich einen "Fingerprint", "Private key" und eine "Passphrase" für eine bestimmte E-Mail Adresse generieren lassen.

    Inzwischen habe ich unzählige Fehlversuche hinter mir, eine simple Nachricht überhaupt verschlüsseln zu lassen. Leider erhalte ich weder einen Fehler noch einen Inhalt als Ausgabe.


    PHP-Code:
    $message "Ich bin ein kodierter Inhalt";
    $fingerprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    $passphrase "XXXXXX";


    $res gnupg_init();
    gnupg_clearsignkeys($res);
    gnupg_clearencryptkeys($res);
    gnupg_addsignkey($res$fingerprint$passphrase);

    $enc gnupg_encrypt($res$message);

    echo 
    $enc
    PHP: 7.3
    System: Linux
    GPGme Version: 1.7.1
    Extension Version: 1.4.0


    Gibt es hier andere Vorgehensweise was die Schlüssel angeht?

  • #2
    hast du auch dir env für die keys gesetzt ?
    oder sind die keys da wo sie erwartet werden ?
    This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.
    falls dir das zu hektisch ist, gibt es ja noch import
    https://www.php.net/manual/en/function.gnupg-import.php

    smime halte ich persöhnlich für transpartenter in der email verschlüsselung

    Kommentar


    • #3
      [selbst gelöscht]

      Kommentar


      • #4
        Zitat von tomBuilder Beitrag anzeigen
        hast du auch dir env für die keys gesetzt ?
        oder sind die keys da wo sie erwartet werden ?

        falls dir das zu hektisch ist, gibt es ja noch import
        https://www.php.net/manual/en/function.gnupg-import.php

        smime halte ich persöhnlich für transpartenter in der email verschlüsselung
        SMIME wird von dem Hoster leider nicht unterstützt. Ich hätte das auch lieber eingesetzt da ich die Dokumentation dazu verständlicher fand..

        Ich hatte das gnupg_import() durchgelesen und mir fehlt hier das Verständnis wie man an $keydata rankommt. Ich kann über Kleopatra einen Zertifikat (*.asc *.gpg *.pgp) exportieren, habe aber das Gefühl dass es sich hier nicht um das erforderliche $keydata handelt oder?

        Sorry, mir fällt es sehr schwer zu verstehen welche Schlüssel bei gnupg wo eingesetzt- und wie diese generiert werden.

        Kommentar


        • #5
          Endlich habe ich es geschafft ein Text zu codieren. Nachdem ich (wie von fastix erwähnt) die putenv mit dem richtigen Pfad eingeben hatte und über die Konsole einen Key generiert habe:

          Generate a new keypair:

          gpg --gen-key

          Export the keypair to a file (use the same email address that you used for generating the key pair):

          gpg --export -a "email@address.com" > public.key

          Download the GoodData public PGP key.

          Import the GoodData public key to your keystore:

          gpg --import gooddata-sso.pub
          Konnte ich diese einbinden und das hat soweit geklappt:

          PHP-Code:
          $GnuPG = new gnupg();

          $PublicData file_get_contents("gpg/public.key");
          $PublicKey $GnuPG->import($PublicData);       // Public Fingerprint
          $fingerprint $PublicKey['fingerprint'];

          // Enter your .gnupg environment
          putenv('GNUPGHOME=/kunden/XXXXXX/.gnupg');
          error_reporting(E_ALL);
          $res gnupg_init();
          gnupg_seterrormode($res,GNUPG_ERROR_WARNING);

          $res gnupg_init();
          gnupg_addencryptkey($res,$fingerprint);
          $enc gnupg_encrypt($res"just a test");
          echo 
          "$enc<br><br>"

          Kommentar


          • #6
            Keine Ahnung was fastix so schreibt, kann es nicht mehr lesen ist auf meiner igno.
            allerdings hatte ich die docu mit setenv auch verlinkt ^^
            Ist zwar ewig alt, aber an Smime sollte sich nichts geändert haben
            https://flourishlib.com/api/fEmail.html#encrypt

            reicht hier nicht der fingerprint :
            PHP-Code:
            gnupg_addencryptkey($res,$fingerprint); 
            signierst du die nachricht ?

            Kommentar


            • #7
              Zitat von tomBuilder Beitrag anzeigen
              Keine Ahnung was fastix so schreibt, kann es nicht mehr lesen ist auf meiner igno.
              allerdings hatte ich die docu mit setenv auch verlinkt ^^
              Ist zwar ewig alt, aber an Smime sollte sich nichts geändert haben
              https://flourishlib.com/api/fEmail.html#encrypt

              reicht hier nicht der fingerprint :
              PHP-Code:
              gnupg_addencryptkey($res,$fingerprint); 
              signierst du die nachricht ?
              Ja stimmt. In der von dir verlinkten Docu steht der Abschnitt auch

              Ich möchte schon die Nachricht signieren, aber soweit bin ich noch gar nicht gekommen. Bin ja schon froh wenn ich die empfangene Nachricht in Outlook erstmal decrypte..

              Kommentar


              • #8
                Zitat von JoePetts Beitrag anzeigen

                Ich möchte schon die Nachricht signieren, aber soweit bin ich noch gar nicht gekommen. Bin ja schon froh wenn ich die empfangene Nachricht in Outlook erstmal decrypte..
                sieht auf den ersten blick schwer aus:

                https://support.microsoft.com/en-us/...6-802a39d801dc
                poste doch bitte wie es geht, mag ja mehr outloock fanatiker hier geben.

                das key fetching vom keyserver ist sicher auch interssant, deswegen habe ich gefragt.

                mir fällt aber auf:
                auf meiner Seite wird ein Formular aufgebaut, mit dem man Bilder hochladen kann und diese dann an eine bestimmte E-Mail Adresse verschlüsselt verschicken soll.
                sendet jeder an der weboberfläche an die selbe email ?
                gibts da nicht einen besseren weg als email ?

                Kommentar


                • #9
                  Zitat von tomBuilder Beitrag anzeigen

                  sieht auf den ersten blick schwer aus:

                  https://support.microsoft.com/en-us/...6-802a39d801dc
                  poste doch bitte wie es geht, mag ja mehr outloock fanatiker hier geben.

                  das key fetching vom keyserver ist sicher auch interssant, deswegen habe ich gefragt.

                  mir fällt aber auf:

                  sendet jeder an der weboberfläche an die selbe email ?
                  gibts da nicht einen besseren weg als email ?
                  Danke für den Link. Bei mir läuft aber derzeit noch Outlook 2010 (ich weiß, ist zu alt..)

                  Wegen dem Formular: der User soll ein Formular verschicken und der Inhalt muss auf einem internem Server landen. Deswegen dieser Weg. Die Nachrichten dürfen nirgendwo anders gelagert werden.

                  Oder hättest du dazu eine bessere Idee?

                  Kommentar


                  • #10
                    was ist denn aussen ?
                    wie schnell muss das ganze erledigt sein ?
                    wege gibt es viele ...

                    Kommentar


                    • #11
                      Zitat von tomBuilder Beitrag anzeigen
                      was ist denn aussen ?
                      wie schnell muss das ganze erledigt sein ?
                      wege gibt es viele ...
                      Also anders formuliert: das Formular besteht bereits, dieses muss jetzt aber verschlüsselt werden um es datenschutz-sicher zu machen. Möglichst schnell natürlich.

                      Kommentar


                      • #12
                        du hast mich falsch verstanden: JoePetts
                        wo wo nach wo müssen die daten gerschickt werden, in welcher zeit.

                        Kommentar


                        • #13
                          Zitat von tomBuilder Beitrag anzeigen
                          du hast mich falsch verstanden: JoePetts
                          wo wo nach wo müssen die daten gerschickt werden, in welcher zeit.
                          Ich muss ehrlich sagen, dass ich dir die Frage nicht beantworten kann. Ich habe lediglich ein Postfach wo die Inhalte landen sollten..

                          Kommentar


                          • #14
                            ein postfach ist letztlich auch nur eine datei,
                            -- fetche die mais doch einfach
                            -- copiere sie mit einem sicheren protokoll
                            - bau ein vpn auf
                            --

                            Kommentar


                            • #15
                              Langsam kommt hier die Verzweiflung auf..

                              Da ich schon gefühlt auf dem halben Weg bin, wollte ich die Lösung mit gnupg verfolgen.

                              Nun kann ich bei mir die Mails auch decrypten (Gpg4win), habe allerdings das Problem mit der Signatur, dass diese nicht mit gesendet wird.

                              Dazu habe ich 1000fach die Doku durchgelesen und Folgendes geschrieben:

                              PHP-Code:

                              $pass 
                              "XXXXXX";

                              $GnuPG = new gnupg();


                              $PublicData file_get_contents("gpg/webpublic.key");
                              $PublicKey $GnuPG->import($PublicData);       // Public Fingerprint
                              $fingerprint $PublicKey['fingerprint'];


                              // Enter your .gnupg environment
                              putenv('GNUPGHOME=/XXXXX/XXXXX/.gnupg');
                              error_reporting(E_ALL);
                              $res gnupg_init();

                              $GnuPG gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH);
                              $GnuPG->gnupg_addsignkey($fingerprint,$pass);
                              $signed $GnuPG->gnupg_sign("just a test");
                              return 
                              $signed
                              Bei der Ausgabe erhalte ich keine Fehler aber auch absolute keine Inhalte. Es passiert einfach gar nichts.

                              Ansonsten kann ich mit dem Fingerprint die E-Mails richtig verschicken.

                              (Ich weiß dass der Aufbau noch unsicher ist, um die Auslagerung würde ich mich später kümmern)

                              Kommentar

                              Lädt...
                              X