Puncte:1

PKCS#7 algoritm de criptare digest - diferența dintre rsaEncryption și sha256WithRsaEncryption

drapel cn

Ca parte a implementării noastre de pornire securizată linux, folosind dm-verity și verificarea semnăturii hash root, trebuie să semnez un fișier cu următoarea comandă openssl (exemplu):

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

Aceasta generează un fișier PKCS#7 care apoi poate fi procesat cu succes de kernel-ul Linux.

Dar pentru producție nu folosim openssl dar PrimeKey Signserver (care se bazează pe bouncycastle) cu semnatar CMS. Aici nu am reușit să configurez semnatarul CMS pentru a genera un PKCS#7 funcțional până acum. Problema este o diferență în digest_enc_algorithm, așa cum se vede în imaginea de mai jos (Stânga: server de semnătură, dreapta: openssl).

introduceți descrierea imaginii aici

Problema este că kernel-ul nu va suporta acel OID. Pur și simplu adăugarea sha256WithRsaEncryption la comutator rezolvă problema, dar nu sunt sigur dacă aceasta este o soluție validă. Remedierea kernelului

O altă „remediere” pe care am găsit-o a fost pur și simplu înlocuirea OID-ului fișierului PKCS#7 semnat, ceea ce îmi ridică și câteva întrebări?!

Acum intrebarile mele:

  • Există o diferență reală între rsaEncryption și sha256WithRsaEncryption în acest context?
  • De ce este posibil să modificați fișierul PKCS#7 și totul funcționează bine?
  • Ar fi o soluție validă să adăugați OID-ul în cazul comutatorului din nucleu? (cel putin din perspectiva cripto)

Multumesc pentru sprijin!

ACTUALIZAȚI: Am găsit această problemă pe restanța serverului de semne PrimeKey.

dave_thompson_085 avatar
drapel cn
rsaEncryption este singurul OID definit în PKCS7 (disponibil ca RFC2315, vezi 9.4) probabil pentru că a fost scris în timpul erei PKCS1v1 când semnătura a fost înțeleasă greșit ca „criptare inversă” și (întotdeauna) separabilă de hash; CMS a redenumit digestEncryptionAlgorithm în signatureAlgorithm și apoi a extins valoarea (2630 12.2.2 numai rsaEncryption, dar 3370 3.2 și {sha1,md5}cu RSA, cu mai multe adăugate de atunci). În timp ce PKCS7 și CMS sunt în mare parte la fel, aceasta este o diferență, iar Bouncy este CMS, nu PKCS7.

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.