public static extern Boolean CryptUIWizImport( Int32 dwFlags, IntPtr hwndParent, IntPtr pwszWizardTitle, ref CRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc, IntPtr hDestCertStore );
static void Main(string[] args) { if (args.Length != 1) { Console.WriteLine("Usage: certimp.exe list.crl"); Environment.ExitCode = 1; } else { IntPtr hLocalCertStore = CertOpenStore( CERT_STORE_PROV_SYSTEM, 0, IntPtr.Zero, CERT_SYSTEM_STORE_LOCAL_MACHINE, "ROOT" ); CRYPTUI_WIZ_IMPORT_SRC_INFO importSrc = new CRYPTUI_WIZ_IMPORT_SRC_INFO(); importSrc.dwSize = Marshal.SizeOf(importSrc); importSrc.dwSubjectChoice = CRYPTUI_WIZ_IMPORT_SUBJECT_FILE; importSrc.pwszFileName = args[0]; importSrc.pwszPassword = null; importSrc.dwFlags = CRYPT_EXPORTABLE | CRYPT_USER_PROTECTED; if (!CryptUIWizImport( CRYPTUI_WIZ_NO_UI, IntPtr.Zero, IntPtr.Zero, ref importSrc, hLocalCertStore )) { Console.WriteLine("CryptUIWizImport error " + Marshal.GetLastWin32Error()); Environment.ExitCode = -1; } } }