JDK1.6 java jce 安装_BouncyCastle JCE 的安装配置.解决JDK1.6 sftp连接openssh8.6Algorithm negotiation fail问题
1)下载提供者

BouncyCastle可以从www.bouncycastle.org下载,或https://mvnrepository.com/artifact/org.bouncycastle下载

2)将JAR文件拷贝到适当位置

如果想让JCE类可以被所有的JAVA应用程序使用,我们需要把JAR文件安装为一个扩展。

我本机环境是jdk1.6,所以下载了bcprov-jdk16-1.46.jar,将该jar包拷贝到jdk安装目录下:C:\Program Files (x86)\Java\jdk1.6.0_17\jre\lib\ext

3)配置安全属性文件

安全属性文件java.security位于和/lib/ext平行的另一个目录/lib/security下,它定义了当前可以使用的加密提供者。我本机环境对应目录为C:\Program Files (x86)\Java\jdk1.6.0_17\jre\lib\security,如您看到下面的语句:

security.provider.1=sun.security.provider.Sun

security.provider.2=com.sun.rsajca.Provider

它表明本虚拟机有两个加密提供者以及他们的优先级和访问时使用的名称。当需要用到一个加密

我们应该在文件中插入如下行,把新的提供者加入进去(两个java.security都要加入):

security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider

注意大小写

当然了,你也可以将前面的加密提供者配置删除,这样就不能使用jdk默认的加密提供者了。

以上操作完成后,web项目的java buildpath需要重新引入JRE的jar包,把bcprov-jdk16-1.46.jar引入进来,重启项目。

4)测试安装好的程序

我们可以自己写一个测试程序JCEInstallTest .java(用JCE包的API),来判断我们的安装是否成功。程序内容如下:

import javax.crypto.*;

public class JCEInstallTest{
public static final String stringToEncrypt=“This is a test.”;

public static void main(String[] args) throws Exception{
System.out.print(“Attempting to get a Blowfish key…”);

KeyGenerator keyGenerator=KeyGenerator.getInstance(“Blowfish”);

keyGenerator.init(128);

SecretKey key=keyGenerator.generateKey();

System.out.println(“OK”);

System.out.println(“Attempting to get a Cipher and encrypt…”);

Cipher cipher=Cipher.getInstance(“Blowfish/ECB/PKCS5Padding”);

cipher.init(Cipher.ENCRYPT_MODE,key);

byte[] cipherText=cipher.doFinal(stringToEncrypt.getBytes(“UTF8”));

System.out.println(“OK”);

System.out.println(“Test completed successfully.”);

}

}

输出结果:
-------列出加密服务提供者-----
Provider:SUN - version:1.6
SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)
Provider:SunRsaSign - version:1.5
Sun RSA signature provider
Provider:SunJSSE - version:1.6
Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
Provider:SunJCE - version:1.6
SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)
Provider:SunJGSS - version:1.0
Sun (Kerberos v5, SPNEGO)
Provider:SunSASL - version:1.5
Sun SASL provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5)
Provider:XMLDSig - version:1.0
XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory)
Provider:SunPCSC - version:1.6
Sun PC/SC provider
Provider:SunMSCAPI - version:1.6
Sun’s Microsoft Crypto API provider
Provider:BC - version:1.46
BouncyCastle Security Provider v1.46

-------列出系统支持的消息摘要算法:
RIPEMD256
RIPEMD320
GOST3411
SHA-384
MD5
TIGER
MD4
MD2
RIPEMD128
SHA
SHA-512
SHA-256
WHIRLPOOL
SHA-224
SHA-1
RIPEMD160
-------列出系统支持的生成公钥和私钥对的算法:
GOST3410
EC
ECGOST3410
DSA
ECDSA
RSA
ELGAMAL
ECIES
ECMQV
DIFFIEHELLMAN
ECDH
ECDHC
DH

JDK1.6安装_BouncyCastle JCE扩展加密算法解决JDK1.6 sftp连接openssh8.6Algorithm negotiation fail问题相关推荐

  1. java jce 安装_BouncyCastle JCE 的安装配置及在java中的使用 | 学步园

    安装BouncyCastle JCE应该按照如下步骤: 1)下载提供者 BouncyCastle可以从www.bouncycastle.org下载,下载后请将它解压缩. 2)将JAR文件拷贝到适当位置 ...

  2. Ubuntu18.04离线安装Intel I219-V网卡驱动解决有线网络无法连接网卡不识别的问题

    TOC I. 系统和硬件 II. 问题 III. 解决方法 i. 驱动安装方法 ii. 离线安装包 I. 系统和硬件 Win10 和 Ubuntu18.04 UEFI下双系统 华硕Z270pro,I2 ...

  3. 解决JSCH的sftp连接时出现的com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stre

    问题描述 如题,今天遇到个问题,使用JSCH的jsch-0.1.54.jar实现的sftp在连接目标服务器时报com.jcraft.jsch.JSchException: Session.connec ...

  4. java jce配置_BouncyCastle JCE 的安装配置及在java中的使用

    安装BouncyCastle JCE应该按照如下步骤: 1)下载提供者 BouncyCastle可以从www.bouncycastle.org下载,下载后请将它解压缩. 2)将JAR文件拷贝到适当位置 ...

  5. 安装VS2003时IIS下面缺少FrontPage2000服务器扩展的解决办法

    安装VS2003时IIS下面缺少FrontPage2000服务器扩展的解决办法 IIS安装完后,一直没找到如何安装Frontpage扩展,导致ASP.net无法使用,通过修改inf文件来完成.方法如下 ...

  6. 无法激活“Pylance“扩展, 因为它依赖于未加载的 Python 扩展。解决办法

    "无法激活 "Pylance" 扩展, 因为它依赖于未加载的 "Python" 扩展.解决办法 卸载Python扩展(如果你有pylance先卸载它) ...

  7. linux php7扩展查看,linux安装PHP7以及扩展

    Linux下安装PHP7 事先升级gcc4.8,然后安装PHP7,安装步骤参考:CentOS安装PHP7 1.Linux下编译的php没有php.ini 解决办法:从源代码目录中复制php.ini-d ...

  8. 此问题可能是由配置更改或安装另一个扩展导致的

    未能正确加载"Microsoft.VisualStudio.Editor.Implementation.EditorPackage, Microsoft.VisualStudio.Edito ...

  9. php.ini mysql扩展_PHP安装mysql.so扩展及相关PHP.ini 配置参数说明

    在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...

  10. 宝塔php的opcache模块未载入,宝塔面板CPU负载过高使用opcache扩展的解决方法

    宝塔Linux面板出现CPU负载过高怎么办?使用PHP opcache扩展加速PHP脚本,新手站长网来说说宝塔CPU负载高使用PHP扩展opcache的设置及解决方法: 宝塔面板CPU负载过高的解决方 ...

最新文章

  1. 选择图层_Photoshop思维导图,图层的高级操作
  2. 正版python软件多少钱-北京正版软件SeismoSelect 价目表
  3. 笔记:面试 - Vue
  4. Windoes 10 笔记本上安装telnet方法
  5. boost::process::child相关的测试程序
  6. ORACLE使用中的常见 实用的问题
  7. 数钱数到手抽筋html5,经典说说心情短语 数钱数到手抽筋
  8. vue seo关键词设置_「干货」SEO常识关键词选取及设置方法
  9. SPDK/PMDK/VTune Amplifier 2019中国峰会顺利落幕
  10. c语言变量格式化,C语言新手入门之格式化输出和变量类型
  11. 有了5G手机和套餐,如何正确使用5G网络?
  12. Excel导入导出功能
  13. OneDNS终端网络安全接入服务原理解析
  14. 稿定设计怎么去除水印?
  15. CodeForces 416C Booking System
  16. Java架构师成长之道之Java架构师技术栈
  17. 群晖Docker 安装Jellyfin提示“操作超时解决方法
  18. GNS3实验:三层交换机配置
  19. 从麦当劳的管理谈品牌的细节塑造
  20. Linux(ECS云服务器)

热门文章

  1. 计算机专业可以评电力工程职称吗,电力工程类职称评审专业范围,你了解多少?...
  2. endnote导入bib
  3. C++向量夹角公式(带正负)
  4. Python-Django框架学习笔记——第一课:Hello World
  5. 并发编程-线程卡死问题实践
  6. SpringSecurity实战(一)-认证鉴权流程
  7. UPnP 体系架构和基本原理 —— UPnP的描述文件
  8. 金 融 量 化 分 析 • JoinQuant • 第 七 篇
  9. ubuntu用户磁盘空间分配--quota
  10. linux 关闭屏幕键盘 软键盘