Facing issue with i2d_CMS_ContentInfo and d2i_CMS_ContentInfo in 3.x.x

madhu bajpai <madhu.bajpai-KrHygFoaG1gqDJ6do+/[email protected]> Tue, 21 Oct 2025 15:57:57 +0530
Newsgroups gmane.comp.encryption.openssl.user,gmane.comp.encryption.openssl.devel
Message-ID <[email protected]>
Hello everyone,

We have CMS encryption and decryption implemented in two different functions and using i2d_CMS_ContentInfo and d2i_CMS_ContentInfo for CMS_ContentInfo object serialisation and deserialisation across functions. We are using our own PKCS11 engine.

Code was working fine with OpenSSL 1.1.1x but failing in 3.x.x.

Encryption Code Snippet:
    OSSL_LIB_CTX* libctx = OSSL_LIB_CTX_new(); 
    CMS_ContentInfo* pCMS = CMS_encrypt_ex(pCertStack, inData, EVP_aes_256_cbc(), CMS_BINARY, libctx, NULL);

    unsigned char *buf = NULL;
    int len = i2d_CMS_ContentInfo(pCMS, &buf);

Decryption Code Snippet:

    pkcs11_set_pin( [userPIN cStringUsingEncoding:NSASCIIStringEncoding] );
    CMS_ContentInfo* p7Env = d2i_CMS_ContentInfo(NULL, (unsigned char const**)&pEncryptedMessage, encryptedMessageLength);
  
    NSString* idString = [keyID toIdString];
    const char* szParams = [idString UTF8String];
    EVP_PKEY* key = ENGINE_load_private_key(engineID, szParams , UI_OpenSSL(), NULL);
    int error = CMS_decrypt(p7Env, key , user, NULL, outData, 0);

Additional Notes:

* Looks like with serialization/deserialization, it is loosing our engine context. 

* Tried i2d_CMS_bio & d2i_CMS_bio but no success.

* If I perform encryption & decryption within same function (and don’t use serialisation/deserialization), decryption works.

* We do have plans to move from engine to provider implementation but it may take some time.

Looking for your suggestions to fix this issue.

Regards,

Madhu




-- 
You received this message because you are subscribed to the Google Groups "openssl-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openssl-users+unsubscribe-MCmKBN63+Bmbup2nOX2J7Q@public.gmane.org
To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-users/4440D5EA-2F67-4CB8-8913-CC3C4374C85F%40rimus-tech.com.