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 ...
使用 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. ...
数字签名:
MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。
SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
非对称加密:
RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
对称加密:
...
读取公钥可以使用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 ...
对数据使用私钥进行签名。
然后使用公钥验证签名。
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模式加密。主要用于加密从一个计算机传送到另一 ...
PKCS#7,也叫做加密消息的语法标准,由RSA安全体系在公钥加密系统中交换数字证书产生的一种加密标准。
概述
PKCS#7描述数字证书的语法和其他加密消息——尤其是,数据加密和数字签名的方法,也包含了算法。当使用PKCS#7进行数字签名时,结果包含签名证书(一列相关证书撤回列表)和已证明路径上任何其他证书。如果使用PKCS#7加密数据,通常包含发行者的参考消息和证书的序列号,它与用于解密已加密数据的公共密钥相关。
PKCS#7也支持另外一些特征,如:
·递归,在一个数字信封上附上一个数字信封,还可再附上一个数字信封,如此等等。
·加密消息和数字签名的时间标记。
·签名计数和用户定义属性。
实 ...
String cns[] = "c=cn, ou=comp,dc=a,dc=b, l=\"da lian\",st=hi".split(",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))");
不错的,完全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 ...
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解开就证明信息是由你发送的,构成了签名机制。
...







评论排行榜