DKIM Key auslesen for web forms original ohne Formatierung?  [GELÖST]

Diskussionen zur Verwendung der KeyHelp API.
Post Reply
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

Ich habe hier ein Problem, wenn ich den DKIM Key einer Domain via API abrufe, bekomme ich ein relativ unbrauchbares Format zurück, dkim_record und dkim_txt_record liefern dabei den gleichen Output.
Gibt es eine Möglichkeit nur den den eigentlichen DKIM Key zu bekommen ohne Formatiereungen und quotation?

Code: Select all

    $result_d2 = json_decode(curl_exec($curl_session_d2));
    curl_close($curl_session_d2 );
    $dkimid = $result_d2->dkim_record;
liefert fogenden Output zurück:

Code: Select all

default._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkSBx4YSWb9DIAK1rMYms+aPIK+AstoynfNoXIkZo7/dC1NxV2ZwddV/AO4vjAKD4FbEg+lqAHSPuQ5yjSCmw5igAwmpDf3sEKAQYIlEefuVc4Z2kW3kUyg1lu8xBIY2KcDBFDxBQB2eVs+hQU9cq7D+DdlUhLCUdLY4foxq753Rs6HhLvLQE/DFblQXQTlreH7wpuLEXEjWToKmLO" "latEiEV0hugb9/veN4XWp97JRJEJhwQHy4ZS/FPxA6Q8UKXSVycAZy1FmPW04vss3joYbK70T3FkPR73puXNFqU8oYb9djcmhIqDidkmiXOs07ufLDGj3o1/CiF+bJtKzEnxwIDAQAB" )
Die double quotes wie am Anfang k=rsa; " " und mittendrin " " sind dabei ein Problem zur Nutzung

Im Panel "DKIM value for web forms (e.g. Cloudflare)" gibt den korrekten DKIM Key aus:der für API Abfragen brauchbar ist:

Code: Select all

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkSBx4YSWb9DIAK1rMYms+aPIK+AstoynfNoXIkZo7/dC1NxV2ZwddV/AO4vjAKD4FbEg+lqAHSPuQ5yjSCmw5igAwmpDf3sEKAQYIlEefuVc4Z2kW3kUyg1lu8xBIY2KcDBFDxBQB2eVs+hQU9cq7D+DdlUhLCUdLY4foxq753Rs6HhLvLQE/DFblQXQTlreH7wpuLEXEjWToKmLOlatEiEV0hugb9/veN4XWp97JRJEJhwQHy4ZS/FPxA6Q8UKXSVycAZy1FmPW04vss3joYbK70T3FkPR73puXNFqU8oYb9djcmhIqDidkmiXOs07ufLDGj3o1/CiF+bJtKzEnxwIDAQAB
Hier finde ich leider keine Infos dazu um DKIM value for web forms abzurufen
https://app.swaggerhub.com/apis-docs/keyhelp/api/2.7
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

ich kann zwar zur Not diese doppelten double quotes mit str_replace rausnehmen, ich denke mal (hoffe) es werden wohl kaum Key Strings mit " " und Leerzeichen dazwischen generiert werden ... müsste ich derweil dann mauell kopieren

Code: Select all

str_replace('" "', '', $dkimkey);
aber die Abfrage sollte eigentlich direkt an einen externen PDNS Server gehen zum aktualisieren ...

und den Rest rausfiltern wird schwierig

Code: Select all

default._domainkey IN TXT ( "
der Abschluß hier z.b. könnte im String vorkommen

Code: Select all

" )
Last edited by Ralph on Sat 4. Nov 2023, 14:58, edited 1 time in total.
User avatar
24unix
Posts: 1531
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by 24unix »

Ich glaube, ich verstehe da Problem nicht. Was spricht gegen:

Code: Select all

$dkimRecordNoQuotes = str_replace('"', '', $dkim_record);
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

24unix wrote: Sat 4. Nov 2023, 14:54 Ich glaube, ich verstehe da Problem nicht. Was spricht gegen:

Code: Select all

$dkimRecordNoQuotes = str_replace('"', '', $dkim_record);
Danke es spricht nichts dagegen, mache ich ja gerade (siehe oben) aber auch nichts dafür ...
das ganze sollte am Ende von einem PDNS Server verwurstet werden :mrgreen:
User avatar
24unix
Posts: 1531
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by 24unix »

Ralph wrote: Sat 4. Nov 2023, 15:00
24unix wrote: Sat 4. Nov 2023, 14:54 Ich glaube, ich verstehe da Problem nicht. Was spricht gegen:

Code: Select all

$dkimRecordNoQuotes = str_replace('"', '', $dkim_record);
soweit nichts, mache ich ja gerade (siehe oben)
das ganze sollte aber am Ende von einem PDNS Server verwurstet werden :mrgreen:
Ja, die beiden Beiträge haben sich irgendwie überschnitten, ich habe Deinen 2. erst gesehen nachdem ich meinen abgeschickt habe.

Ich denke, Du kannst das ohne Probleme nehmen, im RSA Key werden nie Hochkomma oder Leerzeichen sein.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

24unix wrote: Sat 4. Nov 2023, 15:05 Ich denke, Du kannst das ohne Probleme nehmen, im RSA Key werden nie Hochkomma oder Leerzeichen sein.
Danke Micha!
Du hast nicht zufällig noch eine Idee um diese Parts hier raus-zu-schneiden?
am anfang:

Code: Select all

default._domainkey IN TXT ( "
am Ende:

Code: Select all

" )
da könnten die beiden Quotes am Anfang und Ende auch bleiben, ist ja ein TXT Record, dann würde es passen für die automatisierten PDNS Updates ...
User avatar
24unix
Posts: 1531
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by 24unix »

Ralph wrote: Sat 4. Nov 2023, 15:19
24unix wrote: Sat 4. Nov 2023, 15:05 Ich denke, Du kannst das ohne Probleme nehmen, im RSA Key werden nie Hochkomma oder Leerzeichen sein.
Danke Micha!
Du hast nicht zufällig noch eine Idee um diese Parts hier raus-zu-schneiden?
am anfang:

Code: Select all

default._domainkey IN TXT ( "
am Ende:

Code: Select all

" )
da könnten die beiden Quotes am Anfang und Ende auch bleiben, ist ja ein TXT Record, dann würde es passen für die automatisierten PDNS Updates ...
Entweder 2x str_replace oder mehr hipster mit einer RegEx:

Code: Select all

$dkimRecord = 'default._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkSBx4YSWb9DIAK1rMYms+aPIK+AstoynfNoXIkZo7/dC1NxV2ZwddV/AO4vjAKD4FbEg+lqAHSPuQ5yjSCmw5igAwmpDf3sEKAQYIlEefuVc4Z2kW3kUyg1lu8xBIY2KcDBFDxBQB2eVs+hQU9cq7D+DdlUhLCUdLY4foxq753Rs6HhLvLQE/DFblQXQTlreH7wpuLEXEjWToKmLOlatEiEV0hugb9/veN4XWp97JRJEJhwQHy4ZS/FPxA6Q8UKXSVycAZy1FmPW04vss3joYbK70T3FkPR73puXNFqU8oYb9djcmhIqDidkmiXOs07ufLDGj3o1/CiF+bJtKzEnxwIDAQAB" )';

// Remove everything except for the v=DKIM1; k=rsa; p=... part
$pattern = '/default\._domainkey IN TXT \( "v=DKIM1; k=rsa; " "p=([^"]+)" \)/';
$replacement = 'v=DKIM1; k=rsa; p=$1';
$cleanedDkimRecord = preg_replace($pattern, $replacement, $dkimRecord);

echo $cleanedDkimRecord;

Code: Select all

php t.php
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkSBx4YSWb9DIAK1rMYms+aPIK+AstoynfNoXIkZo7/dC1NxV2ZwddV/AO4vjAKD4FbEg+lqAHSPuQ5yjSCmw5igAwmpDf3sEKAQYIlEefuVc4Z2kW3kUyg1lu8xBIY2KcDBFDxBQB2eVs+hQU9cq7D+DdlUhLCUdLY4foxq753Rs6HhLvLQE/DFblQXQTlreH7wpuLEXEjWToKmLOlatEiEV0hugb9/veN4XWp97JRJEJhwQHy4ZS/FPxA6Q8UKXSVycAZy1FmPW04vss3joYbK70T3FkPR73puXNFqU8oYb9djcmhIqDidkmiXOs07ufLDGj3o1/CiF+bJtKzEnxwIDAQAB
Edit: Ich vermute, das ist ein bug in der API, es macht ja keine Sinn, dass die Ausgaben identisch sind:
SCR-20231104-nsnt.png
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

24unix wrote: Sat 4. Nov 2023, 15:29 // Remove everything except for the v=DKIM1; k=rsa; p=... part
$pattern = '/default\._domainkey IN TXT \( "v=DKIM1; k=rsa; " "p=([^"]+)" \)/';
$replacement = 'v=DKIM1; k=rsa; p=$1';
$cleanedDkimRecord = preg_replace($pattern, $replacement, $dkimRecord);
echo $cleanedDkimRecord;
[/code]

Danke, sehr cool gemacht!
Mit den Pattern hab ich noch Probleme, liegt wahrscheinlich am Smarty, ich schau gleich mal danach :D
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

24unix wrote: Sat 4. Nov 2023, 15:29 Edit: Ich vermute, das ist ein bug in der API, es macht ja keine Sinn, dass die Ausgaben identisch sind:
Super, läuft jetzt! :mrgreen:
Sieht für mich auch nach einem Bug aus, der Output macht so wenig Sinn, da ist vermutlich für den dkim_record eine Variable vertauscht oder fehlerhaft
User avatar
24unix
Posts: 1531
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by 24unix »

Ralph wrote: Sat 4. Nov 2023, 16:13
24unix wrote: Sat 4. Nov 2023, 15:29 Edit: Ich vermute, das ist ein bug in der API, es macht ja keine Sinn, dass die Ausgaben identisch sind:
Super, läuft jetzt! :mrgreen:
Freut mich :-)
Ralph wrote: Sat 4. Nov 2023, 16:13
Sieht für mich auch nach einem Bug aus, der Output macht so wenig Sinn, da ist vermutlich für den dkim_record eine Variable vertauscht oder fehlerhaft
Yap. Evtl. schreibt Alex am Montag was dazu.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
Alexander
Keyweb AG
Posts: 3745
Joined: Wed 20. Jan 2016, 02:23

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Alexander »

"dkim_txt_record" ist veraltet und sollte nicht mehr genutzt werden.
"dkim_record" ist der neue Feld-Name.

Auszug aus der API-Doku:
Bildschirmfoto vom 2023-11-06 11-26-56.png
---

DNS-Record-Values sind auf 256 Zeichen pro Block (In Anführungszeichen eingeschlossener Teil: "<BLOCK1>" "<BLOCK2>") beschränkt, deswegen ist der der Value des TXT Records in der Mitte geteilt.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
Ralph
Posts: 756
Joined: Mon 30. Mar 2020, 16:14

Re: DKIM Key auslesen for web forms original ohne Formatierung?

Post by Ralph »

Alexander wrote: Mon 6. Nov 2023, 11:30 DNS-Record-Values sind auf 256 Zeichen pro Block (In Anführungszeichen eingeschlossener Teil: "<BLOCK1>" "<BLOCK2>") beschränkt, deswegen ist der der Value des TXT Records in der Mitte geteilt.
Danke für die Info, dann werde ich den str_replace dafür schnell wieder rausnehmen ;-)
L.G.
User avatar
Alexander
Keyweb AG
Posts: 3745
Joined: Wed 20. Jan 2016, 02:23

Re: DKIM Key auslesen for web forms original ohne Formatierung?  [GELÖST]

Post by Alexander »

Naja, es kommt natürlich drauf an, in welchem Format du die Daten benötigst.

Wenn es z.B. direkt in einer bind9 Konfigurationsdatei landen soll, dann sind die Blöcke zwingend notwendig. Wenn es an eine anderen Anwendung übergeben werden soll, dann kommt es darauf an, welche "Formate" diese andere Anwendung verarbeiten kann.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Post Reply