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 beschriebenDas 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+NarRUhjrZeesa0WGMDAwMDQ3MTEgICBmZGdnZGZzZ2RzZmcgDQo=
-----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
RBDas ganze Verfahren wird in der RFC 1421 .. 1424 beschrieben.
hier der Text aus der RFC 1424 (www.rfc-editor.org)
2.1 Key CertificationThe 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,
-
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... -
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 opensslMir würde also folgendes Rollenspiel helfen:
A - Anwender (ich); T - Trustcenter (Post).
A: Schlüssel priv und pub erstellen, Zertifikat erstellen,
obige Mail erzeugenT: 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