`
yjhexy
  • 浏览: 331223 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

JAVA 机密机制初探(JCA)—— 概览

阅读更多

 

 

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

    JavaCore分析工具JCA36是一款专为Java开发者设计的强大性能分析工具,它提供了一个直观的图形用户界面(GUI),帮助开发者深入理解Java应用程序的运行状况。通过使用JCA36,用户可以轻松地捕获和分析Java虚拟机(JVM...

    IBM WEBSPHERE javacore分析工具jca

    本文将深入探讨IBM WebSphere中的JCA(Java Connector Architecture)与javacore分析之间的关联。 首先,JCA是Java平台的标准,用于集成企业信息系统(EIS)和Java应用程序。它为开发者提供了一种标准接口来访问和...

    was内存溢出 javacore分析工具jca 456

    本篇将详细探讨如何利用Javacore分析工具JCA 456来诊断和解决这类问题。 WebSphere是IBM推出的一款强大的Java应用程序服务器,它为开发和部署企业级应用提供了全面的平台。然而,在长时间运行或处理大量数据时,...

    websphere javacore 分析工具 jca412

    【标题】"Websphere Javacore 分析工具 JCA412"涉及的是IBM Websphere应用服务器中的一项核心诊断技术,Javacore,以及与Java连接器架构(JCA)相关的分析和故障排查。Javacore是IBM Websphere在遇到异常或系统崩溃...

    jca-分析javacore和dump.zip

    JCA(Java Composite Diagnostic Tools)是Oracle提供的一个强大工具,用于分析和诊断Java应用的问题,包括内存泄漏、性能瓶颈以及死锁等。在"jca-分析javacore和dump.zip"这个压缩包中,包含了一个名为"jca457.jar...

    jca javacore分析工具

    JCA(Java Core Analysis)工具就是用于解析和分析这些文件的专业软件。 1. **Java Core (javacore) 文件**: Java Core文件是由JVM生成的一种日志文件,记录了JVM在特定时刻的状态,包括线程堆栈信息、内存使用...

    was内存溢出 javacore分析工具jca 401

    标题中的“was内存溢出 javacore分析工具jca 401”指的是在WebSphere应用服务器(WAS)环境中,出现内存溢出问题时,使用名为JCA(Java Core Analysis)401的工具进行分析的情况。内存溢出是程序运行过程中,因分配...

    java的jca演示程序

    不懂jca的朋友可以来这看看,一个jca的演示程序,程序逻辑清晰

    IBM Thread and Monitor Dump Analyzer for Java (jca) 线程分析工具 jca456.jar

    IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar

    IBM Thread and Monitor Dump Analyzer for Java (jca) 线程分析工具 jca45

    IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar

    java线程堆栈分析工具jca457.jar

    java线程堆栈分析工具jca466.jar;堆内存分析工具Memory Analyzer;分析内存泄露产生的javacore文件,以便于定位blocked线程

    JCA433及JCA463

    Java Comprehensive Application (JCA) 是Java平台上的一个关键组件,主要用于在Java应用程序中集成企业级服务,例如消息传递、数据库连接等。标题提到的“JCA433及JCA463”可能是两个版本号,暗示这可能是一个用于...

    JCA练习 JCA练习

    JCA练习 JCA练习 JCA练习 JCA练习 JCA练习

    jca分析工具.zip

    Java Core Analysis (JCA) 工具是Java开发者在排查性能问题、监控应用程序或诊断线程问题时的重要辅助工具。这个名为"jca分析工具.zip"的压缩包包含了一个名为"jca433.jar"的文件,这很可能是JCA工具的一个版本,...

    jca433.jar

    《IBM的JCA433.jar:深入剖析Java内存与性能优化》 在Java应用程序的运行过程中,内存管理和性能优化是至关重要的环节。IBM推出的JCA433.jar工具,正是针对这一需求的专业分析工具,它能有效地帮助开发者理解和解决...

    jca15.zip-分析javacore日志

    2. **理解日志结构**:javacore日志由多个部分组成,包括JVM概览、线程堆栈跟踪、类加载信息、内存区域分配等。每个部分都为诊断提供了关键信息。 3. **识别问题迹象**:内存溢出通常会在堆分配、永久代或元空间...

    ha453和jca37

    javacore分析工具 jca37.zip IBM javacore分析工具 jca37.zip heapdump分析工具HeapAnalyzer heapdump分析工具------HeapAnalyzer: 2014年1月最新发布 用法: 在命令行执行 java -Xmx500m -jar ha453.jar

    Java实现常用加密算法——单向加密算法MD5和SHA

    Java作为广泛使用的编程语言,其安全体系架构为开发者提供了丰富的安全功能和API,以实现数据的加密和安全传输。Java的安全体系架构主要包括Java加密体系结构(JCA)和Java密码扩展(JCE),它们共同构成了Java平台...

    线程分析工具jca436.jar

    《IBM线程与监控堆分析器——jca436.jar深度解析》 在Java开发过程中,线程问题一直是困扰开发者的重要难题。死锁、线程挂死等问题可能导致应用程序性能下降,甚至出现系统崩溃。为了解决这些问题,IBM提供了一款...

    jca分析工具

    在实际操作中,还需要了解Java内存模型、线程同步机制以及垃圾收集的工作原理,这样才能更好地利用JCA工具进行诊断。此外,配合其他工具如JVisualVM、JProfiler等进行综合分析,可以获得更全面的问题视图。 总的来...

Global site tag (gtag.js) - Google Analytics