Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 822025
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T02:44:20+00:00 2026-05-15T02:44:20+00:00

I wanted to extract the Signer Informations from PKCS#7 Signed Code Image using C/CPP.

  • 0

I wanted to extract the Signer Informations from PKCS#7 Signed Code Image using C/CPP. I wanted to know the openssl API’s. I am Able to extract Using bouncy castle (CMSSignedData).

Please let me know the openssl API’s which I can use in C/CPP to extract the each signers and signer informations and verify the Signers.

is there any API like X509_LOOKUP_buffer() instead of X509_LOOKUP_file() ???

Thanks in advance opensid

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T02:44:20+00:00Added an answer on May 15, 2026 at 2:44 am

    I had a similar problem. I had to extract signingTime attribute from a PKCS#7 signature. I couldn’t find the ultimate solution on the Internet but I could pick up bits and parts from various places and came up to this. Maybe there is a nicer/better/safer way, it’s the first time I amd doing this but it seems to work.

    In a function I have p_pkcs7SigSize bytes of PKCS#7 signature in a buffer pointing by const void *p_pkcs7Sig. I got signing time by this. I’ve removed the error handling, do not use this code verbose!

    BIO                         *v_in          = NULL;
    PKCS7                       *v_p7          = NULL;
    STACK_OF(PKCS7_SIGNER_INFO) *v_signerInfos = NULL;
    PKCS7_SIGNER_INFO           *v_signerInfo  = NULL;
    ASN1_TYPE                   *v_asn1SigningTime  = NULL;
    
    /* make BIO for input buffer */
    v_in = BIO_new_mem_buf( (void*)(uintptr_t) p_pkcs7Sig, p_pkcs7SigSize );
    
    /* make a PKCS7 object of it */
    v_p7 = d2i_PKCS7_bio( v_in, NULL);
    
    /* get all signer infos */
    v_signerInfos = PKCS7_get_signer_info( v_p7 );
    
    /* if you need all signer infos then loop through all, 
     * count you get by k_PKCS7_SIGNER_INFO_num(v_signerInfos) 
     */
    
    /* get the first signer info */
    v_signerInfo = sk_PKCS7_SIGNER_INFO_value(v_signerInfos,0);
    
    /* get signing time */
    v_asn1SigningTime = PKCS7_get_signed_attribute( v_signerInfo, NID_pkcs9_signingTime );
    
    /* You should got a v_asn1SigningTime->type == V_ASN1_UTCTIME, 
     * if yes then the actual value is in the string buffer at
     * v_asn1SigningTime->value.utctime->data 
     */
    
    if ( v_in )
    {
       BIO_free_all( v_in );
       v_in = NULL;
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 440k
  • Answers 440k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer I have solve it .... I just put all the… May 15, 2026 at 5:24 pm
  • Editorial Team
    Editorial Team added an answer Unfortunately, no. If you mean native Symbian C++, of course.… May 15, 2026 at 5:24 pm
  • Editorial Team
    Editorial Team added an answer You can get the docs online on http://apidock.com/rails or you… May 15, 2026 at 5:24 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.