cryptoapi

    3熱度

    5回答

    我試圖生成在Windows數字簽名私鑰(從XP SP3,但目前與Windows 7測試)與CryptoAPI的,這將是與下面的OpenSSL命令兼容: openssl dgst -sha256 -sign <parameters> (for signing) openssl dgst -sha256 -verify <parameters> (for validation) 我想使用Wind

    2熱度

    1回答

    我有一個新的應用程序正在編寫.Net。我還有一個必須維護的應用程序的舊版本(同時),它是用VB6編寫的並使用C++ DLL。某些C++本機DLL必須通過P/Invoke繼續被新的.Net應用程序使用和共享。 傳統應用程序當前使用隨機數生成器,它將被替換爲使用可通過Win32 API獲取的CryptGenRandom()函數。新的.Net應用程序具有相同的需求,可以使用RNGCryptoServic

    27熱度

    1回答

    用戶最近在使用我的軟件時報告了一個奇怪的錯誤。我使用DSA簽名來驗證許可證。當軟件導入的公鑰來驗證簽名,將DSA提供商的FromXmlString方法拋出一個CryptographicException記載着「鍵不適於在指定狀態下使用。」 這樣看來,所謂的_OpenCSP方法從System.Security.Cryptography.Utils.CreateProvHandle返回一個NTE_BA

    2熱度

    1回答

    這是C++代碼: CCryptMD5Hash md5; CCryptProv cprov; PCWSTR pszPassword = <password>; BYTE* data = <array of bytes>; ATL::CCryptDerivedKey m_CryptKey; md5.Initialize(cprov); md5.AddData(reinterpret_ca

    1熱度

    1回答

    在Win 2003 32位上,我成功導出PRIVATEKEYBLOB,調用了CryptExportKey(dwFlags = 0)。然後,我嘗試使用64位可執行文件在Win Server 2008 64位上導入密鑰塊,致電CryptImportKey的調用失敗,並返回NTE_BAD_DATA。 在這兩種情況下,加密提供初始化爲調用 CryptAcquireContext(& hProv, szCo

    4熱度

    1回答

    我有一個CryptoAPI代碼來使用AES-128加密\解密給定數據和使用SHA-256從密碼派生的密鑰。 如何編寫OpenSSL等效實現,以便能夠使用它加密數據,然後使用CryptoAPI對其進行解密,反之亦然? 試圖將EVP_BytesToKey與EVP_aes_128_cbc()和EVP_sha256()一起使用並不「按原樣」。我的意思是 - 不能解密CryptoAPI生成的加密數據,反之亦

    21熱度

    3回答

    我在問這個問題,因爲我花了一天的時間來瀏覽msdn文檔和其他不透明源,瞭解如何開始使用Windows C的簡單指南/ C++ Crypto API。 我想看到的是一些示例代碼,典型的包括路徑,鏈接準則等,真的有用。我知道這是一個不準確的問題,但我認爲不準確的答案沒有一個更好。 我會得到球,我自己微薄的結果滾動...

    0熱度

    1回答

    我有一個使用 Microsoft CryptoAPI的Windows應用程序(使用Visual Studio)。現在需要開發一個Mac OS X 應用程序,該應用程序能夠讀取由WinApp加密的數據,並在Mac OS X上加密將由WinApp解密的數據。在WinApp 加密/能解密在這樣的方式初始化: ::CryptEncrypt(m_hCryptKey, 0, TRUE, 0, pBuf, &d

    9熱度

    2回答

    我試圖瞭解如何在XP,Vista和Windows 7上從PEM格式(下面的代碼中包含樣本)導入公鑰。示例代碼將在XP和Windows Vista/7上導入密鑰,但方式不同。 在Windows XP上,密碼提供程序名稱中需要字符串「(原型)」,並允許調用CryptImportPublicKeyInfo來傳遞。 在Windows 7上,「(原型)」提供程序顯然存在,但不支持對CryptImportPu

    4熱度

    4回答

    我使用WinVerifyTrust從_tmain驗證某些Windows可執行文件具有以下功能的有效性,稱爲一個循環: int signature_is_valid(const wchar_t *filepath) { GUID guid = WINTRUST_ACTION_GENERIC_VERIFY_V2; WINTRUST_FILE_INFO file_info = { 0