小编rev*_*olt的帖子

如何通过一个字节的每个位

我不知道如何实现以下算法.

例如,我有int = 26,这是二进制的"11010".现在我需要实现1的一个操作,另一个操作为0,从左到右,直到字节结束.但我真的不知道如何实现这一点.也许我可以将二进制转换为char数组,但我不知道如何.btw,int仅在示例中等于26,在应用程序中它将是随机的.

c algorithm

5
推荐指数
3
解决办法
6870
查看次数

从终端实体获取根证书和中间证书

我仍然是密码学的一个菜鸟我每天偶然发现简单的事情.而今天只是其中的一天.

我想用弹性城堡库验证java中的smime消息,我想我几乎把它想出来了,但此时的问题是构建PKIXparameters对象.比方说,我有一个具有以下结构的终端实体x509certificate:

root certificate
 +->intermediate certificate
    +->end-entity certificate
Run Code Online (Sandbox Code Playgroud)

为了验证消息,我需要首先建立一个信任链,但我无法弄清楚如何从最终实体中提取根证书和中间证书.

我试图以root身份使用end-entity,但它不起作用:

InputStream isCert = GetFISCertificate();

List list = new ArrayList();
X509Certificate rootCert = (X509Certificate) certificateFactory.generateCertificate(isCert);
list.add(rootCert);
CollectionCertStoreParameters params = new CollectionCertStoreParameters(list);
CertStore store = CertStore.getInstance("Collection", params, BC);

//create cert path
List certChain = new ArrayList();
certChain.add(rootCert);
CertPath certPath = certificateFactory.generateCertPath(certChain);
Set trust = Collections.singleton(new TrustAnchor(rootCert, null));

//validation
CertPathValidator certPathValidator = CertPathValidator.getInstance("PKIX", BC);
PKIXParameters pKIXParameters = new PKIXParameters(trust);
pKIXParameters.addCertStore(store);
pKIXParameters.setDate(new Date());
try {
CertPathValidatorResult result = certPathValidator.validate(certPath, pKIXParameters);
System.out.println("certificate path validated");

} …
Run Code Online (Sandbox Code Playgroud)

java bouncycastle x509certificate

4
推荐指数
1
解决办法
2935
查看次数

标签 统计

algorithm ×1

bouncycastle ×1

c ×1

java ×1

x509certificate ×1