internal CMSG_SIGNER_ENCODE_INFO(int size)
 {
     this.cbSize = (uint) size;
     this.pCertInfo = IntPtr.Zero;
     this.hCryptProv = IntPtr.Zero;
     this.dwKeySpec = 0;
     this.HashAlgorithm = new CAPIBase.CRYPT_ALGORITHM_IDENTIFIER();
     this.pvHashAuxInfo = IntPtr.Zero;
     this.cAuthAttr = 0;
     this.rgAuthAttr = IntPtr.Zero;
     this.cUnauthAttr = 0;
     this.rgUnauthAttr = IntPtr.Zero;
     this.SignerId = new CAPIBase.CERT_ID();
     this.HashEncryptionAlgorithm = new CAPIBase.CRYPT_ALGORITHM_IDENTIFIER();
     this.pvHashEncryptionAuxInfo = IntPtr.Zero;
 }
 internal CMSG_ENVELOPED_ENCODE_INFO(int size)
 {
     this.cbSize = (uint) size;
     this.hCryptProv = IntPtr.Zero;
     this.ContentEncryptionAlgorithm = new CAPIBase.CRYPT_ALGORITHM_IDENTIFIER();
     this.pvEncryptionAuxInfo = IntPtr.Zero;
     this.cRecipients = 0;
     this.rgpRecipients = IntPtr.Zero;
     this.rgCmsRecipients = IntPtr.Zero;
     this.cCertEncoded = 0;
     this.rgCertEncoded = IntPtr.Zero;
     this.cCrlEncoded = 0;
     this.rgCrlEncoded = IntPtr.Zero;
     this.cAttrCertEncoded = 0;
     this.rgAttrCertEncoded = IntPtr.Zero;
     this.cUnprotectedAttr = 0;
     this.rgUnprotectedAttr = IntPtr.Zero;
 }