System. Security. Cryptography. CryptographicException occurs when the refund interface or the red packet sending interface is called: an internal error occurs. Solution: internal version 7601
I have summarized three reasons why the certificate cannot be loaded:
1. The certificate password is incorrect. The certificate password is the merchant ID.
Solution: Check whether the certificate password is consistent with the merchant ID.
2. the IIS settings are incorrect. The user configuration file is not loaded.
Solution: Find the application pool used by the website --> right-click --> advanced settings --> open for example --> select true when loading the user configuration file
3. If neither of the above solutions can solve the problem, it may be that the certificate storage ID is not given when the certificate is loaded.
Solution: Use the following method when loading the certificate method. Pay attention to the third parameter.
X509Certificate2 cer = new X509Certificate2 (cerPath, password, X509KeyStorageFlags. MachineKeySet | X509KeyStorageFlags. PersistKeySet | X509KeyStorageFlags. Exportable );
Req. ClientCertificates. Add (cer );