StackTrace: 在 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) System.Security.Cryptography.SafeKeyHandle._FreeHKey (IntPtr pKeyCtx) 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()
IIS에는 많은 웹사이트가 있는데, 어떤 웹사이트가 이런 이상 현상을 일으키는지 누가 알겠습니까??? 명확하게 말하지 마, 짜증 내고
애플리케이션 ID: /LM/W3SVC/2/ROOT 이 사이트가 오류가 보고되었다고 시에서 밝히는 웹사이트일 텐데, 이게 무슨 의미인지 알 수 없습니다
/LM/W3SVC/1/Root 里面各项都代表什么?
LM --- 로컬 서버 이름 W3SVC ---- IIS 서버 1---- 사이트 ID 1을 가진 웹사이트 루트--- 사이트 루트
이 구절은 아직도 인터넷에서 찾은 것이고, 약간 수정한 오류 로그인 "Application ID: /LM/W3SVC/2/ROOT", 즉 사이트 ID 2를 가진 웹사이트로 인한 오류입니다
로컬 디버깅이나 로컬 IIS에 배포할 때는 암호화와 복호화가 잘 작동하지만, 서비스가 원격 서버에 게시될 때는 복호화 과정에서 다음과 같은 오류가 표시됩니다:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
Util.Security.RSAUtils.decrypt(String encryptData,String privateKey) 위치: D:\documents\visual studio2010\Projects\MSPJK\MSPJK\RSAUtils.cs: 라인 번호 175에
MSPJK.DAO.DAO.login(loginInfo loginInfo) 위치 D:\documents\visualstudio 2010\Projects\MSPJK\MSPJK\DAO.cs: 라인 번호 2052
많은 정보를 찾아 해결했습니다. 해답은 다음과 같습니다:
코드를 입력하세요:
RSACryptoServiceProvider provider = new RSACryptoServiceProvider(); 변경:
CspParameters RSAParams = new CspParameters(); RSAParams.Flags = CspProviderFlags.UseMachineKeyStore; System.Security.Cryptography.RSACryptoServiceProvider provider = new RSACryptoServiceProvider(1024, RSAParams); 다시 테스트해보세요, 알겠죠!
면책 조항: Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.
Mail To:help@itsvse.com