亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SFTP連接器DH密鑰錯誤

SFTP連接器DH密鑰錯誤

HUWWW 2021-04-02 14:15:32
我正在用Anypoint Studio創建一個簡單的Mule流-它會定期輪詢目錄,當文件放在目錄中時,它會將其發送到SFTP服務器。但是,當應用程序開始與服務器協商安全連接時,它將失敗并顯示以下錯誤:java.io.IOException:登錄到username @ host時出錯:Session.connect:java.security.InvalidAlgorithmParameterException:DH密鑰大小必須是64的倍數,并且只能在512到8192(含)范圍內。不支持特定的密鑰大小2047堆棧跟蹤引用了jsch庫中的幾個文件。先前問題中的解決方案建議使用其他版本的jsch或自己編輯jsch jar升級到Java 8。我的Mule服務器(版本3.9.0 EE)已經在Java 8上,我嘗試了幾種不同版本的jsch,并且編輯jars是不切實際的,因為此應用程序將部署到幾種不同的環境中。通過WinSCP,我可以使用與應用程序相同的憑據登錄sftp服務器。一位同事嘗試修改工作流程以使用相同的憑據移動相同的文件,并且他們收到相同的錯誤。這是我流程的XML:<flow name="ClCoFlow">        <file:inbound-endpoint path="${file.from}"            moveToDirectory="${file.backup}" responseTimeout="10000"            doc:name="Get File to Transfer" />        <logger            message="#[flowVars.originalFilename] being moved to #[flowVars.moveToDirectory]"            level="INFO" doc:name="File In" />        <sftp:outbound-endpoint exchange-pattern="one-way"            host="${sftp.host}" port="${sftp.port}" path="${sftp.path}" user="${sftp.user}"            password="${sftp.password}" responseTimeout="10000" doc:name="SFTP" />        <logger message="#[flowVars.originalFilename] sent to sftp service"            level="INFO" doc:name="File sent" />    </flow>預先感謝您可以提供的任何幫助編輯盡管Mule是基于Java構建的,并且Mule應用程序是使用Java和Spring在后臺構建的,但是并沒有編寫創建Mule流所涉及的實際Java代碼。
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

更改提供者似乎是解決此問題的方法。不幸的是,使用Mule連接器無法做到這一點,因此我們不得不用純Java重新編寫sftp連接器。下載bouncycastle .jars之后,將它們放在src / main / app / lib中,然后將它們添加到構建路徑中。您應該能夠導入它們(由于某些原因,我不得不導入org.python.bouncycastle.jce.provider而不是org.bouncycastle.jce.provider)。我在代碼的頂部放了:

Security.insertProviderAt(new BouncyCastleProvider(), 1);

并且在流運行時,正確協商了dh鍵,并且不會引發任何錯誤。


查看完整回答
反對 回復 2021-04-14
  • 1 回答
  • 0 關注
  • 322 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號