2013-08-01 3 views
41

मैं एक SFTP JSch का उपयोग कर ऐसा करने के लिए कोशिश कर रहा हूँ नहीं है, लेकिन मैं कुछ त्रुटि हुई:सिफर 'AES256-सीबीसी' आवश्यक है, लेकिन यह उपलब्ध

com.jcraft.jsch.JSchException: The cipher 'aes256-cbc' is required, but it is not available.

नीचे कोड मैं प्रयोग किया जाता है। क्या मुझे कुछ याद आया है?

JSch jsch = new JSch(); 
Session session = null; 

jsch.addIdentity("C:\\privatekey.ppk", "Password"); 

session = jsch.getSession("user", "54.251.240.234", 22); 
session.setConfig("StrictHostKeyChecking", "no"); 


Channel channel = session.openChannel("sftp"); 
channel.connect(); 
ChannelSftp sftpChannel = (ChannelSftp) channel; 
sftpChannel.put("C:\\Users\\test.txt", "/home/user/test.txt"); 
sftpChannel.exit(); 
session.disconnect(); 

स्टैकट्रेस

[8/30/13 1:56:26:556 SGT] 00000021 SystemErr  R com.jcraft.jsch.JSchException: The cipher 'aes256-cbc' is required, but it is not available. 
[8/30/13 1:56:26:557 SGT] 00000021 SystemErr  R at com.jcraft.jsch.KeyPair.loadPPK(KeyPair.java:1017) 
[8/30/13 1:56:26:557 SGT] 00000021 SystemErr  R at com.jcraft.jsch.KeyPair.load(KeyPair.java:590) 
[8/30/13 1:56:26:557 SGT] 00000021 SystemErr  R at com.jcraft.jsch.KeyPair.load(KeyPair.java:542) 
[8/30/13 1:56:26:557 SGT] 00000021 SystemErr  R at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40) 
[8/30/13 1:56:26:558 SGT] 00000021 SystemErr  R at com.jcraft.jsch.JSch.addIdentity(JSch.java:389) 
[8/30/13 1:56:26:558 SGT] 00000021 SystemErr  R at com.jcraft.jsch.JSch.addIdentity(JSch.java:370) 
[8/30/13 1:56:26:558 SGT] 00000021 SystemErr  R at com.belsize.sb.SB_UtilityBean.runExternalProgram_Windows(SB_UtilityBean.java:1134) 
[8/30/13 1:56:26:558 SGT] 00000021 SystemErr  R at com.belsize.sb.EJSLocal0SLSB_Utility_861cc9f0.runExternalProgram_Windows(EJSLocal0SLSB_Utility_861cc9f0.java) 
[8/30/13 1:56:26:558 SGT] 00000021 SystemErr  R at com.belsize.sb.SB_IntegrationBean.getFTP_Status(SB_IntegrationBean.java:2175) 
[8/30/13 1:56:26:559 SGT] 00000021 SystemErr  R at com.belsize.sb.EJSLocal0SLSB_Integration_13682180.getFTP_Status(EJSLocal0SLSB_Integration_13682180.java) 
[8/30/13 1:56:26:559 SGT] 00000021 SystemErr  R at pagecode.module.user_permission.W_useraccount.getFTP_Status(W_useraccount.java:992) 
[8/30/13 1:56:26:559 SGT] 00000021 SystemErr  R at pagecode.module.user_permission.Up1006.doUp1006_commandlink_testftpAction(Up1006.java:711) 
[8/30/13 1:56:26:559 SGT] 00000021 SystemErr  R at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[8/30/13 1:56:26:560 SGT] 00000021 SystemErr  R at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
[8/30/13 1:56:26:560 SGT] 00000021 SystemErr  R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
[8/30/13 1:56:26:560 SGT] 00000021 SystemErr  R at java.lang.reflect.Method.invoke(Method.java:611) 
[8/30/13 1:56:26:560 SGT] 00000021 SystemErr  R at org.apache.el.parser.AstValue.invoke(AstValue.java:268) 
[8/30/13 1:56:26:560 SGT] 00000021 SystemErr  R at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) 
[8/30/13 1:56:26:561 SGT] 00000021 SystemErr  R at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83) 
[8/30/13 1:56:26:561 SGT] 00000021 SystemErr  R at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88) 
[8/30/13 1:56:26:561 SGT] 00000021 SystemErr  R at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100) 
[8/30/13 1:56:26:561 SGT] 00000021 SystemErr  R at javax.faces.component.UICommand.broadcast(UICommand.java:120) 
[8/30/13 1:56:26:561 SGT] 00000021 SystemErr  R at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:973) 
[8/30/13 1:56:26:562 SGT] 00000021 SystemErr  R at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:275) 
[8/30/13 1:56:26:562 SGT] 00000021 SystemErr  R at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1285) 
[8/30/13 1:56:26:562 SGT] 00000021 SystemErr  R at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:711) 
[8/30/13 1:56:26:562 SGT] 00000021 SystemErr  R at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:34) 
[8/30/13 1:56:26:562 SGT] 00000021 SystemErr  R at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171) 
[8/30/13 1:56:26:563 SGT] 00000021 SystemErr  R at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
[8/30/13 1:56:26:563 SGT] 00000021 SystemErr  R at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189) 
[8/30/13 1:56:26:563 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1225) 
[8/30/13 1:56:26:563 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:775) 
[8/30/13 1:56:26:564 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:457) 
[8/30/13 1:56:26:564 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
[8/30/13 1:56:26:564 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) 
[8/30/13 1:56:26:564 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) 
[8/30/13 1:56:26:564 SGT] 00000021 SystemErr  R at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77) 
[8/30/13 1:56:26:564 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
[8/30/13 1:56:26:565 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
[8/30/13 1:56:26:565 SGT] 00000021 SystemErr  R at com.belsize.servlet.filter.RedirectLogin.doFilter(RedirectLogin.java:177) 
[8/30/13 1:56:26:565 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
[8/30/13 1:56:26:565 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
[8/30/13 1:56:26:565 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928) 
[8/30/13 1:56:26:565 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 
[8/30/13 1:56:26:566 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) 
[8/30/13 1:56:26:566 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:908) 
[8/30/13 1:56:26:566 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
[8/30/13 1:56:26:566 SGT] 00000021 SystemErr  R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
[8/30/13 1:56:26:566 SGT] 00000021 SystemErr  R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453) 
[8/30/13 1:56:26:566 SGT] 00000021 SystemErr  R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515) 
[8/30/13 1:56:26:567 SGT] 00000021 SystemErr  R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306) 
[8/30/13 1:56:26:567 SGT] 00000021 SystemErr  R at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
[8/30/13 1:56:26:567 SGT] 00000021 SystemErr  R at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:166) 
[8/30/13 1:56:26:567 SGT] 00000021 SystemErr  R at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
[8/30/13 1:56:26:567 SGT] 00000021 SystemErr  R at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
[8/30/13 1:56:26:568 SGT] 00000021 SystemErr  R at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
[8/30/13 1:56:26:568 SGT] 00000021 SystemErr  R at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
[8/30/13 1:56:26:568 SGT] 00000021 SystemErr  R at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
[8/30/13 1:56:26:568 SGT] 00000021 SystemErr  R at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
[8/30/13 1:56:26:568 SGT] 00000021 SystemErr  R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1691) 

उत्तर

4

आप अपने JRE को जोड़ने की जरूरत है - जावा असीमित ताकत नीति, जैसे .: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html कृपया सर्वर के JRE पथ पर local_policy और us_export_policy की जगह (\ lib \ सुरक्षा) जेसीई नीतियों का अन्य संस्करण ओरेकल वेब पृष्ठों पर पाया जा सकता है।

+0

हाय, मेरा जावा संस्करण "1.6.0_23" जावा (टीएम) एसई रनटाइम पर्यावरण (1.6.0_23-बी05 का निर्माण)। जेएसएच में, यह जे 2 एसई 1.4.0 या बाद में उल्लेख करता है, अतिरिक्त लाइब्रेरी – bittersour

+1

हाँ की आवश्यकता नहीं है हां, आपके पास जेसीई है - इसमें कोई संदेह नहीं है, लेकिन मेरा विश्वास करो, मैं एक ही चीज़ से संघर्ष कर रहा था। जेआरई पथ पर डिफ़ॉल्ट local_policy.jar और US_export_policy.jar, आपके द्वारा वर्णित कुंजी का उपयोग करने से रोकता है। आपको जेसीई असीमित ताकत क्षेत्राधिकार पुस्तकालय डाउनलोड करना होगा, इसके बाद कृपया पुरानी पुस्तकालयों को उन लोगों के साथ बदलें जिन्हें मैंने पहले सुझाया था। –

+0

इसके अलावा, कृपया यहां देखें: http: //www.jcraft.com/jsch/README, यह कहता है कि "और फिर, जे 2 एसई 1.4.2 (या बाद में) डिफ़ॉल्ट रूप से aes256 का समर्थन नहीं करता है" और "हमने पुष्टि की है कि हमने पुष्टि की है "जावा क्रिप्टोग्राफी एक्सटेंशन (जेसीई) असीमित शक्ति क्षेत्राधिकार नीति फ़ाइलों [...] हम आवेदन कर सकते हैं 'aes256-cbc, aes256-ctr' का आनंद ले सकते हैं। –

51

डिफ़ॉल्ट रूप से, जेसीई नीतियां - जो आपके जेडीके या जेआरई के साथ आती है- इस तरह की तकनीकों का समर्थन नहीं करती है जैसे कि (एएस -256, .. आदि)।

निश्चित रूप से आपको अपने वर्तमान जेसीई जार ($ JAVA_HOME/jre/lib/security पर मौजूद) को ऑरैकल वेबसाइट से संगत जेव संस्करण के साथ बदलना होगा।

  • डाउनलोड लिंक:

JDK 1.6 के लिए: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html सही लिंक

JDK 1.7 के लिए: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK 1.8 के लिए: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

यह ठीक कर देंगे जांच एलईएम।

+0

कोशिश की और परीक्षण किया। –

+6

वाह। पता नहीं था कि जावा अपंग एन्क्रिप्शन के साथ भेज दिया गया है। –

+0

यह मेरे लिए काम नहीं करेगा। मैं एंड्रॉइड स्टूडियो में "sshAntTask 'org.apache.ant के साथ gradle में ant.scp tuse: ant-jsch: 1.9.6" निर्भरता। क्या मैं कुछ भूल रहा हूँ? – Kangars

72

यह त्रुटि तब भी दिखाई देती है जब आपकी निजी कुंजी पुटी प्रारूप में होती है और खुले एसएसएच प्रारूप में नहीं होती है।

आप टूल को पुटीटीजन के साथ एक खुली एसएसएच प्रारूप निजी कुंजी में परिवर्तित कर सकते हैं।

यह मेरे लिए समस्या हल करता है। नेटबीन्स 8.0.2 और जावा 8_25 के साथ जावा फाइलों को प्रतिस्थापित करना मेरे मामले में आवश्यक नहीं था।

+21

पुटी कुंजी जेनरेटर: 1) मौजूदा निजी कुंजी फ़ाइल लोड करें। 2) रूपांतरण: ओपनएसएसएच कुंजी निर्यात करें – Matthew

संबंधित मुद्दे