Score:1

อัลกอริทึมการเข้ารหัสย่อย PKCS#7 - ความแตกต่างระหว่าง rsaEncryption และ sha256WithRsaEncryption

ธง cn

เป็นส่วนหนึ่งของการใช้งานการบู๊ตอย่างปลอดภัยของ linux โดยใช้ การตรวจสอบลายเซ็น dm-verity และรูทแฮชฉันต้องเซ็นชื่อไฟล์ด้วยคำสั่ง opensl ต่อไปนี้ (ตัวอย่าง):

openssl smime -sign -nocerts -noattr -binary -in unsigned.txt -inkey private.key -signer cert.pem -outform der -out Signed.txt

สิ่งนี้จะสร้างไฟล์ PKCS#7 ซึ่งสามารถประมวลผลได้สำเร็จโดยเคอร์เนล linux

แต่สำหรับการผลิตเราไม่ใช้ opensl แต่ เซิร์ฟเวอร์ลายเซ็น PrimeKey (ซึ่งขึ้นอยู่กับ bouncycastle) พร้อมผู้ลงนาม CMS ที่นี่ ฉันไม่สามารถกำหนดค่าผู้ลงนาม CMS เพื่อสร้าง PKCS#7 ที่ใช้งานได้จนถึงตอนนี้ ปัญหาคือความแตกต่างในdigest_enc_algorithmดังที่เห็นในภาพด้านล่าง (ซ้าย: signserver ขวา: openssl)

ป้อนคำอธิบายรูปภาพที่นี่

ปัญหาก็คือว่า เคอร์เนลจะไม่รองรับ OID นั้น. เพียงแค่เพิ่ม sha256WithRsaEncryption ไปที่สวิตช์ก็แก้ไขปัญหาได้ แต่ฉันไม่แน่ใจว่านี่เป็นวิธีแก้ไขที่ถูกต้องหรือไม่ แก้ไขเคอร์เนล

"การแก้ไข" อีกอย่างที่ฉันพบคือการแทนที่ OID ของไฟล์ PKCS#7 ที่ลงชื่อ ซึ่งทำให้เกิดคำถามสองสามข้อสำหรับฉันด้วย!

ตอนนี้คำถามของฉัน:

  • มีความแตกต่างระหว่าง rsaEncryption และ sha256WithRsaEncryption ในบริบทนั้นหรือไม่
  • เหตุใดจึงแก้ไขไฟล์ PKCS#7 และทุกอย่างทำงานได้ดี
  • มันจะเป็นการแก้ไขที่ถูกต้องหรือไม่ที่จะเพิ่ม OID ในกรณีสวิตช์ในเคอร์เนล (อย่างน้อยจากมุมมองของการเข้ารหัสลับ)

ขอบคุณสำหรับการสนับสนุนของคุณ!

อัปเดต: พบปัญหานี้ ใน Backlog ของ PrimeKey signserver

dave_thompson_085 avatar
cn flag
rsaEncryption เป็น OID เดียวที่กำหนดไว้ใน PKCS7 (ใช้ได้ใน RFC2315 ดู 9.4) อาจเป็นเพราะมันถูกเขียนขึ้นในยุค PKCS1v1 เมื่อลายเซ็นถูกเข้าใจผิดว่าเป็น 'การเข้ารหัสย้อนกลับ' และ (เสมอ) แยกออกจากแฮช CMS เปลี่ยนชื่อ DigestEncryptionAlgorithm เป็น SignatureAlgorithm แล้วขยายค่า (2630 12.2.2 เท่านั้น rsaEncryption แต่ 3370 3.2 ยัง {sha1,md5}withRSA อีกด้วย ตั้งแต่นั้นเป็นต้นมา) ในขณะที่ PKCS7 และ CMS นั้น _ส่วนใหญ่_ เหมือนกัน นี่เป็นข้อแตกต่างอย่างหนึ่ง และ Bouncy คือ CMS ไม่ใช่ PKCS7

โพสต์คำตอบ

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