java调用加密机
㈠ 北京安软天地科技有限公司的企业产品
数字证书服务器(CA)
功能简介:
数字证书(即网络中的个人虚拟身份证)的发放和管理。
应用领域:
本系统所发放的数字证书用于各种应用系统的身份认证、操作的电子签名、数据的加密。
产品概述
产品是面向应用的CA系统,为应用提供基础的证书管理服务。面向应用的CA系统的主要目的是为这些用户在网络上进行业务活动时,对应用提供更安全的保障。
本系统有一个稳定的核心,一个良好的结构。提供多种接口,可以方便地扩展规模和功能。具有手工、批量、在线、离线等多种证书申请方式、支持IC卡、USB key、文件等多种证书保存介质,支持人工、WEB、目录服务器、邮件等多种证书发布方式、支持多种密钥生成方式等。
本系统由CA服务器、目录服务器、数据库服务器、硬件密码机、操作终端组成。
CA服务器负责证书的申请、签发、作废和管理。数据库服务器负责存放CA的数据、请求数据、证书和黑名单数据。操作终端提供证书申请的管理和日常操作,目录服务器用于发布证书和黑名单。
证书系统功能包括证书管理系统初始化、证书服务功能、证书管理功能、证书发布功能。
>使用方便,易于管理
所有数字证书的全生命周期的管理在本企业进行,可以根据业务需要进行随时的调整。
>良好的扩充性和开发接口
应用软件可以进行必要的开发,将证书管理系统和业务系统有机结合,方便适用和管理。
>用户取得数字证书方式灵活
有两种方式,一种是通过公共的CA中心或其他单位的CA中心取得证书,另一种是通过自建的CA系统取得证书。
>支持灵活定制
证书内容 ---- 自己建设证书管理系统,可以根据业务需要,定义证书的内容,灵活方便。
申请流程 ---- 自己建设证书管理系统,可以根据业务需要,定义证书申请流程、审查标准和需要的材料。不同的证书,有不同的流程和标准。否则,必须符合其他认证中心的要求和流程。
业务发展的适应性 ---- 自己建设证书管理系统,随着业务的发展,可以调整证书管理系统以适应发展。
行系统安全项目
本项目的安全方案是一个基于数字证书的、采用PKI技术进行身份认证和信息加密的系统安全方案。首先,在总行中心建立数字证书管理系统,负责为营业所操作员、二级运维中心的服务器和总行中心的服务器发放数字证书;然后在总行中心、二级运维中心、营业所分别配置各自的安全模块,这些安全模块负责完成身份认证、信息加密、数字签名等功能。
–中国建设银行
–中国农业发展银行
–中国移动通信集团公司
–商务部
–中央电视台
安全认证传输服务器(SSL VPN)
功能简介:
实现(远程专网、远程局域网或者因特网)安全访问应用服务器的功能。
应用领域:
对于各种需要远程访问的BS/CS服务,SSL VPN是首选的远程访问解决方案 。
产品概述
产品是一个纯应用层的SSL VPN设备,提供对应用服务器的保护、对通信的数据保密性、对通信双方的进行高强度的身份认证,对关键数据实现细粒度的访问控制。
产品支持各种复杂的基于B/S架构的应用,内部受保护的服务器可设置成只接收来自安全认证传输服务器的访问请求,保证服务器对外网不可见。支持各种复杂的基于C/S架构的应用,首先用户需要登录安全认证传输服务器,经过身份认证后,进入该用户的授权资源页,点击被授权可以访问的内部C/S服务器。
从安全性的角度出发,产品提供多因素身份认证方式,如证书认证、RADIUS认证、RSA Secure ID认证。产品内嵌有短信认证模块。
产品特性
>支持多种C/S应用功能
支持FTP/TELNET/ SSH/Microsoft TS/文件共享/MS Exchange,pop3,IMAP邮件服务器/远程遥控。
>独有“e-Translating Engine”技术,适应各种复杂WEB应用
针对各种复杂的基于WEB的应用,研发了独有的“e-Translating Engine”技术,该转译引擎使得产品能够适应各种复杂的网络应用。
>完全隔离病毒、蠕虫和木马,确保应用服务器安全
产品由于是完全在应用层传输数据,网络并未相通,确保病毒、蠕虫、木马无法攻击应用服务器,确保应用服务器的安全。
>采用SSL VPN“Speed Gate”加速技术
为了保护网络的高效率,采用了加速技术,最大限度地消除网络传输瓶颈。
>针对URL授权的更高的访问权限控制
与传统的远程访问不同,VPN提供对远程访问更加细颗粒度的权限控管,对于远程用户的访问权限控制甚至可以细化到内网中的一个URL地址或一个实例。
>远程终端痕迹清除技术(Cookies Auto Clean)
远程终端仅使用浏览器及动态运行java JVM,当用户退出该应用或关闭浏览器后,Session将被清除,在远程终端不会留下任何用户痕迹。
> 强大的日志审计技术
通过安全认证传输服务器的系统管理平台,企业可以记录包括用户名、主机名、客户端的IP地址、session的开始/结束时间、session使用时间以及session的类型。
电子印章服务器(ESS)
功能简介:
实现在表单,WORD/EXCEL中的签章;手写批注,确保交易和操作的不可否认性和不可抵赖性。是电子签名的可视化,更符合中国人的文化传统。
应用领域:
在各种应用系统中实现对表单、文件的电子签名,实现操作的可追溯。
产品概述
SCA-ESS是一整套电子签名解决方案,采用电子签名技术在电子文档和电子表单上实现电子印章和手写签名。这是一套安全、实用系统,完美实现无纸化交易和操作,有效提高了业务效率。
SCA-ESS由签章客户端、印章服务器。
签章客户端实现电子盖章、文档手写、会签保护、印章雾化、文档打印控制、文档读写控制。以ActiveX组件实体存在,提供丰富的开发接口与应用平台整合,支持包括C++、Java、VC、VB、C#、Delphi、ASP、.Net、PHP等各种开发语言。签章客户端支持Word、Excel、WPS、PDF、CAD、永中Office、AIP安全文档。
印章服务器包括印章管理、印模管理、印章权限管理、盖章日志管理、文档打印管理。数据库支持目前所有常用的关系型数据库。
产品特性
>骑缝章
骑缝章即在多页的文档上加盖印章,每一页有印章的一部分,多页组合为一个完整的印章,可以实现类似合同的多页骑缝。
>手写签批
电子印章系统支持在文档正文和表单上实现手写签批,电子印章系统手写效果完美,手写笔迹锐化细柔。
>安全文档
电子印章系统支持多级安全控制,包括密码控制、证书控制、用户控制、打印控制。
电子签名中间件服务器(TS)
功能简介:
实现电子签名,确保交易和操作的不可否认性和不可抵赖性。
应用领域:
在各种应用系统中实现对表单、文件的电子签名,实现出现问题后原始操作的可追溯。
产品概述
电子签名中间件是采用PKI技术的安全产品,PKI很容易满足对数据完整性、防篡改、防抵赖、数据私密性和身份认证这些安全要求。
数字签名能够保证网上交易数据的完整性和可信性,是电子签名中间件的主要功能。电子签名中间件可以提供用户签名、服务器签名和相互验证对方数字签名的能力。一般,用户使用USB Key电子钥匙内的密码算法进行数字签名,服务器端采用加密机或加密卡内的密码算法进行数字签名。电子签名中间件的数字签名采用标准的PKCS7格式,可以供第三方的验证程序验证。
从图中可见,电子签名中间件由电子签名中间件服务器和电子签名中间件 用户端程序(包括IE插件、签名验证工具和用户证书)组成。另外需要一个证书管理系统为电子签名中间件的签发数字证书。
产品特性
> 审计功能
电子签名中间件在验证对方签名的同时,可以将签名数据保存,并可以方便查询和验证。
> 信息加密
电子签名中间件不但具有签名的能力,也可以将发送的数据用接收方的证书进行非对称加密。这样保证既保证了信息的完整性和不可否认性,也保证了数据的私密性。
>双向保证
电子签名中间件在用户端和服务器端都具备签名/验证、加密解密和审计的能力。因此,电子签名中间件可以保护整个交易过程中交易双方的安全性。
> 数据感知
电子签名中间件在进行用户端的数字签名时,应用系统可以根据网页中的数据敏感程度,定义“安全区域”,电子签名中间件只对“安全区域”中的数据进行保护,避免对无用数据进行的签名加密等操作,提高了签名的效率。
> 全文保护
电子签名中间件在对“安全区域”进行保护时,不是仅仅保护其中的表单数据,而是将“安全区域”中的全部信息进行保护,包括非表单数据的信息,比如数量单位,附加条款等。
> 易于集成
将电子签名中间件集成到一个应用系统中是很简单的,仅需要几行代码就可以使一个应用系统享用电子签名中间件提供的安全特性。
应用安全服务平台(ASP)
功能简介:
使用安全支持平台,可以使企业建立统一的应用安全模型、统一的应用安全策略和统一的应用安全服务机制。
应用领域:
需要使用PKI的机制来加强安全性应用平台、网络平台,以及最终用户应用环境。
产品概述
本平台是综合性的信息安全平台,解决身份真实性、数据保密性、交易不可抵赖性问题。
为应用软件使用PKI技术提供支持,使应用软件的不必负责复杂的PKI技术和相关处理,包括密钥管理和协商、加密解密、签名验证、证书编码解码、证书验证、算法调用等。只需要确定使用的安全策略和简单的API调用,就可以在应用系统中使用PKI技术,从而实现应用系统的机密性、完整性、身份认证和防抵赖。
产品可以为应用系统提供多种安全应用模式和不同封装层次的安全开发接口,向下提供统一的密码算法接口以及各种加密机、加密卡、智能卡等硬件密码设备的调用接口。
· 遵循最新的国际标准:IETF PKIX、RSA PKCS、ITU X.509、IETF LDAP、SSL/TLS、SET等;
· 使用1024bit以上的公钥算法和128bit的对称算法,是真正的强安全性产品;
· 使用硬件密码设备(加密机、智能卡),保证算法和密钥的极高安全性;
· 可颁发互联网应用流行的智能卡/USBKey证书,进行安全的电子交易;
· 可提供ActiveX控件、C/C++库、Java包等二次开发软件包;
· 高度模块化,可根据安全需求灵活组态;
· 支持主流的UNIX及Windows NT/2000系列操作系统。
㈡ jasypt mybatis吗
jasypt既然是以简单的方式来解决java开发中的加密问题,自然使用起来难度不是很大。加密是从系统安全性方面考虑的,因此jasypt更像是面向方面的解决办法,不管你的系统中配置文件,敏感信息是否已经加密或者没有加密,jasypt都能够轻松的嵌入其中,开发人员就不用专门考虑加密算法和代码的编写。
要想深入了解jasypt是如何将加密解密和摘要算法组织起来,轻松的解决开发中加密问题以及和第三方组件集成,查看它的源代码是不错的选择。
下面主要说说如何在Spring框架中如何轻松使用jasypt。(下面的加密机是对jasypt中的加密解密,摘要算法的统称)
第一种方式:以bean的形式将加密机(即:加密类的实例对象)交给Spring托管
第二种方式:以配置XML的形式将加密机与Spring集成。
第一种方式:
1.托管一个StandardPBEStringEncryptor加密机
<!-- 加密机 -->
<bean id="strongEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="algorithm">
<value>PBEWithMD5AndTripleDES</value>
</property>
<property name="password">
<value>${user.home}</value>
</property>
</bean>
这里的属性"password"的值为系统属性的值,实际开发中在对某一个数据进行加密的时候这个password是要进行记录的,如果password在这里设置之后将默认提供了一个password的取值。
其它的属性设置可以参见: http://aiilive.blog.51cto.com/1925756/1420837 这篇文章中关于jasypt命令行工具的介绍。
在程序中使用strongEncrypt加密机对象:
@Test
public void test1() {
StandardPBEStringEncryptor spe = (StandardPBEStringEncryptor) context
.getBean("strongEncryptor");
String src = "admin@123";
String encrypt = spe.encrypt(src);
System.out.println("src=\'#\'" //加密解密
Assert.assertEquals(decrypt, src);
}
2.托管一个StandardStringDigester加密机
<!-- 摘要算法 -->
<bean id="digestEncryptor" class="org.jasypt.digest.StandardStringDigester">
<property name="algorithm">
<value>MD5</value>
</property>
</bean>
在程序中使用digestEncryptor加密机对象
@Test
public void test7() {
StandardStringDigester ssd = (StandardStringDigester) context
.getBean("digestEncryptor");
String rs1 = ssd.digest("admin");
String rs2 = ssd.digest("admin");
System.out.println(rs1 + " [vs] " + rs2);
//判断是否匹配
Assert.assertTrue(ssd.matches("admin", rs1));
}
StrandardStringDigester类提供了matches方法用来检测原始数据和进行摘要计算后的数据是否匹配。
1,2介绍了数据的处理,下面3讲介绍使用jasypt对配置文件进行处理.
3.使用jasypt对配置文件进行处理
比如数据库连接的属性值一般要进行加密处理,然后在程序运行时对其进行解密连接数据库,这样就保证了在程序代码已经配置中数据库的连接相关敏感数据不至于明文暴露。
jasypt是如何处理这一过程的呢?
首先,配置环境变量(这里指用来加解密的环境),
然后,通过环境变量来装载加密机,
最后,使用jasypt对Spring的org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类的子类来配置属性文件替换配置。
下面是具体的配置信息:
<!-- 基于环境变量,配置加密机 -->
<bean id=""
class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<!-- <property name="passwordEnvName" value=""/> -->
<!-- <property name="passwordSysPropertyName" value=""></property> -->
<property name="password" value="sa" />
</bean>
<!-- 配置加密器,将用于解密 -->
<bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="" />
</bean>
<!-- 外部属性文件配置 -->
<bean id="propertyConfigurer"
class="org.jasypt.spring31.properties.">
<constructor-arg ref="configurationEncryptor" />
<property name="locations">
<list>
<value>classpath:db.properties</value>
</list>
</property>
</bean>
<!--数据源配置, jasypt的将确保${dataSource.password}是解密 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${dataSource.driver}</value>
</property>
<property name="url">
<value>${dataSource.url}</value>
</property>
<property name="username">
<value>${dataSource.username}</value>
</property>
<property name="password">
<value>${dataSource.password}</value>
</property>
</bean>
说明:
EnvironmentStringPBEConfig 中的属性
passwordEnvName, passwordSysPropertyName,password
三者的区别是:
passwordEnvName的值直接设置为环境变量,比如value="APP_PASSWORD", APP_PASSWORD则是系统环境变量,在实际生产环境中建议使用这个属性,具体使用步骤如:配置环境变量APP_PASSWORD --> 启动应用程序 --> 应用程序启动完成 --> 删除环境变量APP_PASSWORD。
passwordSysPropertyName的值就是用 System.getProperties() 获取的属性值,比如:value="${user.home}"
password和使用jasypt命令行工具时的password参数用法一致。
属性配置文件加密
dataSource.driver=org.postgresql.Driver
dataSource.url=jdbc:postgresql://localhost:5432/dbname
dataSource.username=postgres
#dataSource.password=postgres
dataSource.password=ENC()
这里将password的加密结果放置在ENC(机密结果)中,注意这样的写法是jasypt的规定,可以查看源代码,在解密过程中会根据这个标志对属性配置文件中的加密数据进行解密。
属性配置文件中的机密结果产生则需要用jasypt的命令行工具(具体使用可以参见:http://aiilive.blog.51cto.com/1925756/1420837 ),这里要注意的是加密过程中的算法,password参数值需要和Spring配置文件中的(bean)的属性取值保持一致。
数据源中使用属性配置信息中的值
以前Spring中怎么使用,现在就怎么使用。
jasypt和Spring集成的依赖
jasypt.jar+jasypt-springx-x.jar , x表示一些版本信息。
第二种方式
第一种方式将jasypt中的类作为bean的形式在Spring中应用,第二种方式则更加强大,有独立的XML配置命名空间,更像是Spring的一部分。
首先需要在Spring的配置文件中添加jasypt的命名空间。
配置完成jasypt的命名空间就可以在Spring的配置文件中直接进行加密机,加密机参数配置,下面是一个示例:
<!-- 基本的密码加密机 -->
<encryption:basic-password-encryptor id="bpe" scope="singleton" />
<!-- 摘要配置 -->
<encryption:digester-config id="digester-config" algorithm="SHA-256" algorithm-env-name=""/>
<!-- 字符串摘要机 -->
<encryption:string-digester id="sd" algorithm="MD5" config-bean="digester-config"/>
<!-- 加密机配置 -->
<encryption:encryptor-config id="encryptor-config" algorithm="PBEWITHMD5ANDTRIPLEDES"/>
<!-- 字符串加密机 -->
<encryption:string-encryptor id="se" algorithm="PBEWITHMD5ANDDES" config-bean="encryptor-config"/>
<!-- 加密的属性占位符 -->
<encryption:encryptable-property-placeholder encryptor="se" location="classpath:db.properties"/>
第二种方式同样可以实现方式一中的功能。
通过介绍了jasypt和Spring集成的两种方式可以看出使用jasypt能够比较轻松自定义加密的参数,配置文件的加解密,整个过程对于应用程序的代码侵入性是很小的,可以在程序中使用jasypt提供的加密算法和方法来实现对需要加密的数据进行处理。
此外jasypt与Hibernate集成则以一个完全对程序逻辑透明的方式可以在ORM映射中对数据进行加解密。
最后jasypt也是开放的,它开放了JCE Provider API,允许开发者使用任何存在的JCE Provider在jasypt中进行消息摘要和加密处理。
㈢ 卫士通加密机怎么样实现3des加解密
最近一个合作商提出使用3DES交换数据,本来他们有现成的代码,可惜只有。net版本,我们的服务器都是Linux,而且应用都是Java。于是对照他们提供的代码改了一个Java的版本出来,主要是不熟悉3DES,折腾了一天,终于搞定。
所谓3DES,就是把DES做三次,当然不是简单地DES DES DES就行了,中途有些特定的排列。这个我可不关心,呵呵,我的目的是使用它。
在网上搜索了一下3DES,找到很少资料。经过朋友介绍,找到GNU Crypto和Bouncy Castle两个Java扩充包,里面应该有3DES的实现吧。
㈣ java 解析xml重要吗 在工作中用的多吗 面试时会不会问到
xml在Java编程中还是挺重要的,不过一般的面试官不会问这类的问题,面试官考核的还是看个人的逻辑能力,xml的编程是需要在实际过程中实践的。
当然不同的面试官问的问题也不一样,这个不能一概而论。
望采纳~~
㈤ 加密机调用异常怎么回事
根据您提供的信息,可能是由于POS机问题、线路问题、特定商户或者是通讯问题等等导致了卡片无法刷卡。
若您卡片状态等都正常且额度足够但无法刷卡,建议您此笔交易通过其他方式支付哦。
㈥ java中的private static class是什么意思有什么用谢谢
定义一个私有的静态内部类。。。。。
比如有一个功能模块 class A{}
这个模块里,因为功能需要,需要一个更小的,功能单一的小模块。
并且这个模块是不需要实体化的,例如这个模块的功能是字符串加密机。
是那种,拿来就能用的,直接取返回值,所以定义为静态的。
因为是加密机,尽量不让其他模块访问这个功能,就可以这么定义为私有的。
可以向下面这样:
putlic calss A{
private static class A_a{
static String tat(String s){……}
}
}
类A里面有一个私有的静态类A_a,
内部静态类A_a里面有一个静态的方法tat。
比如这是个字符串加密算法。想吧"abc"加密,就这么用:String t = A_a.tat("abc");
字符串t就是加密过的“abc”了。当然这东西只能在A类里面使用。外面是访问不到的。
㈦ java private static有什么实际意义
定义一个私有的静态内部类
比如有一个功能模块 class A{}
这个模块里,因为功能需要,需要一个更小的,功能单一的小模块。
并且这个模块是不需要实体化的,例如这个模块的功能是字符串加密机。
是那种,拿来就能用的,直接取返回值,所以定义为静态的。
因为是加密机,尽量不让其他模块访问这个功能,就可以这么定义为私有的。
可以向下面这样:
putlic calss A{
private static class A_a{
static String tat(String s){……}
}
}
类A里面有一个私有的静态类A_a,
内部静态类A_a里面有一个静态的方法tat。
比如这是个字符串加密算法。想吧"abc"加密,就这么用:String t = A_a.tat("abc");
字符串t就是加密过的“abc”了。当然这东西只能在A类里面使用。外面是访问不到的。
㈧ java 使用minasocket 访问加密机 怎么加密 怎么读取返回的数据
如果是密码之类的注册后加密。那么登陆的时候用同样的加密算法加密一次。两者就是一样的了。但是你如果想加密后得到原文。那你必须有对应的解密算法!
㈨ (java加密解密)如何实现JCE接口的各种算法
关于如何去实现Provider,官方文档中有详细的说明。
请参照:http://download.oracle.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html#Steps
㈩ 平安银行信用卡付款时显示。。调用加密机加密失败:系统异常是怎么回事
根据您提供的信息,可能是由于POS机问题、线路问题、特定商户或者是通讯问题等等导致了卡片无法刷卡。若您卡片状态等都正常且额度足够但无法刷卡,建议您此笔交易通过其他方式支付哦。
目前我们已开通微信服务,您可关注平安信用卡官方微信,信息即可一手掌握!