public static extern IntPtr CertCreateSelfSignCertificate(
     IntPtr providerHandle,
     [In] ref CryptoApiBlob subjectIssuerBlob,
     int flags,
     [In] ref CryptKeyProviderInformation keyProviderInformation,
     IntPtr signatureAlgorithm,
     [In] ref SystemTime startTime,
     [In] ref SystemTime endTime,
     IntPtr extensions);
 public static extern bool CertSetCertificateContextProperty(
     IntPtr certificateContext,
     int propertyId,
     int flags,
     [In] ref CryptKeyProviderInformation data);