• Java安全架构 JCA、JCE、JSSE、JAAS


     

    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平台支持安装实现此类服务的自定义提供程序。

  • 相关阅读:
    .NET MAUI in Mac
    Python在地球科学领域中的数据处理、科学计算、数学建模、数据挖掘和数据可视化
    如何实现Spring中服务关闭时对象销毁执行代码
    关于Error EPERM operation not permitted, mkdir...几种解决办法的比较
    7天免登录和加入购物车逻辑
    Django学习日志10
    Python进阶(三)-图形界面编程Tkinter(3)
    一款mysql审计日志自动轮转自动清理工具:mysql-audit-extend
    〖Python网络爬虫实战㊲〗- JavaScript 逆向实战(一)
    Java框架详解3——Spring的存入对象和取出
  • 原文地址:https://blog.csdn.net/qq827245563/article/details/134265694