Er deed zich een niet-afgehandelde uitzondering op en het proces werd beëindigd.
Applicatie-ID: /LM/W3SVC/2/ROOT
Proces-ID: 6928
Exception: System.Security.Cryptography.CryptographicException
Message: 系统找不到指定的路径。
StackTrace: 在 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) In System.Security.Cryptography.SafeKeyHandle._FreeHKey (IntPtr pKeyCtx) In System.Security.Cryptography.SafeKeyHandle.ReleaseHandle() op System.Runtime.InteropServices.SafeHandle.InternalFinalize() at System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing) bij System.Runtime.InteropServices.SafeHandle.Finalize()
Er zijn veel websites op IIS, wie weet welke website de anomalie gooit??? Zeg het niet duidelijk, prikkelbaar
Applicatie-ID: /LM/W3SVC/2/ROOT Dit zou de website moeten zijn waarop de gemeente zegt dat de fout is gemeld, maar wie weet wat dit betekent
/LM/W3SVC/1/Root 里面各项都代表什么?
LM --- lokale servernaam W3SVC ---- IIS-server 1---- Websites met Site ID 1 Root--- site root
Deze passage heb ik nog steeds op internet gevonden, en ik heb hem iets aangepast, het foutlogboek "Application ID: /LM/W3SVC/2/ROOT", dat wil zeggen, de fout veroorzaakt door de website met site ID 2
of executeren
We kunnen de relevante informatie op de website zien
Ik ontdekte waar de fout zat, en toen begon ik het op te lossen...
Bij lokaal debuggen of publiceren naar lokale IIS werken encryptie en decryptie prima, maar wanneer een service wordt gepubliceerd op een externe server, wordt de volgende fout weergegeven tijdens de ontsleuteling:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
In Util.Security.RSAUtils.decrypt(String encryptData,String privateKey) op locatie D:\documents\visual studio2010\Projects\MSPJK\MSPJK\RSAUtils.cs: regelnummer 175
In MSPJK.DAO.DAO.login(loginInfo loginInfo) locatie D:\documents\visualstudio 2010\Projects\MSPJK\MSPJK\DAO.cs: regelnummer 2052
Na het vinden van veel informatie was het opgelost. De oplossing is als volgt:
Voer de code in:
RSACryptoServiceProvider provider = nieuwe RSACryptoServiceProvider(); Gewijzigd naar:
CspParameters RSAParams = nieuwe CspParameters(); RSAParams.Flags = CspProviderFlags.UseMachineKeyStore; System.Security.Cryptography.RSACryptoServiceProvider provider = nieuwe RSACryptoServiceProvider (1024, RSAParams); Test nog eens, oké!
|