Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add functions for PKCS7, ASN1, CMS, CRL, RSA, & ECDSA #138

Open
wants to merge 49 commits into
base: master
Choose a base branch
from

Conversation

emtammaru
Copy link

@emtammaru emtammaru commented Apr 30, 2020

This adds the following functions:

  • ASN1Parse
  • LoadCertificatesFromPKCS7
  • VerifyTrustAndGetIssuerCertificate
  • VerifyAndGetSignedDataFromPKCS7
  • LoadCRLFromPEM
  • AddCRL
  • VerifyECDSASignature
  • VerifyRecoverRSASignature
  • GetECPublicKeyBitSize

All of these functions were added for purpose of migrating functionality from this NFC Passport Reader app written in swift: https://github.com/AndyQ/NFCPassportReader/blob/master/Sources/NFCPassportReader/OpenSSLUtils.swift So, credit goes in large part to https://github.com/AndyQ

I've verified that this works with openssl-1.1.1g.

Thank you in advance for any guidance/support with this.

@emtammaru emtammaru changed the title Add functions for PKCS7, ASN1, CMS, CRL, & ECDSA Add functions for PKCS7, ASN1, CMS, CRL, RSA, & ECDSA Jun 12, 2020
Jeannie Kidd and others added 20 commits April 6, 2021 09:51
Map order on range is nondeterministic, but some of the pkeyopts need to be set in a specific order. In this case, rsa_padding_mode needs to be set before rsa_pss_saltlen. This was causing some pss documents to randomly fail if salt length was set before the padding mode.
Fix pkeyopts to not range on map
This reverts commit b691872.
Add function to parse RSA public key in PKCS1 format
Add support for getting cert issue/expire dates
fix for "panic: runtime error: makeslice: cap out of range"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants