Si è verificata un'eccezione non gestita e il processo è stato terminato.
ID applicazione: /LM/W3SVC/2/ROOT
ID processo: 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() at System.Runtime.InteropServices.SafeHandle.InternalFinalize() at System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing) at System.Runtime.InteropServices.SafeHandle.Finalize()
Ci sono molti siti web su IIS, chissà quale sito lancia l'anomalia??? Non dirlo chiaramente, irritabile
ID applicazione: /LM/W3SVC/2/ROOT Questo dovrebbe essere il sito web dove la città dice che l'errore viene segnalato, ma chissà cosa significhi
/LM/W3SVC/1/Root 里面各项都代表什么?
LM --- nome server locale W3SVC ---- server IIS 1---- Siti web con ID sito 1 Radice--- radice del sito
Questo passaggio è ancora qualcosa che ho trovato su Internet, e l'ho modificato leggermente, il registro degli errori "Application ID: /LM/W3SVC/2/ROOT", cioè l'errore causato dal sito con ID sito 2
o eseguire
Possiamo vedere le informazioni rilevanti sul sito web
Ho scoperto dove c'era l'errore, e poi ho iniziato a risolverlo...
Quando si fa il debug locale o si pubblica su IIS locale, la crittografia e la decrittazione funzionano correttamente, ma quando un servizio viene pubblicato su un server remoto, durante la decrittazione viene visualizzato il seguente errore:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
In Util.Security.RSAUtils.decrypt(String encryptData,String privateKey) alla posizione D:\documents\visual studio2010\Projects\MSPJK\MSPJK\RSAUtils.cs: numero riga 175
In MSPJK.DAO.DAO.login(loginInfo loginInfo) posizione D:\documents\visualstudio 2010\Projects\MSPJK\MSPJK\DAO.cs: numero linea 2052
Dopo aver trovato molte informazioni, la questione è stata risolta. La soluzione è la seguente:
Inserisci il codice:
RSACryptoServiceProvider provider = new RSACryptoServiceProvider(); Modificato in:
CspParameters RSAParams = nuovi CspParameters(); RSAParams.Flags = CspProviderFlags.UseMachineKeyStore; System.Security.Cryptography.RSACryptoServiceProvider provider = new RSACryptoServiceProvider(1024, RSAParams); Prova di nuovo, ok!
|