openssl



  • moin meisters ...

    ich möchte gern ein Zertifizierungsantrag erzeugen, welcher per Mail versendet
    wird, Informationen sind hierzu in der RFC 1424 unter 2.1 eigentlich beschrieben

    Das entgültige Format soll in meinem Fall so aussehen:

    -----BEGIN PRIVACY-ENHANCED MESSAGE-----
    Proc-Type: 4,MIC-ONLY
    Content-Domain: RFC822
    Originator-Certificate:
    MIICZTCCAe8CAQAwDQYJKoZIhvcNAQEEBQAwgZ4xCzAJBgNVBAYTAmRlMUkwRwYD
    VQQKE0BJVFNHIFRydXN0Q2VudGVyIGZ1ZXIgZGVuIERhdGVuYXVzdGF1c2NoIG1p
    dCBMZWlzdHVuZ3NlcmJyaW5nZXJuMRUwEwYDVQQLEwxmZGdnZGZzZ2RzZmcxFDAS
    BgNVBAsTC0lLMDEyMzQ1Njc4MRcwFQYDVQQDEw5mZGdkc2ZnZHNmZ2RzZzAeFw0w
    NDAyMDUwOTM0MTdaFw0wNTAyMDQwOTM0MTdaMIGeMQswCQYDVQQGEwJkZTFJMEcG
    A1UEChNASVRTRyBUcnVzdENlbnRlciBmdWVyIGRlbiBEYXRlbmF1c3RhdXNjaCBt
    aXQgTGVpc3R1bmdzZXJicmluZ2VybjEVMBMGA1UECxMMZmRnZ2Rmc2dkc2ZnMRQw
    EgYDVQQLEwtJSzAxMjM0NTY3ODEXMBUGA1UEAxMOZmRnZHNmZ2RzZmdkc2cweTAK
    BgRVCAEBAgIDAANrADBoAmEA9zAMRZNoZTnu9imtKjzasiCyuO5/XZO2zIlYxdca
    M0GUFH/42mngi++fIr2st6SadFDaxO9BLLLHInKz2zDFIQ8Eth6d6DkUzcnCmu4Y
    oJBdOIEQVnHaLDdO60VxXCKPAgMBAAEwDQYJKoZIhvcNAQEEBQADYQCoxSMK2Z8d
    7lUaaOCb9Zj/PkaV1RA/d2iYFOfnuvtwlLTQzzt7KdKw+kcE+zuyhgpgUHROcZit
    tdvq6wJTOMhJ+uf/pZDnLM3d6L55cRT1aLUSO9nnqbU33ZA3ev/o/vY=
    MIC-Info: RSA-MD5,RSA,
    GCN6NauLqPTieiBMEwd9fpEQ3+L3k5d+asanuwqy7vIITGCHAloxLsi1RgWcRgSU
    duo1QsjlUsdUSa1BExQCTzISgOUdGNGCkjarLTicupbN19p+NarRUhjrZeesa0WG

    MDAwMDQ3MTEgICBmZGdnZGZzZ2RzZmcgDQo=
    -----END PRIVACY-ENHANCED MESSAGE-----

    Originator-Certificate: ist also das selbst signierte Zertifikat aus privaten und öffentlichem Schlüssel den der Antragsteller erzeugt.

    Die letzte Zeile vor -----END PRIVACY-ENHANCED MESSAGE-----
    ist ein Nachrichtentext wie "Hello World!" nur ebend mit dem privaten Schlüssel
    codiert. Hier liegt schon mal mein Problem, wie ich das mache mit openssl.

    Dann wird ein MD5 berechnet von der Nachricht, bin mir aber nicht sicher ob nur von dem Nachrichtentext oder dem Text und dem selbst signierten Zertifikat.
    Dieser MD5 wird wiederum mit dem privaten Schlüssel codiert.

    Wenn der Nachrichtentext länger als 100 Byte ist soll eine symetrische codierung erfolgen, aber das geht dann nicht mit dem privaten Schlüssel.
    Das steht im HowTo zu openssl.

    Wenn ich den Text verschlüssel steht immer Salted__ am Begin der Codierung.
    Im Beispiel sieht es aber anders aus MDAwMDQ3MTEgICBmZGdnZGZzZ2RzZmcgDQo=
    irgendwas mache ich schon mal grundsätzlich falsch.

    Wer hat das schon mal gemacht und kann mir helfen ?

    Besten Dank im Voraus
    mfg
    RB

    Das ganze Verfahren wird in der RFC 1421 .. 1424 beschrieben.
    hier der Text aus der RFC 1424 (www.rfc-editor.org)
    2.1 Key Certification

    The key-certification service signs a certificate containing a
    specified subject name and public key. The service takes a
    certification request (see Section 3.1), signs a certificate
    constructed from the request, and returns a certification reply (see
    Section 3.2) containing the new certificate.

    The certification request specifies the requestor's subject name and
    public key in the form of a self-signed certificate. The
    certification request contains two signatures, both computed with the
    requestor's private key:

    1. The signature on the self-signed certificate, having the
    cryptographic purpose of preventing a requestor from
    requesting a certificate with another party's public key.
    (See Section 4.)

    2. A signature on some encapsulated text, having the
    practical purpose of allowing the certification authority
    to construct an ordinary RFC 1421 privacy-enhanced
    message as a reply, with user-friendly encapsulated text.
    (RFC 1421 does not provide for messages with
    certificates but no encapsulated text; and the self-
    signed certificate is not "user friendly" text.) The text
    should be something innocuous like "Hello world!"



  • Hi Meister,

    1. MD5 ist eine asymmetrische 128 Bit Verschlüsselung => Einweg-Hash-Algorthmus! Die Hash-Funktion meldet Dir nur: Code richtig oder falsch.
      Ich weiß nicht was Du gelesen hast... 😕

    2. Du kannst selber keine qualifizierten Zertifikate schreiben.
      Das können nur sog. "Trust-Center" mit "qualifizierten Signaturen".
      Davon haben wir IMHO nur drei in Deutschland:
      - Deutsche Post Signtrust http://www.signtrust.de
      - Produktzentrum TeleSec der DTAG http://www.telesec.de
      - Bundesnotarkammer http://www.bundesnotarkammer.de

    Wenn Du selbst ein Trust-Center gründen willst, musst Du bei der
    RegTP - Regulierungsbehörde f. TeleKommunikation und Post 😉
    ein Antrag stellen.

    usw.
    ...

    cu

    P84



  • Prof84 schrieb:

    [..]
    Wenn Du selbst ein Trust-Center gründen willst, musst Du bei der
    RegTP - Regulierungsbehörde f. TeleKommunikation und Post 😉
    ein Antrag stellen.

    usw.
    [..]

    Dann sollte man den Beitrag aber auch nach Projekte verschieben!
    😉



  • NEIN !!! nicht verschieben ...

    Ich will kein TrustCenter gründen. Ich möchte gern
    eine Zertifizierungsanfrage an ein Trustcenter stellen.

    RFC:
    The certification request specifies the requestor's subject name and
    public key in the form of a <b>self-signed certificate</b>.

    Also muß ich aus meinem public-key und persönlichen Angaben ein selbst
    unterzeichnetes Zertifikat erstellen und absenden.

    Nix selber Trust.

    Habe halt null Durchblick ...
    Im Prinzip glaube ich die Mechanik verstanden zu haben, aber praktisch
    mit openssl 😕

    Mir würde also folgendes Rollenspiel helfen:

    A - Anwender (ich); T - Trustcenter (Post).

    A: Schlüssel priv und pub erstellen, Zertifikat erstellen,
    obige Mail erzeugen

    T: was wird hier genau gemacht mit meiner Mail ? wie wird das erstellt was ich
    vom Trustcenter zurück bekomme.

    A: wie verwende ich das Zertifikat eines anderen Anwenders um damit Daten zu
    verschlüsseln, genauer Dateien.

    Also ich will praktisch überprüfen können ob meine Zertifizierungsanforderung
    so auch vom Trustcenter gelesen, verarbeitet werden kann.

    Und wie ich nun mit anderen Leuten Daten als Dateien per Mail sicher austauschen kann wenn ich meine Schlüssel und deren Zertifikate habe.

    Das ganze möchte ich mit openssl.exe machen, weil mit der sslea.dll u.a. finde
    ich mich gelich überhaupt nicht zurecht, wenn ich nicht mal ein "praktisches"
    von A-Z duchgespielt habe.

    Besten Dank im Voraus, wäre echt super, sitze schon seit 5 Tagen und zig Websites, aber ich bin nicht einen Schritt weiter 😞

    mfg
    RB


Anmelden zum Antworten