2012-06-11 3 views
0

Java (Zehon)를 사용하여 FTPS를 통해 파일을 전송합니다. 이것은 나의 코드 스 니펫이다.연결 재설정 중 Java를 사용하여 FTPS를 통해 파일 전송

try { 
FTPsClient ftpClient = new FTPsClient(host, port,username ,password ,false,keyStorePath,keyStorePass); 
ftpClient.sendFile(absFilePath, ftpsFolder); 
}catch (FileTransferException e) {e.printStackTrace();} 

나는 호스트 IP를 telnet으로 연결하고 있습니다. 내가 전달하는 자격 증명이 정확하다는 것을 확신합니다. 예외가 발생하는 경우 com.zehon.exception.FileTransferException: java.net.SocketException: Connection reset FTPsClient의 javadoc에 더 이상 연결할 방법이 표시되지 않으므로 호스트에 연결하는 동안 추가해야 할 사항에 대한 제안 사항 주인.

답변

0

키 저장소 파일을 구성하는 데 문제가있었습니다.

openssl pkcs12 -export -in /path/to/YourVeriSignSSLCert.crt -inkey /path/to/YourPrivateKey.key -out mycert.p12 -name tomcat -CAfile /path/to/YourIntermediateCertificate.cer -caname root 

YourVeriSignSSLCert.crt 현재의 openssl 인증서

YourPrivateKey.key 현재 개인 키

YourIntermediateCertificate입니다이 명령을 다운로드하려면 openssl을 입력합니다 : 이것은 당신이 실제로 그것을해야하는 방법이다. cer는 VeriSign 중간 CA입니다.

내 보낸 키 저장소는 'mycert.p12'

지금 키 스토어 파일은 PKCS12 형식이다 나는 JKS 형식으로이 변환 오전 :

keytool -v -importkeystore -trustcacerts -srckeystore mycert.p12 -srcstoretype PKCS12 -destkeystore md_keystore.jks -deststoretype JKS 

지금이 프로그램에 전달해야하는 키 스토어 파일입니다.

+0

희망 문제는 다른 사람이 같은 문제에 직면하는 데 도움이됩니다. – justin3250

+0

PKCS12 형식은 실제로 Java에 의해 인식됩니다. 이것이 javax.net.ssl.keyStoreType입니다. – EJP

+0

하지만 어떻게 내가 위에서 언급 한 프로그램에서 이것을 사용할 수 있습니까? String keyStorePath를 전달해야합니다. 어떻게 프로그래밍 방식으로 키 저장소 유형을 변경할 수 있습니까? – justin3250

관련 문제