Java安全领域组成及开放方法_java开放方法-程序员宅基地

技术标签: java  实践记录  加密  jce  

Java安全领域由4个部分组成:JCA(Java机密体系结构 Java Cryptography Architecture)、JCE(Java 加密扩展包 Java Cryptography Extension)、JSSE(Java 安全套接字扩展包 Java Secure Sockets Extension)、JAAS(Java鉴别与安全服务 Java Authentication and Authenication Serivce)。

  • JCA提供基本的加密框架,如证书、数字签名、消息摘要和密钥对产生器。
  • JCE在JCA的基础上作了扩展,提供了各种加密算法、消息摘要算法和密钥管理等功能。我们已经了解的DES算法、AES算法、RSA算法、DSA算法等就是通过JCE来提供的。有关JCE的实现主要在javax.crypto包(及其子包)中。
  • JSSE提供了基于SSL(安全套接字层 Secure Sockets Layer)的加密功能。在网络的传输过程中,信息会经过多个主机(很有可能其中一台就被窃听),最终传送给接收者,这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。
  • JAAS提供了在Java平台上进行用户身份鉴别的功能。如何提供一个符合标准安全机制的登录模块,通过可配置的方式集成至各个系统中呢?这是由JAAS来提供的。

JCA和JCE是Java平台提供的用于安全和加密服务的两组API。它们并不执行任何算法,它们只是连接应用和实际算法实现程序的一组接口。软件开发商可以根据JCE接口(又称安全提供者接口)将各种算法实现后,打包成一个Provider(安全提供者),动态地加载到Java运行环境中。

根据美国出口限制规定,JCA可出口(JCA和SUN的一些默认实现包含在Java发行版中),但JCE对部分国家是限制出口的。因此,要实现一个完整的安全结构,就需要一个或多个第三方厂商提供的JCE产品,称为安全提供者。BouncyCastle JCE就是其中的一个安全提供者。
。。。。。。

上述内容摘抄自《Java加密与解密的艺术》,说明了Java安全领域的组成及为什么需要单独配置开放的原因。

首先,下载第三方厂商提供的JCE产品jar包。例如,下载地址:jce-jdk13-139.jar

其次,下载后将jar包放入jdk或jre安装目录下的…\jre\lib\ext路径下。

最后,再配置…\jre\lib\security\java.security文件,增加需要开放的加密算法,例如,
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/markximo/article/details/79849770

智能推荐

Linux查询提取指定时间段的日志_linux截取一段时间内的日志-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏23次。在 Linux 中,可以使用 "sed、akw" 命令快速提取一个日志文件中指定时间段之间的日志信息。_linux截取一段时间内的日志

Tomcat配置JDK和JRE_tomcat设置jre-程序员宅基地

文章浏览阅读5.8k次,点赞5次,收藏27次。解决tomcat在cmd下运行startup提示:The JRE_HOME environment variable is not defined correctly This environment variable is needed to run this program如果提示startup不是内部或外部命令也是需要配置tomcat的环境变量_tomcat设置jre

ClionIDE通过指定编译器编译_clion设置编译器路径-程序员宅基地

文章浏览阅读1.4k次。通过clion指定mingw或VS对代码进行编译。_clion设置编译器路径

STM32F103ZET6【标准库函数开发】------05.1 通用定时器TIM3输出四路PWM,同频率不同占空比_stm32f103zet6完全重映射代码-程序员宅基地

文章浏览阅读862次,点赞3次,收藏21次。通用定时器有4个,TIM2,TIM3,TIM4,TIM5TIM1和TIM8挂载APB2下面;TIM2,TIM3,TIM4,TIM5挂载APB1下面。以TIM3为例无映射:时钟使能PA PB TIM3部分重映射:时钟使能PB TIM3完全重映射:时钟使能PC TIM3_stm32f103zet6完全重映射代码

6G需要1000亿个基站;5G套餐资费年内或降至50至60元;国内首款L4级5G无人驾驶汽车量产...-程序员宅基地

文章浏览阅读1.7k次。目录1、国内首款L4级5G无人驾驶汽车武汉量产2、6G需要1000亿个基站,可能跟手机一样大小3、业内称5G套餐资费年内或降至50至60元4、5月5G手机出货1564.3万部,占比近五成..._6g需要基站吗

C# 加签 验签 公钥 私钥 RSA数字签名_c# rsa pkcs8 生成数字签名-程序员宅基地

文章浏览阅读4.4k次。* RSA加密解密:私钥解密,公钥加密。* RSA数字签名-俗称加签验签:私钥加签,公钥验签。java的公钥私钥是一串字符串,.net 公钥私钥是一串XML格式字符串,两者格式不是一致的,需要转换一下才能使用,具体请参考JAVA和NET RSA密钥格式相互转换(公钥,私钥)使用的命名空间:using System.Security.Cryptography;usin..._c# rsa pkcs8 生成数字签名

随便推点

编程语言和操作系统是什么关系?编程语言如何被计算机执行的?驱动程序的理解?_操作系统和编程语言的关系-程序员宅基地

文章浏览阅读2.2k次。我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因。我们都知道,中间层是为了提供抽象转换而存在的,而这套叫做操作系统的中间层,定义了一套规则,使得后续的可执行程序能够更容易的被运行起来,而且能更容易的利用各种硬件(显示,键盘等等),能够调用一些库来消除不同的程序间重复的运行逻辑。_操作系统和编程语言的关系

ACProtect2.0脱壳-程序员宅基地

文章浏览阅读378次。这上以前加入黑手安全网上做的教程,也搬过来吧目标程序:红盟(内部版)TNT社工辅助.exe所加的壳:ACProtect 2.00 - RISCO Software Inc.首先忽略所有异常,隐藏下od脱壳步骤:1.程序附加(程序附加后会停在系统的领空)代码:7C92120F C3 RETN7C921210 8BFF MOV EDI,EDI7C921212 > CC INT3..._acprotect 教程

下垂控制实现混合储能功率分配控制,下垂电流均衡控制,母线电压补偿_蓄电池下垂控制-程序员宅基地

文章浏览阅读174次。混合储能功率分配,下垂控制,功率均衡,母线电压补偿_蓄电池下垂控制

谈谈UVM中事务级建模(TLM)的uvm_tlm_fifo-程序员宅基地

文章浏览阅读1.4k次。在前面文章的producer和consumer示例中,只存在一个进程。producer调用put时执行了consumer中的put方法,consumer调用get时执行了producer..._uvm_tlm_analysis_fifo默认深度

如何在Ubuntu中安装libevent库_ubuntu 安装libevent-程序员宅基地

文章浏览阅读542次。在当前目录下:tar -zxvf +自己下载的安装包名字,我的是:tar -zxvf libevent-2.1.12-stable.tar.gz。那就使用这个命令:sudo apt-get install libssl-dev 安装openssl。在这个目录下的终端输入:./configure --prefix=/usr。安装完成后继续输入:./configure --prefix=/usr。如果这个命令下面输出一大堆东西就代表安装成功,啥也没输出代表安装失败。我下载的是这个压缩包。_ubuntu 安装libevent

键盘ascii码表 linux,ASCII码表【美国信息交换标准代码】-程序员宅基地

文章浏览阅读434次。1英文缩写及全称缩写:ASCII英文全称:American Standard Code for Information Interchange2简介美国信息交换标准代码是一种用于信息交换的美国标准代码。7位 字符集广泛用于代表标准美国键盘上的字符或符号。通过将这些 字符使用的值标准化,ASCII允许计算机和计算机程序交换信息。ASCII 字符集是与ANSI字符集中的前面128个(0-127)字符相..._linux键盘ascii码