Puncte:4

Cum se validează cheile RSA generate de opendkim

drapel cv

Încerc să diagnosticez erorile de validare OpenDKIM (vezi această întrebare). Jos, în burta fiarei, sunt în punctul în care încerc să mă asigur că cheile generate sunt de fapt corecte.

Îmi generez cheile cu opendkim-genkey -r -d example.com. Aceasta generează două fișiere. Una este o cheie privată RSA (fișier implicit.private):

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFx
scSNjfC4QHREcMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6vi
GPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMwIDAQAB
AoGAVSjAvnwlHqEEJVAPNSLwj4Gic9BXeXwakB2fXRSi1YadcEwMNRfJE9fHs2n3
5v4VK60IJbP+05U0wwV5c6t5AgZqpP0GBW8CKUr3BwaF2cJbd+uOXlAm4cx6/S1E
Ocoku0c/vrr3mkO41IuBkB+FRm0y7WXFi7e7M32Tictt0CkCQQDzE08wRLNXxkaM
LyUDMvCtlNzACcmkU73NAHDHhwtrJMMLp7q/s4VIDbmhysoNBblNHJQvA/7zVd13
1CGxbh8/AkEA1IajRLNJ6XTuv9RmK1622BDWix4ogEvbev/zR8ti2JifO6A5gv+L
na5hVAATo563pWjtNZW3sAVKqN7juN5HDQJAP1xKKP/Pa9LQMtxbHoFZwTVrcVdb
y0zUzaoOu8PU0yHrAY/AGxY1aLnDKIxOrKRQT+xiJ/s3qsA4EXMnMTPOSwJBAK5N
dl6EBRyZsK5YDyuG1MNEnBEhPOpsTKgGf4rkfj9SfVYzxLdxyxoZyO1R2smZBNl+
wv3tuud8j40MsQwQEYkCQBCzH+1IaxoMsSggutvEvqz2SqkFbD5rq/+uL6P6xyYg
PHCYIWomK8zOlmnO+bfbRIzQb7I81vOFq2sr0yQLK+0=
-----END RSA PRIVATE KEY-----

și unul generează intrarea DKIM DNS, care presupun că conține cheia publică:

default._domainkey IN TXT ("v=DKIM1; k=rsa; s=email; "
      "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFxscSNjfC4QHREcMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6viGPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMwIDAQAB" )  ; ----- Cheia DKIM implicită pentru example.com

Presupun că intrarea „p=" este cheia publică, dar dacă este, nu îmi pot da seama cum să verific dacă se potrivesc. Am crezut că pot face asta cu ssh-keygen -y -f implicit.privat, cu toate acestea, rezultatul este diferit de ceea ce este în secțiunea „p=" a intrării DNS (nu are nici măcar aceeași lungime):

# ssh-keygen -y -f default.private 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFxscSNjfC4QHREcMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6viGPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMw==

Deci, ce se întâmplă aici? Nu este ssh-keygen modul corect de a face acest lucru (poate ar trebui să fac ceva cu OpenSSL?)? „p=" nu este cheia publică? Sau, de fapt, cheile mele private și publice nu se potrivesc?

Mulțumiri!

PS, poate că nu are legătură, ceea ce presupun că este cheia publică generată de opendkim este întotdeauna aceeași pentru primele 34 de caractere â MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ â și se termină întotdeauna în IDAQAB.

drapel br
Cheile SSH sunt diferite. Vezi un răspuns bun aici: https://superuser.com/questions/1679344/for-valid-pem-i-get-unable-to-load-private-key-by-openssh?noredirect=1#comment2577724_1679344
Puncte:4
drapel br

Puteți compara modulul ambelor, după cum urmează:

Luați cheia publică din înregistrarea DNS. Acesta este șirul din interiorul p=, cum spui. Fiți conștienți de faptul că uneori este returnat ca două șiruri, pe care va trebui să le uniți. Ai nevoie doar de conținut, mai puțin de ghilimele duble. Salvați acest lucru local, ca cheie.publică.b64.

Convertiți în format DER cu:

openssl enc -base64 -d -in public.key.b64 -out public.key

Vizualizați modulul acestei chei publice cu:

openssl rsa -pubin -inform DER -in public.key -noout -modulus

Vizualizați modulul cheii private cu:

openssl rsa -in private.key -noout -modulus

Ieșirea ambelor va fi similară cu următoarea și trebuie să se potrivească:

Modulus=B475A0F01B6DE62AB578E27CF2DF8F760C9C10DF52E69F4ED2FEA6912D8528F5860F6C1AB3F7DD88D4C63A1DA5A848D7655192FF6040E0405826648047EB25ECB0F56FDCB825987D48FA3953DCB04F78521F607137179C7EE081C48AF7DFB2F130E3001B80433977E962D900B9AFC9808F39B3D041213D39B5FA447EE39E838E67D5CD2EA373D68CFDB2DF3CD0260C6D7C88A7415195EEB85DBD31594E11D4BAD49C52098A8E77B56D034B04234A9064C92DBEB6A7B745EB9821446A56FF34284A0AA27768E55BF263E8D2F3B7BE52ECBE3F4590BAF7AD33DDECAD997DC61B8EAD2854714B13FAF7035758A21651740A9B36077ABC715080243626A1B3661233

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.