java中安全服务都是从java.security.Provider类中的类似MessageDigestSpi 的子类提供的.
XXXSpi是抽象父类:
比如如下代码:
MessageDigest md = MessageDigest.getInstance("MD5"); // JCA的算法名是大小写不敏感的。 |
java运行的时候会按照如下图的模型去找ProviderA,中的MD5实现,
provierA 找不到再去找providerB中的实现。
而ProviderA 还是ProviderC 是Java\jre1.5.0_16\lib\security文件中定义的:(可以到JDK目录下面去搜索出来,JAVA按照此文件中定义的provider顺序进行查找)
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
当然我们也可以实现自己的Provider。或者用不是SUN提供的第三方的Provider。
MessageDigest md = MessageDigest.getInstance("MD5", "ProviderC"); |
类图如下:
SUN提供的每个provider里面的已经实现了的算法实现 见:
http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html#SUNProvider
============================== 大致类描述表 ===============================
Table 1 Key Java security packages and classes
Package
|
Class/Interface Name
|
Usage
|
com.sun.security.auth.module
|
JndiLoginModule
|
Performs username/password authentication using LDAP or NIS database
|
KeyStoreLoginModule
|
Performs authentication based on key store login
|
Krb5LoginModule
|
Performs authentication using Kerberos protocols
|
java.lang
|
SecurityException
|
Indicates a security violation
|
SecurityManager
|
Mediates all access control decisions
|
System
|
Installs the SecurityManager
|
java.security
|
AccessController
|
Called by default implementation of SecurityManager to make access control decisions
|
Key
|
Represents a cryptographic key
|
KeyStore
|
Represents a repository of keys and trusted certificates
|
MessageDigest
|
Represents a message digest
|
Permission
|
Represents access to a particular resource
|
Policy
|
Encapsulates the security policy
|
Provider
|
Encapsulates security service implementations
|
Security
|
Manages security providers and security properties
|
Signature
|
Creates and verifies digital signatures
|
java.security.cert
|
Certificate
|
Represents a public key certificate
|
CertStore
|
Represents a repository of unrelated and typically untrusted certificates
|
javax.crypto
|
Cipher
|
Performs encryption and decryption
|
KeyAgreement
|
Performs a key exchange
|
javax.net.ssl
|
KeyManager
|
Manages keys used to perform SSL/TLS authentication
|
SSLEngine
|
Produces/consumes SSL/TLS packets, allowing the application freedom to choose a transport mechanism
|
SSLSocket
|
Represents a network socket that encapsulates SSL/TLS support on top of a normal stream socket
|
TrustManager
|
Makes decisions about who to trust in SSL/TLS interactions (for example, based on trusted certificates in key stores)
|
javax.security.auth
|
Subject
|
Represents a user
|
javax.security.auth.kerberos
|
KerberosPrincipal
|
Represents a Kerberos principal
|
KerberosTicket
|
Represents a Kerberos ticket
|
javax.security.auth.login
|
LoginContext
|
Supports pluggable authentication
|
javax.security.auth.spi
|
LoginModule
|
Implements a specific authentication mechanism
|
javax.security.sasl
|
Sasl
|
Creates SaslClient and SaslServer objects
|
SaslClient
|
Performs SASL authentication as a client
|
SaslServer
|
Performs SASL authentication as a server
|
org.ietf.jgss
|
GSSContext
|
Encapsulates a GSS-API security context and provides the security services available via the context
|
- 大小: 62.3 KB
- 大小: 326.4 KB
- 大小: 76.7 KB
分享到:
相关推荐
JavaCore分析工具JCA36是一款专为Java开发者设计的强大性能分析工具,它提供了一个直观的图形用户界面(GUI),帮助开发者深入理解Java应用程序的运行状况。通过使用JCA36,用户可以轻松地捕获和分析Java虚拟机(JVM...
本文将深入探讨IBM WebSphere中的JCA(Java Connector Architecture)与javacore分析之间的关联。 首先,JCA是Java平台的标准,用于集成企业信息系统(EIS)和Java应用程序。它为开发者提供了一种标准接口来访问和...
本篇将详细探讨如何利用Javacore分析工具JCA 456来诊断和解决这类问题。 WebSphere是IBM推出的一款强大的Java应用程序服务器,它为开发和部署企业级应用提供了全面的平台。然而,在长时间运行或处理大量数据时,...
【标题】"Websphere Javacore 分析工具 JCA412"涉及的是IBM Websphere应用服务器中的一项核心诊断技术,Javacore,以及与Java连接器架构(JCA)相关的分析和故障排查。Javacore是IBM Websphere在遇到异常或系统崩溃...
JCA(Java Composite Diagnostic Tools)是Oracle提供的一个强大工具,用于分析和诊断Java应用的问题,包括内存泄漏、性能瓶颈以及死锁等。在"jca-分析javacore和dump.zip"这个压缩包中,包含了一个名为"jca457.jar...
JCA(Java Core Analysis)工具就是用于解析和分析这些文件的专业软件。 1. **Java Core (javacore) 文件**: Java Core文件是由JVM生成的一种日志文件,记录了JVM在特定时刻的状态,包括线程堆栈信息、内存使用...
标题中的“was内存溢出 javacore分析工具jca 401”指的是在WebSphere应用服务器(WAS)环境中,出现内存溢出问题时,使用名为JCA(Java Core Analysis)401的工具进行分析的情况。内存溢出是程序运行过程中,因分配...
不懂jca的朋友可以来这看看,一个jca的演示程序,程序逻辑清晰
IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar
IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar
java线程堆栈分析工具jca466.jar;堆内存分析工具Memory Analyzer;分析内存泄露产生的javacore文件,以便于定位blocked线程
Java Comprehensive Application (JCA) 是Java平台上的一个关键组件,主要用于在Java应用程序中集成企业级服务,例如消息传递、数据库连接等。标题提到的“JCA433及JCA463”可能是两个版本号,暗示这可能是一个用于...
JCA练习 JCA练习 JCA练习 JCA练习 JCA练习
Java Core Analysis (JCA) 工具是Java开发者在排查性能问题、监控应用程序或诊断线程问题时的重要辅助工具。这个名为"jca分析工具.zip"的压缩包包含了一个名为"jca433.jar"的文件,这很可能是JCA工具的一个版本,...
《IBM的JCA433.jar:深入剖析Java内存与性能优化》 在Java应用程序的运行过程中,内存管理和性能优化是至关重要的环节。IBM推出的JCA433.jar工具,正是针对这一需求的专业分析工具,它能有效地帮助开发者理解和解决...
2. **理解日志结构**:javacore日志由多个部分组成,包括JVM概览、线程堆栈跟踪、类加载信息、内存区域分配等。每个部分都为诊断提供了关键信息。 3. **识别问题迹象**:内存溢出通常会在堆分配、永久代或元空间...
javacore分析工具 jca37.zip IBM javacore分析工具 jca37.zip heapdump分析工具HeapAnalyzer heapdump分析工具------HeapAnalyzer: 2014年1月最新发布 用法: 在命令行执行 java -Xmx500m -jar ha453.jar
Java作为广泛使用的编程语言,其安全体系架构为开发者提供了丰富的安全功能和API,以实现数据的加密和安全传输。Java的安全体系架构主要包括Java加密体系结构(JCA)和Java密码扩展(JCE),它们共同构成了Java平台...
《IBM线程与监控堆分析器——jca436.jar深度解析》 在Java开发过程中,线程问题一直是困扰开发者的重要难题。死锁、线程挂死等问题可能导致应用程序性能下降,甚至出现系统崩溃。为了解决这些问题,IBM提供了一款...
在实际操作中,还需要了解Java内存模型、线程同步机制以及垃圾收集的工作原理,这样才能更好地利用JCA工具进行诊断。此外,配合其他工具如JVisualVM、JProfiler等进行综合分析,可以获得更全面的问题视图。 总的来...