ptr = libcrypto.PEM_read_bio_CMS(bio.bio, None, None, None)
else:
ptr = libcrypto.d2i_CMS_bio(bio.bio, None)
+ if ptr is None:
+ raise CMSError("Error parsing CMS data")
typeoid = Oid(libcrypto.OBJ_obj2nid(libcrypto.CMS_get0_type(ptr)))
if typeoid.shortname() == "pkcs7-signedData":
return SignedData(ptr)
"""
bio = Membio()
if not libcrypto.i2d_CMS_bio(bio.bio, self.ptr):
- raise CMSError("writing CMS to PEM")
+ raise CMSError("writing CMS to DER")
return str(bio)
def pem(self):
__all__ = ['CMS', 'CMSError', 'Flags', 'SignedData', 'EnvelopedData',
'EncryptedData']
+libcrypto.CMS_get0_type.restype = c_void_p
+libcrypto.CMS_get0_type.argtypes = (c_void_p,)
libcrypto.CMS_add1_cert.restype = c_int
libcrypto.CMS_add1_cert.argtypes = (c_void_p, c_void_p)
libcrypto.CMS_decrypt.restype = c_int