2014-06-17 7 views
1

우리는 최근에 우리가이 오류를받은 우리의 응용 프로그램의 SFTP 기능을 테스트하는 동안 윈도우 서버 2012Tamir.SharpSSH는 Windows Server 2012와 호환됩니까?</p> <p>{ "Session.connect : 시스템

에 윈도우 2003 서버에서 Tamir.SharpSSH를 사용하는 응용 프로그램을 이동 .NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. Tamir.SharpSsh.jsch.jce.HMACMD5.update (Byte [] foo, Int32 s, Int32 l)의 \ r \ n Tamir.SharpSsh의 \ r \ n Tamir.SharpSsh.jsch.Session.read (Buffer buf)에서 .jsch.jce.HMACMD5.update (Int32 i) \ r \ n Tamir.SharpSsh.jsch.UserAuth.start (세션 세션)에서 \ r \ n \ Tamir.SharpSsh.jsch.UserAuthNone.start (세션 세션)에서 \ n Tamir.SharpSsh.jsch.Session.connect (Int32 connectTimeout) "}

FIPS 호환 알고리즘이 비활성화되어 있는지 확인했습니다.

그런 다음 Tamir.SharpSSH에 대한 DLL 참조를 프로젝트에서 제거하고 소스 코드 프로젝트를 추가하여 코드에 단계별로 추가하여 SharpSSH 라이브러리에서 오류가 발생한 위치를보다 구체적으로 확인할 수 있습니다. 연사 개체 참조가 NULL 때문에

public void update(byte[] foo, int s, int l) { cs.Write(foo, s, l); } 

이것은 아래 같이

오류가 갱신() 메소드에 cs.Write (foo에, S, L)에서 발생된다.

cs 개체 참조는 HMACMD5.cs (마지막 줄)의 init() 메서드에서 설정되지만이 메서드가 호출되는 것으로 나타나지는 않습니다.

init() 메서드가 호출되지 않는 이유는 정확히 모르겠습니다.

경험이있는 사람이 있습니까?

Windows Server 2012 호환성 문제 일지 궁금합니다.

미리 감사드립니다.

답변

3

나는 Org.Mentalis.Security에 대한 언급이 누락 된 것으로 나타났습니다.

추가하자마자 모든 것이 잘되었습니다.

감사합니다.

1

이 문제가 발생했습니다. 서버가 FIPS 암호화를 그룹 정책에서 사용하도록 설정했기 때문입니다. 이 문제를 해결하기 위해 app.config 파일에 다음 코드 줄을 추가했습니다.

<runtime> 
<enforceFIPSPolicy enabled="false"/> 
</runtime> 

이 기능을 비활성화하면 프로그램이 정상적으로 실행되었습니다.