导航:首页 > 证书转让 > 查询证书公钥

查询证书公钥

发布时间:2020-12-26 10:30:02

⑴ Android 如何查看app 的公钥证书

一般公钥是网银网站的控件在用户机器上生成的,同时在用户机器上生成的还有私钥。 然后公钥发到网银,被作成证书,还到用户本地由网银控件或微软控件安装。

⑵ u盾找不到证书公钥,急求答案!

你有盘没,用盘把驱动重新装下,装的时候别插U盾,然后重启看看,网上下的驱动有些用不了

⑶ 什么是公钥证书

所谓的公钥认证,实际上是使用一对加密字符串,一个称为公钥(public key),任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。

ssh 的公钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。为了说明方便,以下将使用这些符号。

Ac 客户端公钥
Bc 客户端密钥
As 服务器公钥
Bs 服务器密钥

在认证之前,客户端需要通过某种方法将公钥 Ac 登录到服务器上。

认证过程分为两个步骤。

会话密钥(session key)生成
客户端请求连接服务器,服务器将 As 发送给客户端。
服务器生成会话ID(session id),设为 p,发送给客户端。
客户端生成会话密钥(session key),设为 q,并计算 r = p xor q。
客户端将 r 用 As 进行加密,结果发送给服务器。
服务器用 Bs 进行解密,获得 r。
服务器进行 r xor p 的运算,获得 q。
至此服务器和客户端都知道了会话密钥q,以后的传输都将被 q 加密。
认证
服务器生成随机数 x,并用 Ac 加密后生成结果 S(x),发送给客户端
客户端使用 Bc 解密 S(x) 得到 x
客户端计算 q + x 的 md5 值 n(q+x),q为上一步得到的会话密钥
服务器计算 q + x 的 md5 值 m(q+x)
客户端将 n(q+x) 发送给服务器
服务器比较 m(q+x) 和 n(q+x),两者相同则认证成功

⑷ 如何验证SSL证书公钥的正确性

只要是证书链条是对的,也在你机器上了,就能看见正常,出一点不对就告诉你不对了。

⑸ 密信(mesince)如何查看联系人的加密证书和签名证书公钥

可以查看“抄通讯录”中联袭系人的证书公钥信息,不仅可以查看签名证书公钥,还可以查看该联系人的所有加密证书公钥。为了确保收件人能解密加密邮件,密信会自动用收件人的多张加密证书公钥发送加密邮件,确保收件人用任何一张用过的证书都能解密加密邮件。

⑹ 怎么能读取cer证书中的公钥进行AES加密

怎么能读取cer证书中的公钥进行AES加密
非对称算法中,公钥用来加密,私钥解密,.cer的文件内可能是公钥,也容有可能是交叉根或root根文件,一般不同的中间件要求的证书规格都不一样,而且现在的CA机构(如沃通)在发证书的时候,都会根据不同的中间件去打包证书文件,并且提供相对的部署指南.

cer证书由p12导出(只不过cer是二进制,p12是base64,可以网上查der(二进制)转pem(base64)),导出命令:

keytool -export -alias p12client -keystore dlt.p12 -storetype PKCS12 -storepass 密码 -rfc -file p12.cer

⑺ SSL中,公钥,私钥,证书的后缀名都是些啥

SSL证书后缀
CSR – Certificate Signing Request,即证书签名请求,这个并不是证书,而是向权威证书颁发机构获得签名证书的申请,其核心内容是一个公钥(当然还附带了一些别的信息),在生成这个申请的时候,同时也会生成一个私钥,私钥要自己保管好.做过iOS APP的朋友都应该知道是怎么向苹果申请开发者证书的吧.
KEY– 通常用来存放一个RSA 公钥或者私钥,并非X.509证书,编码同样的,可能是PEM,也可能是DER.
CRT– CRT应该是certificate的三个字母,其实还是证书的意思,常见于*NIX系统,有可能是PEM编码,也有可能是DER编码,大多数应该是PEM编码。本站提供的CRT格式等同于CER,等同于PEM。
PEM – Privacy Enhanced Mail的缩写,以文本的方式进行存储。打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是编码. 查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -noout Apache和*NIX服务器偏向于使用这种编码格式.
CER– 还是certificate,还是证书,常见于Windows系统,同样的,可能是PEM编码,也可能是DER编码,大多数应该是DER编码.
DER – Distinguished Encoding Rules的缩写,以二进制方式进行存储,文件结构无法直接预览,查看DER格式证书的信息:openssl x509 -in certificate.der -inform der -text -noout Java和Windows服务器偏向于使用这种编码格式.
PFX/P12 – predecessor of PKCS#12,对*nix服务器来说,一般CRT和KEY是分开存放在不同文件中的,但Windows的IIS则将它们存在一个PFX文件中,(因此这个文件包含了证书及私钥)这样会不会不安全?应该不会,PFX通常会有一个”提取密码”,你想把里面的东西读取出来的话,它就要求你提供提取密码,PFX使用的时DER编码,如何把PFX转换为PEM编码?
JKS – 即Java Key Storage,这是Java的专利,跟OpenSSL关系不大,利用Java的一个叫”keytool”的工具,可以将PFX转为JKS,当然了,keytool也能直接生成JKS。

⑻ 私钥、公钥、证书的区别和关系

私钥是要求你输入个人密码才可访问的,一般网上银行之类可用到。
公钥不要求设专置密码,是已属经默认了的,一般上一些安全性要求不高的网站或共享资源,如局域网。
证书是一种网站加密浏览方式,只有允许了才可访问,一般为安全性较高的网站,如网上银行;可以访止黑客盗取客户资料。

⑼ 怎样验证 证书的私钥 公钥 匹配

var pnCenter=new Ext.TabPanel({
id:'pnCenter',
layout: 'fit',
region:'center',
autoScroll:true,
autoDestroy:false,//不让它销毁
heigth:'auto',
collapsible:false,
activTab:0,
items:[{
title:'<font color="red">任务列版表权<font>',
items:[Ext.getCmp('taskGrid')]
}]
});

⑽ 如何利用java来调用证书(如何实现获取证书公钥以及客服信任号)

package com.security;
import java.io.*;
import java.security.*;
import java.security.cert.*;
import java.util.*;
import java.math.*;
import sun.security.x509.*;
/**
* <>Description: 该程序根据签发者(CA)的证书信息(即CA的私钥)来对被签发者
* 的证书进行签名,过程即是使用CA的证书和被签证书来重构形成一个新的证书</p>
* @author abnerchai
* @version 1.0
*/
public class SignCert {
public static void main(String[] args) throws Exception{
char[] storepass = "100200".toCharArray();
//存放CA证书和被签证书的证书库的访问密码
char[] cakeypass = "200100".toCharArray();//CA数字证书条目的访问密码
String alias = "missionCA";
//CA证书在证书库中的别名,这个CA的证书用来签名其它的证书
String name = "abnerCALib";//存放CA证书和被签证书的证书库的名字
String newLib = "SignedLib";
//新证书库的名字,如果需要将签名后的证书放入新库,这是新库的名字
char[] newLibPass = "100200".toCharArray();//设置新库的访问密码
String cerFileName = "abnerCA.cer";//被签证书的证书文件名
String aliasName = "abnerCA";//被签证书在证书库中的alias别名
char[] namePass = "200100".toCharArray();
//被签证书的条目在证书库的私钥密码
int n =3; //被签证书的有效期,以年为单位,以当前时间开始计算
int sn = 200406001;
//序列号可自己定义,这里定义的意义为2004年6月签发,是本年度CA签发的第多少个以001计算,要求唯一
String afteraliasName = "abnerCA_Signed";
//签名后新产生的被签过名的证书在库中的别名
char[] afterNewPass = "200100".toCharArray();
//签名后新产生的被签过名的证书在库的条目的私钥的密码
//装载证书库
FileInputStream in = new FileInputStream(name);
KeyStore ks = KeyStore.getInstance("JKS");//JKS为证书库的类型
ks.load(in,storepass);
//从证书库中读出签发者(CA)的证书
java.security.cert.Certificate cl = ks.getCertificate(alias);
//读出一个CA证书,这里的l是字母l不是数据字1
PrivateKey privateKey = (PrivateKey)ks.getKey(alias,cakeypass);
//根据别名和证书密码读出CA证书的私钥
in.close();
//从证书库中读出的签发者(CA)的证书中提取签发者的信息
byte[] encodl = cl.getEncoded();//提取证书的编码,这里是字母l不是数据字1
X509CertImpl cimpl = new X509CertImpl(encodl);
//这里是字母l不是数据字1,根据证书的编码创建X509CertImpl类型的对象
//根据上面的对象获得X509CertInfo类型的对象,该对象封装了证书的全部内容。
X509CertInfo cinfo_first =
(X509CertInfo)cimpl.get(X509CertImpl.NAME+"."+X509CertImpl.INFO);
//然后获得X500Name类型的签发者信息
X500Name issuer = (X500Name)
cinfo_first.get(X509CertInfo.SUBJECT+"."+CertificateIssuerName.DN_NAME);
//获取待签发的证书,即获取被签发者的证书
//可从密钥库中获取,也可从导出的证书文件中获取,这里给出两种方式 ////////////////////////////////////////////////////////////////////////
//方式一、采用从导出的cer文件中获取 start
///////////////////////////////////////////////////////////////////////////////
/*
CertificateFactory cf = CertificateFactory.getInstance("X.509");
//X.509是使用最多的一种数字证书标准
FileInputStream in2 = new FileInputStream(cerFileName);//被签证书文件
java.security.cert.Certificate c2 = cf.generateCertificate(in2);
//生成需要被签的证书
in2.close();
byte[] encod2 = c2.getEncoded();
X509CertImpl cimp2 = new X509CertImpl(encod2);
//获得被签证书的详细内容,然后根据这个证书生成新证书
X509CertInfo cinfo_second =
(X509CertInfo)cimp2.get(X509CertImpl.NAME+"."+X509CertImpl.INFO);
*/
///////////////////////////////////////////////////////////////////////////////
//end 方式一
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//方式二、从证书库中读出被签的证书 start
///////////////////////////////////////////////////////////////////////////////
java.security.cert.Certificate c3 = ks.getCertificate(aliasName);
//从证书库中读出被签证书,然后生成新的证书
byte[] encod3 = c3.getEncoded();
X509CertImpl cimp3 = new X509CertImpl(encod3);
X509CertInfo cinfo_second =
(X509CertInfo)cimp3.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); ///////////////////////////////////////////////////////////////////////////
//end方式二
/////////////////////////////////////////////////////////////////////////// //设置新证书的有效期,使之为当前向后n年有效,新证书的
//截止日期不能超过CA证书的有效日期
Date beginDate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(beginDate);
cal.add(cal.YEAR,n);
Date endDate = cal.getTime();
CertificateValidity cv = new CertificateValidity(beginDate,endDate);
cinfo_second.set(X509CertInfo.VALIDITY,cv);
//设置新证书的序列号
CertificateSerialNumber csn = new CertificateSerialNumber(sn);
cinfo_second.set(X509CertInfo.SERIAL_NUMBER,csn);
//设置新证书的签发者
cinfo_second.set(X509CertInfo.ISSUER+"."+CertificateIssuerName.DN_NAME,issuer);
//新的签发者是CA的证书中读出来的
//设置新证书的算法,指定CA签名该证书所使用的算法为md5WithRSA
AlgorithmId algorithm = new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
cinfo_second.set(CertificateAlgorithmId.NAME+"."+
CertificateAlgorithmId.ALGORITHM,algorithm);
//创建新的签名后的证书
X509CertImpl newcert = new X509CertImpl(cinfo_second);
//签名,使用CA证书的私钥进行签名,签名使用的算法为MD5WithRSA
newcert.sign(privateKey,"MD5WithRSA");//这样便得到了经过CA签名后的证书
//把新证书存入证书库
//把新生成的证书存入一个新的证书库,也可以存入原证书库,
//存入新证书库,则新证书库中不仅包含原证书库中的所有条目,
//而且新增加了一个这次产生的条目。注意,这时,新产生的签名后的证书只
//包括公钥和主体信息及签名信息,不包括私钥信息。这里给出两种方式。
///////////////////////////////////////////////////////////////////////////
//方式一:存入新密钥库
///////////////////////////////////////////////////////////////////////////
/*
ks.setCertificateEntry(afteraliasName,newcert);
FileOutputStream out = new FileOutputStream(newLib);
//存入新库signedLib,并设置新库的库访问密码
ks.store(out,newLibPass);
out.close();
*/
///////////////////////////////////////////////////////////////////////////
//end 方式一
///////////////////////////////////////////////////////////////////////////
//也可以采用另外一种方式,存入原证书库中
//存入原库中,即在原证书库中增加一条证书,这个证书是原证书经过签名后的证书
//这个新证书含有私钥和私钥密码
///////////////////////////////////////////////////////////////////////////
//方式二,存入原密钥库
///////////////////////////////////////////////////////////////////////////
//先在原库中读出被签证书的私钥
PrivateKey prk = (PrivateKey)ks.getKey(aliasName,namePass);
java.security.cert.Certificate[] cchain = {newcert};
//存入原来的库,第二个参数为原证书的私钥,第三个参数为新证书的私钥密码,第三个参数为新证书
ks.setKeyEntry(afteraliasName,prk,afterNewPass,cchain); //用新密钥替代原来的没有签名的证书的密码
FileOutputStream out2 = new FileOutputStream(name);
ks.store(out2,storepass);//存入原来的库中,第二个参数为该库的访问密码
///////////////////////////////////////////////////////////////////////////
//end 方式二
///////////////////////////////////////////////////////////////////////////
}
}

阅读全文

与查询证书公钥相关的资料

热点内容
知识产权合作开发协议doc 浏览:932
广州加里知识产权代理有限公司 浏览:65
企业知识产权部门管理办法 浏览:455
消费315投诉 浏览:981
马鞍山钢城医院 浏览:793
冯超知识产权 浏览:384
介绍小发明英语作文 浏览:442
版权使用权协议 浏览:1000
2018年基本公共卫生服务考核表 浏览:884
马鞍山候车亭 浏览:329
学校矛盾纠纷排查领导小组 浏览:709
张江管委会知识产权合作协议 浏览:635
关于开展公共卫生服务项目相关项目督导的函 浏览:941
闺蜜证书高清 浏览:11
转让房转让合同协议 浏览:329
矛盾纠纷排查调处工作协调交账会议纪要 浏览:877
云南基金从业资格证书查询 浏览:313
新知识的摇篮创造力 浏览:187
股转转让协议 浏览:676
王者达摩大发明家 浏览:904