Java语言拥有三大特征:平台无关性、网络移动性和安全性,而Java安全体系结构对这三大特征提供了强大的支持和保证,

Java安全体系结构总共分为4个部分:

(1)JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。

(2)JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上作了扩展, 提供了各种加密算法、 消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中

(3)JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程中, 信息会经过多个主机(很有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。

(4)JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。

JCA和JCE是Java平台提供的用于安全和加密服务的两组API。它们并不执行任何算法,它们只是连接应用和实际算法实现程序的一组接口。 软件开发商可以根据JCE接口( 又称安全提供者接口) 将各种算法实现后,打包成一个Provider( 安全提供者) , 动态地加载到Java运行环境中。
根据美国出口限制规定, JCA可出口, 但JCE对部分国家是限制出口的。 因此, 要实现一个完整的安全结构,
就需要一个或多个第三方厂商提供的JCE产品, 称为安全提供者。 BouncyCastle JCE就是其中的一个安全提供
者。

JCA( Java Cryptography Architecture, Java加密体系结构)围绕以下原则设计:

  • 实现独立性:应用程序不需要实现安全算法。相反,他们可以从Java平台请求安全服务。安全服务在提供程序中实现,它们通过标准接口插入Java平台。应用程序可能依赖多个独立提供程序来实现安全功能。

  • 实现互操作性:提供程序可跨应用程序进行互操作。具体而言,应用程序未绑定到特定提供程序,并且提供程序未绑定到特定应用程序。

  • 算法可扩展性:Java平台包括许多内置提供程序,这些提供程序实现了当今广泛使用的基本安全服务集。但是,某些应用程序可能依赖于尚未实施的新兴标准或专有服务。Java平台支持安装实现此类服务的自定义提供程序。

在java加解密中,除了jdk自带的外,另外两个主要的加解密算法的提供者为bouncy castle和apache common codec,它们提供了额外的算法以及在JDK基础上提高了易用性。

参考:

Java安全架构概览 https://blog.csdn.net/u012741741/article/details/79206758
Java加密体系结构(JCA)参考指南  https://blog.csdn.net/u012741741/article/details/79209984

java安全体系:JCA、JCE、JSSE、JAAS相关推荐

  1. Java技术体系大全,准备面试的可以参考一下!

    2019独角兽企业重金招聘Python工程师标准>>> 1. JAVA技术体系1.1 Java程序员 ·高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变参数.可变返回类型. ...

  2. java cryptography_Java密码体系结构简介:Java Cryptography Architecture (JCA) Reference Guide...

    来自Java官方的文档,作备忘使用. 简介: Java平台非常强调安全性,包括语言安全,密码学,公钥基础设施,认证,安全通信和访问控制. JCA是平台的一个主要部分,包含一个"提供者&quo ...

  3. java加密框架_Java加密解密(一)Java加密体系基础

    标签: Java加密解密(一)Java加密体系基础 1. JCA(Java Cryptography Architecture) 提供基本的加密框架,如证书,数字签名,消息摘要和密钥对生成器.其主要实 ...

  4. java jsse ssl 调试_使用Java安全Socket扩展包(JSSE)实现SSL

    使用Java安全Socket扩展包(JSSE)实现SSL 林琪;卢昱 [期刊名称]<装备学院学报> [年(卷),期]2002(013)003 [摘要]SSL是安全应用中一个非常重要的协议, ...

  5. Java加密体系-java.security包

    一.JCA/ JCE JCA(Java Cryptography Architecture) 是Java体系结构,提供了基本Java加密框架,比如证书.数字签名.消息摘要.秘钥对生成器等,在java. ...

  6. Java日志体系权威总结

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:http://r6d.cn/MSaE 概要 本文的目 ...

  7. Java架构体系学习路线图,这六点尤为重要!

    Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...

  8. Java日志体系总结

    概要 本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用.依赖,好让我们平时在工作中如果遇到"日志打不出"或者"日志jar包冲突"等之类的问题 ...

  9. 深入Java调试体系之JDWP协议及实现

    为什么80%的码农都做不了架构师?>>>    此内容是该系列 4 部分中的第 3 部分: 深入 Java 调试体系 第 1 部分: JPDA 体系概览 第 2 部分: JVMTI ...

  10. Java 类加载体系之 ClassLoader 双亲委托机制

    Java 类加载体系之 ClassLoader 双亲委托机制 java 是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件 ...

最新文章

  1. Windows server 2008普通用户不能远程登录问题
  2. 阿里一面:如何保障消息100%投递成功、消息幂等性?
  3. linux脚本编程(shell)浅介
  4. powerbi的功能介绍_Power BI:1分钟快速生成可视化报表
  5. jQuery.html()方法ie下不能设置html代码的问题
  6. 【STM32】HAL库 STM32CubeMX教程六----定时器中断
  7. 隋朝之前,扬州指的是现在的南京
  8. 用python计算工程量_基于Python脚本程序的电缆工程量快速统计方法与流程
  9. adb连接手机显示:List of devices attached
  10. JavaWeb过滤器分类
  11. 华为手机最大屏是几英寸的_华为有史以来最大屏幕的手机,屏幕尺寸高达7.12寸,性价比很好!...
  12. python画卡通兔子_卡通兔子的建模教程(完成整个图形曲面的创建)
  13. 数据库自增 ID 用完了会咋样?
  14. EAUML日拱一卒-多任务编程超入门-(14)麻雀虽小,五脏俱全
  15. 汉堡式折叠html,纯CSS3菜单汉堡包按钮变形动画特效
  16. Mysql5.1大表分区效率测试
  17. 关于分钻石的数学题有五个海盗得到了一百颗的钻石
  18. 局域网win7计算机如何互访,局域网Win7与WinXP电脑不能互访怎么办?
  19. 计算机系统结构相关的论文,计算机系统结构毕业论文题目.doc
  20. java 处理unicode_[转]Java的Unicode编码转化(多种情况处理方法)

热门文章

  1. 你的颜值打几分?——基于tensorflow实现人脸打分模型
  2. 【爱课程-精品通选系列课程】哲学智慧与人文思想
  3. 计算机只存在于计算机硬盘上,计算机病毒只存在于计算机硬盘上。
  4. PMP VS MBA:为什么我劝你别浪费钱读MBA
  5. 座位预约php,座位预约系统使用指南
  6. css cubic-bezier,CSS3 cubic-bezier 函数功能演示
  7. 学习笔记 | 零基础平面设计入门
  8. WEB在线客服系统(websocket+Golang)
  9. @ConfigurationProperties(prefix = )异常报错解决方案:
  10. win10截图软件工具