2007-07-15

c#调用SSL

关键字: c# ssl
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); X509Certificate2Collection certs = X509Certificate2UI.SelectFromCollection(store.Certificates, "Certificates", "Please select certificate to use", X509SelectionFla ...
2007-07-15

C#访问WebService(with SSL)

关键字: c# SSL webservice
使用 add Web Reference添加 web service。 导入 System.Security 代码: using System.Security.Cryptography.X509Certificates; using System.Net; using System.Security.Authentication; using System.Net.Security; using WebServiceWithSSL.localhost; X509Store store = new X509Store(StoreName.My, StoreLocation. ...
2007-07-03

PKI 算法

关键字: PKI Algorithm
数字签名:  MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。  SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;  DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准); 非对称加密:  RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;  ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。 对称加密:  ...
2007-06-03

使用java从证书中读取私钥

关键字: 证书 私钥 公钥
读取公钥可以使用JAVA本身的类即可。 读取私钥可以使用http://www.bouncycastle.org提供的类。 import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.security.InvalidKeyException; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlg ...
2007-06-02

签名,验证签名

关键字: Java 签名
对数据使用私钥进行签名。 然后使用公钥验证签名。 import java.security.InvalidKeyException; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.Signature; import java.security.SignatureException; public class Sign { private stati ...
PKCS是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。到1999年底,PKCS已经公布了以下标准: PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。 PKCS#3:定义Diffie-Hellman密钥交换协议[23]。 PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一 ...
2007-06-01

PKCS#7-1 (转)

关键字: pkcs
PKCS#7,也叫做加密消息的语法标准,由RSA安全体系在公钥加密系统中交换数字证书产生的一种加密标准。 概述 PKCS#7描述数字证书的语法和其他加密消息——尤其是,数据加密和数字签名的方法,也包含了算法。当使用PKCS#7进行数字签名时,结果包含签名证书(一列相关证书撤回列表)和已证明路径上任何其他证书。如果使用PKCS#7加密数据,通常包含发行者的参考消息和证书的序列号,它与用于解密已加密数据的公共密钥相关。 PKCS#7也支持另外一些特征,如: ·递归,在一个数字信封上附上一个数字信封,还可再附上一个数字信封,如此等等。 ·加密消息和数字签名的时间标记。 ·签名计数和用户定义属性。 实 ...
2007-05-15

对DN进行分解。

关键字: 数字证书
String cns[] = "c=cn, ou=comp,dc=a,dc=b, l=\"da lian\",st=hi".split(",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))");
2007-05-14

EJBCA 翻译

关键字: EJBCA
不错的,完全java实现。 如果不用ejb多好啊! 据说由于模型太过复杂。 很多人望而却步。 -------------------------------- 想翻译ejbca的使用说明manual.xml。 不知能否完成。 现在完成10%! --------------------------- User guide EJBCA is a fully functional Certificate Authority built in Java. Based on J2EE technology it constitutes a robust, high performan ...
2007-01-30

RSA算法基础->实践

关键字: RSA
RSA算法基础->实践 <一>基础 RSA算法非常简单,概述如下: 找两素数p和q 取n=p*q 取t=(p-1)*(q-1) 取任何一个数e,要求满足e取d*e%t==1 这样最终得到三个数: n d e 设消息为数M (M 设c=(M**d)%n就得到了加密后的消息c 设m=(c**e)%n则 m == M,从而完成对c的解密。 注:**表示次方,上面两式中的d和e可以互换。 在对称加密中: n d两个数构成公钥,可以告诉别人; n e两个数构成私钥,e自己保留,不让任何人知道。 给别人发送的信息使用e加密,只要别人能用d解开就证明信息是由你发送的,构成了签名机制。 ...