【Java安全技术探索之路系列:Java可扩展安全架构】之五:JCE(一):JCE架构介绍

【Java安全技术探索之路系列:Java可扩展安全架构】之五:JCE(一):JCE架构介绍作者:郭嘉邮箱:allenwells@163.com博客:http://blog.csdn.net/allenwellsgithub:https://github.com/AllenWellJCE最初是作为JCA的扩展包开发的,旨在提供受美国出口控制条例管制的加密服务API和实现。JCE提供一个提供者实现和一组相关的API和包,以支持加密和解密,密钥的生成和协商以及消息验证算法,其中对加

大家好,又见面了,我是你们的朋友全栈君。

作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell

【Java安全技术探索之路系列:Java可扩展安全架构】章节目录

【Java安全技术探索之路系列:Java可扩展安全架构】之一:Java可扩展安全架构开篇
【Java安全技术探索之路系列:Java可扩展安全架构】之二:JCA(一):JCA架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之三:JCA(二):JCA类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之四:JCA(三):JCA编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之五:JCE(一):JCE架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之六:JCE(二):JCE类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之七:JCE(三):JCE编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之八:JCP(一):JCP架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之九:JCP(二):JCP类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十:JCP(三):JCP编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之十一:JSSE(一):JSSE架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之十二:JSSE(二):JSSE类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十三:JSSE(三):JSSE编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之十四:JAAS(一):JAAS架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之十五:JAAS(二):JAAS类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十六:JAAS(三):JAAS编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之十七:JGSS(一):JGSS架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之十八:JGSS(二):JGSS类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十九:JGSS(三):JGSS编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之二十:SASL(一):SASL架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之二十一:SASL(二):SASL类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之二十二:SASL(三):SASL编程模型

JCE最初是作为JCA的扩展包开发的,旨在提供受美国出口控制条例管制的加密服务API和实现。JCE提供一个提供者实现和一组相关的API和包,以支持加密和解密,密钥的生成和协商以及消息验证算法,其中对加密和解密的支持包括对称加密、非对称加密、块加密和流加密。JCE还支持安全流和封装流对象。

JCE的架构模型如下图所示:

这里写图片描述

一 JCE加密服务提供者

JCE是基于JCA的架构原则设计的,因此它同样允许继承加密服务提供者,支持可插入的框架架构,允许插入合格的JCE提供者。

JCE架构提供了一个SunJCE的默认提供者实现,该实现提供以下加密服务和算法:

  • DES(FIPS PUB 46-1),3DES和Blowfish等加密算法的实现。
  • 支持以下模式:
    • 电子密码本(Electronic Code Book, ECB)
    • 密码块链接(Cipher Block Chaining,CBC)
    • 密码反馈(Cipher Feedback, CFB)
    • 输出反馈(Output Feedback, OFB)
    • 扩散密码块链接(Propagating Cipher Block Chaining, PCBC)
  • 可以实现MAC算法,如HMAC-MD5和HMAC-SHAT算法。
  • 用于算法DES, 3DES, Blowfish, HMAC-MD5和HMAC-SHA」的密钥生成器
  • 实现MD5-DESCBC基于密码加密(Password-Based Encryption, PBE)的算法
  • 实现基于Dffie-Helhnan的密钥协商协议
  • 按照PKCS#5实现填充规则(Padding Scheme)
  • Diffie-Hellman、DES, 3DES, Blowfish和PBE的算法参数管理器
  • 支持高级加密标准(AES)
  • 实现名为JCEKS的密钥库
  • 引人下列服务和算法作为J2SE 5.0安全增强:
    • 支持PKCS # 11标准
    • 支持ECC算法
    • 支持XML加密RSA-OAEP算法
    • 集成了Solaris加密框架(Solaris Cryptographic Framework)
    • 支持加密算法“PBEWithSHAIAndDESede”和“PBEWithSHAIAndRC2_40”
    • 支持RC2ParameterSpec
    • 增加了提供者SuuJCE对RSA加密的支持
    • 增加了提供者SunJCE对RC2和ARCFDUR加密的支持
    • 支持Hn13CSHA256, HmacSHA384和HmacSHA512

二 JCE加密服务引擎

三 JCE加密服务算法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150677.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • [转]软阈值(Soft Thresholding)函数解读[通俗易懂]

    [转]软阈值(Soft Thresholding)函数解读[通俗易懂]1、软阈值(SoftThresholding)函数的符号软阈值(SoftThresholding)目前非常常见,文献【1】【2】最早提出了这个概念。软阈值公式的表达方式归纳起来常见的有三种,以下

    2022年8月1日
  • navicat 激活码[免费获取][通俗易懂]

    (navicat 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月20日
  • linux基础-linux和unix的区别[通俗易懂]

    linux基础-linux和unix的区别[通俗易懂]有时候我们对天天使用的Linux指令,只知道怎么用,却分不清概念用法区别,我觉得很有必要整理整理大家熟视无睹的一些linux概念区别。首先说说unix和linux的区别:linux和unix的最大的区

    2022年8月1日
  • 如何查看tomcat版本_tomcat修改端口号

    如何查看tomcat版本_tomcat修改端口号一、通过tomcat版本文件查看  找到tomcat目录,进入”xxx/tomcat/bin”目录,执行”shversion.sh”。如果没有设置JAVA_HOME和JRE_HOME环境变量则会报如下错误:[jieyu.ljy@tripco011182064160.na62xxx/tomcat/bin]$shversion.shNeithertheJAVA_HOMEn…

    2022年9月1日
  • stm32串口工作原理_rs232串口通信原理

    stm32串口工作原理_rs232串口通信原理STM32F1xx官方资料:《STM32中文参考手册V10》-第25章通用同步异步收发器(USART)通信接口背景知识设备之间通信的方式一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。它们的区别是:并、串行通信的区别 并行通信 串行通信 传输原理 数据各个位同时传输 数据按位顺序传输 优点 速度快 占用引脚资…

    2022年9月6日
  • windows程序设计第五版_程序设计中三种基本结构

    windows程序设计第五版_程序设计中三种基本结构WNDCLASS结构参数及其用法WNDCLASS是一个由系统支持的结构,用来储存某一类窗口的信息,如ClassStyle,消息处理函数,Icon,Cursor,背景Brush等。也就是说,CreateWindow只是将某个WNDCLASS定义的窗体变成实例。结构WNDCLASS包含一个窗口类的全部信息,也是Windows编程中使用的基本数据结构之一,应用程序通过定义一个窗口类确定窗口的属性基…

    2022年8月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号