Score:4

วิธีตรวจสอบคีย์ RSA ที่สร้างโดย opendkim

ธง cv

ฉันกำลังพยายามวินิจฉัยข้อผิดพลาดในการตรวจสอบ OpenDKIM (ดู คำถามนี้). ลงไปอยู่ในท้องของสัตว์ร้าย ฉันมาถึงจุดที่ฉันพยายามทำให้แน่ใจว่ากุญแจที่สร้างขึ้นนั้นถูกต้องจริงๆ

ฉันกำลังสร้างคีย์ด้วย opendkim-genkey -r -d example.com. สิ่งนี้สร้างไฟล์สองไฟล์ หนึ่งคือคีย์ส่วนตัว RSA (ไฟล์ ค่าเริ่มต้นส่วนตัว):

----- เริ่มต้นรหัสส่วนตัว RSA -----
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=
----- สิ้นสุดรหัสส่วนตัว RSA -----

และสร้างรายการ DKIM DNS ซึ่งฉันคิดว่ามีรหัสสาธารณะ:

default._domainkey ใน TXT ( "v=DKIM1; k=rsa; s=email; "
      "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFxscSNjfC4QHREcMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6viGPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMwIDAQAB" )  ; ----- ค่าเริ่มต้นของคีย์ DKIM สำหรับ example.com

ฉันถือว่ารายการ "p=" เป็นรหัสสาธารณะ แต่ถ้าเป็นเช่นนั้น ฉันไม่สามารถทราบวิธีการตรวจสอบว่าตรงกันหรือไม่ ฉันคิดว่าฉันสามารถทำได้ด้วย ssh-keygen -y -f default.privateอย่างไรก็ตาม ผลลัพธ์ของสิ่งนั้นแตกต่างจากสิ่งที่อยู่ในส่วน "p=" ของรายการ DNS อย่างชัดเจน (มีความยาวไม่เท่ากัน):

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

แล้วเกิดอะไรขึ้นที่นี่? ssh-keygen ไม่ใช่วิธีที่ถูกต้องในการทำเช่นนี้ (บางทีฉันควรจะทำอะไรบางอย่างกับ OpenSSL?) "p=" ไม่ใช่รหัสสาธารณะหรือไม่ หรือความจริงแล้วคีย์ส่วนตัวและคีย์สาธารณะของฉันไม่ตรงกัน?

ขอบคุณ!

ป.ล. อาจไม่เกี่ยวข้องกัน สิ่งที่ฉันคิดว่าเป็นรหัสสาธารณะที่สร้างโดย opendkim นั้นเหมือนกันเสมอสำหรับอักขระ 34 ตัวแรก â MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ â และลงท้ายด้วยเสมอ ไอดาคิว.

br flag
คีย์ SSH นั้นแตกต่างกัน ดูคำตอบที่ดีที่นี่: https://superuser.com/questions/1679344/for-valid-pem-i-get-unable-to-load-private-key-by-openssh?noredirect=1#comment2577724_1679344
Score:4
ธง br

คุณสามารถเปรียบเทียบโมดูลัสของทั้งสองได้ดังนี้:

หยิบรหัสสาธารณะจากบันทึก DNS ของคุณ นี่คือสตริงภายใน พี=, ตามที่คุณพูด. โปรดทราบว่าบางครั้งจะส่งคืนเป็นสองสตริง ซึ่งคุณจะต้องเข้าร่วม คุณต้องการเนื้อหาเท่านั้น น้อยกว่าเครื่องหมายคำพูดคู่ บันทึกสิ่งนี้ในเครื่องเป็น public.key.b64.

แปลงเป็นรูปแบบ DER ด้วย:

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

ดูโมดูลัสของคีย์สาธารณะนี้ด้วย:

opensl rsa -pubin - แจ้ง DER - ใน public.key -noout -modulus

ดูโมดูลัสของคีย์ส่วนตัวของคุณด้วย:

opensl rsa - ใน private.key -noout -modulus

ผลลัพธ์ของทั้งสองจะคล้ายกับต่อไปนี้และต้องตรงกัน:

Modulus=B475A0F01B6DE62AB578E27CF2DF8F760C9C10DF52E69F4ED2FEA6912D8528F5860F6C1AB3F7DD88D4C63A1DA5A848D7655192FF6040E0405826648047EB25ECB0F56FDCB825987D48FA3953DCB04F78521F607137179C7EE081C48AF7DFB2F130E3001B80433977E962D900B9AFC9808F39B3D041213D39B5FA447EE39E838E67D5CD2EA373D68CFDB2DF3CD0260C6D7C88A7415195EEB85DBD31594E11D4BAD49C52098A8E77B56D034B04234A9064C92DBEB6A7B745EB9821446A56FF34284A0AA27768E55BF263E8D2F3B7BE52ECBE3F4590BAF7AD33DDECAD997DC61B8EAD2854714B13FAF7035758A21651740A9B36077ABC715080243626A1B3661233

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา