Server-Zertifikat für Curl

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Server-Zertifikat für Curl

Manfred Rebentisch-2
Hallo,

ich versende Mails vom Server mit Curl aus meinem Programm heraus.

Für

curl_easy_setopt(id->curlptrM, CURLOPT_CAINFO, SSL_CERT_PEM);

brauche ich ein Host-Zertifikat (SSL_CERT_PEM, z.B. /etc/ssl/meinhost.pem)

Ich frage mich, wie ich eines erzeuge. Kann ich dazu letsencrypt
verwenden? Oder hat debian schon automatisch eines angelegt?

Aus den Fundstellen via Google wurde ich nicht so recht schlau.

Grüße und vielen Dank für eine Antwort!

Manfred
       
--
Manfred Rebentisch
29456 Hitzacker


Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Ulf Volmer
On 09.09.19 20:40, Manfred Rebentisch wrote:

> ich versende Mails vom Server mit Curl aus meinem Programm heraus.
>
> Für
>
> curl_easy_setopt(id->curlptrM, CURLOPT_CAINFO, SSL_CERT_PEM);
>
> brauche ich ein Host-Zertifikat (SSL_CERT_PEM, z.B. /etc/ssl/meinhost.pem)

Nach meinem Verständis ist diese Option nur für self-signed Certs
notwendig. Wenn der Server über ein offiziell signiertes Cert verfügt
sollte das nicht notwendig sein.

> Ich frage mich, wie ich eines erzeuge. Kann ich dazu letsencrypt
> verwenden? Oder hat debian schon automatisch eines angelegt?

Let's encrypt ist eine gute Wahl. Das ist aber mehr ein Thema Deines
Mail- Providers. Falls Du das selbst sein solltest: Ich empfehle hier
das in Debian verfügbare Tool dehydrated.

Viele Grüße
Ulf

Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Manfred Rebentisch-2
Hallo,
danke für Deine Antwort Ulf.

Am 09.09.19 um 22:08 schrieb Ulf Volmer:

> On 09.09.19 20:40, Manfred Rebentisch wrote:
>
>> ich versende Mails vom Server mit Curl aus meinem Programm heraus.
>>
>> Für
>>
>> curl_easy_setopt(id->curlptrM, CURLOPT_CAINFO, SSL_CERT_PEM);
>>
>> brauche ich ein Host-Zertifikat (SSL_CERT_PEM, z.B. /etc/ssl/meinhost.pem)
>
> Nach meinem Verständis ist diese Option nur für self-signed Certs
> notwendig. Wenn der Server über ein offiziell signiertes Cert verfügt
> sollte das nicht notwendig sein.

Meine Server liefern nur via SMTPS Mails zu meinem Mail-Provider, über
meinen Account mit Anmeldung.
Der Mail-Provider empfängt jedoch kein Zertifikat meines Servers.

>
>> Ich frage mich, wie ich eines erzeuge. Kann ich dazu letsencrypt
>> verwenden? Oder hat debian schon automatisch eines angelegt?
>
> Let's encrypt ist eine gute Wahl. Das ist aber mehr ein Thema Deines
> Mail- Providers. Falls Du das selbst sein solltest: Ich empfehle hier
> das in Debian verfügbare Tool dehydrated.
>

Ich kenne mich mit den Zertifikaten noch nicht gut aus. Freue mich über
weitere Hinweise.

Manfred

--
Manfred Rebentisch
29456 Hitzacker


Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Ulf Volmer
On 10.09.19 08:39, Manfred Rebentisch wrote:

> Hallo,
> danke für Deine Antwort Ulf.
>
> Am 09.09.19 um 22:08 schrieb Ulf Volmer:
>> On 09.09.19 20:40, Manfred Rebentisch wrote:
>>
>>> ich versende Mails vom Server mit Curl aus meinem Programm heraus.
>>>
>>> Für
>>>
>>> curl_easy_setopt(id->curlptrM, CURLOPT_CAINFO, SSL_CERT_PEM);
>>>
>>> brauche ich ein Host-Zertifikat (SSL_CERT_PEM, z.B. /etc/ssl/meinhost.pem)
>>
>> Nach meinem Verständis ist diese Option nur für self-signed Certs
>> notwendig. Wenn der Server über ein offiziell signiertes Cert verfügt
>> sollte das nicht notwendig sein.
>
> Meine Server liefern nur via SMTPS Mails zu meinem Mail-Provider, über
> meinen Account mit Anmeldung.
> Der Mail-Provider empfängt jedoch kein Zertifikat meines Servers.

Dein Server ist hier nur SMTP- Client, wenn ich Dich richtig verstehe.
Da brauchst Du kein Zertifikat. Nimmt

https://curl.haxx.se/libcurl/c/smtp-tls.html

und entferne die

curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem");

Zeile komplett.

Viele Grüße
Ulf

Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Manfred Rebentisch-2
Hi Ulf,

Am 10.09.19 um 09:24 schrieb Ulf Volmer:

> On 10.09.19 08:39, Manfred Rebentisch wrote:
>>
>> Meine Server liefern nur via SMTPS Mails zu meinem Mail-Provider, über
>> meinen Account mit Anmeldung.
>> Der Mail-Provider empfängt jedoch kein Zertifikat meines Servers.
>
> Dein Server ist hier nur SMTP- Client, wenn ich Dich richtig verstehe.
> Da brauchst Du kein Zertifikat. Nimmt
>
> https://curl.haxx.se/libcurl/c/smtp-tls.html
>
> und entferne die
>
> curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem");
>
> Zeile komplett.
>

Genau in diesem Source smtp-tls.c steht diese Zeile mit CURLOPT_CAINFO
drin.

Mein Provider schreibt: "Die Verbindung ist ja bereits eine sichere
TLS-Verbindung mit TLSv1.2. Das einzige, was sie nicht ist: Über
Hostname und Zertifikat zusätzlich abgesichert."

Eine Mail vom Server gesendet über meinen Provider kommt mit den
Headerzeilen an:

Received: from host (hostname.tld [111.111.111.111])
        (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
        (Client did not present a certificate)

Um diese letzte Zeile geht es mir.

Grüße
Manfred


--
Manfred Rebentisch
29456 Hitzacker


Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Christian Knoke
Manfred Rebentisch schrieb am 10. Sep um 13:57 Uhr:
> Am 10.09.19 um 09:24 schrieb Ulf Volmer:
> > On 10.09.19 08:39, Manfred Rebentisch wrote:
> >>
> >> Meine Server liefern nur via SMTPS Mails zu meinem Mail-Provider, über
> >> meinen Account mit Anmeldung.
> >> Der Mail-Provider empfängt jedoch kein Zertifikat meines Servers.

> Mein Provider schreibt: "Die Verbindung ist ja bereits eine sichere
> TLS-Verbindung mit TLSv1.2. Das einzige, was sie nicht ist: Über
> Hostname und Zertifikat zusätzlich abgesichert."
>
> Eine Mail vom Server gesendet über meinen Provider kommt mit den
> Headerzeilen an:
>
> Received: from host (hostname.tld [111.111.111.111])
> (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
> (Client did not present a certificate)
>
> Um diese letzte Zeile geht es mir.

Eine Bemerkung: Da du Kunde deines Providers bist, authentifizierst du dich
mit username und passsword. Auch wenn es dir gelingen sollte, ein Zertifikat
zu präsentieren, wird die Verbindung dadurch nicht sicherer. Dem Provider
ist es nämlich egal, das Zertifikat ist für Fremdeinlieferungen gedacht.

Gruß
Christian

--
http://cknoke.de

Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Ulf Volmer
In reply to this post by Manfred Rebentisch-2
On 10.09.19 13:57, Manfred Rebentisch wrote:

> Mein Provider schreibt: "Die Verbindung ist ja bereits eine sichere
> TLS-Verbindung mit TLSv1.2. Das einzige, was sie nicht ist: Über
> Hostname und Zertifikat zusätzlich abgesichert."

Das ist dann ein (optionales) Client Zertifikat. Das liefert Dir dann
ggf. Dein (Mail) Provider.

Viele Grüße
Ulf

Reply | Threaded
Open this post in threaded view
|

Re: Server-Zertifikat für Curl

Manfred Rebentisch-2
In reply to this post by Christian Knoke
Hi Christian,

Am 10.09.19 um 14:17 schrieb Christian Knoke:
>
> Eine Bemerkung: Da du Kunde deines Providers bist, authentifizierst du dich
> mit username und passsword. Auch wenn es dir gelingen sollte, ein Zertifikat
> zu präsentieren, wird die Verbindung dadurch nicht sicherer. Dem Provider
> ist es nämlich egal, das Zertifikat ist für Fremdeinlieferungen gedacht.
>

Ok, danke!
Ich glaube, dabei verstehen viele Leute nicht, wie was miteinander
zusammenhängt.

Grüße
Manfred

--
Manfred Rebentisch
29456 Hitzacker