2012-10-18 6 views
4

새내기 SVNKit에 있습니다. 나는 내 svn 저장소에서 인증하는 방법을 알아 내려고 애 쓰고있다.SSL을 사용하는 SVNKit 인증 및 인증서

기본적으로 명령 줄 SVN 코드를 사용하여 저장소에 연결하면 일부 인증서를 수락하고 사용자 이름과 암호를 요청합니다. https도 사용합니다.

위키에서 볼 수있는 코드를 사용하면 다음과 같이 표시되지만 쉽게 작동하지 않습니다.

ISVNAuthenticationManager authManager = 
    SVNWCUtil.createDefaultAuthenticationManager(name, password); 

나는 어딘가에 자신의 인증 공급자를 생성에 관한 읽을 수는 있지만이 작업을 수행하는 방법을 말해 줄 것이다 충분한 코드를 찾을 수 없습니다.

SSL 및 인증서를 사용하여 svn 저장소에 대한 인증을 어떻게합니까? 그것은 당신의 목적에 따라

답변

3

, 당신은 기본 인증 관리자를 만들 수 있습니다 :

ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(); 

~/.svn/ 디렉토리에서 설정을 사용합니다.

인증 관리자가 콘솔에서 암호/키를 요청하도록하려면 SVNCommandEnvironment#createClientAuthenticationManager 구현을 살펴보십시오.

하지만 당신은 또한 자격 증명 만 열거하여 간단한 인증 관리자를 만들 수는 (더 ~/.svn/ 디렉토리는이 옵션이 필요하지 않습니다) :

ISVNAuthenticationManager authManager = new 
    BasicAuthenticationManager(new SVNAuthentication[] {authentication1, authentication2, ...}); 

그래서 그냥 (올바른 인증서 파일과 암호를 포함) SVNSSLAuthentication 인스턴스를 전달 배열 요소 중 하나로 SVNKit은 성공할 때까지 이러한 인증을 시도합니다.

+0

고마워요! 그래서 그것은 내 Windows 응용 프로그램 데이터에 필요한 svn 폴더를 만들 수 있도록 자격증을 더한 인증서를 받아 들일 필요가 있다는 것을 의미합니까? –

+0

예, DefaultSVNAuthenticationManager는 defalut SVN 동작을 구현합니다 (~/.svn 또는 windows 응용 프로그램 데이터에 필요한 모든 데이터를 저장합니다). 인증서를 수락하려면 SVNConsoleAuthenticationProvider 또는 다른 ISVNAuthenticationProvider를 인증 관리자에 전달해야합니다 (SVNCommandEnvironment # createClientAuthenticationManager에서 구현되는 방법 참조) –