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

java证书公钥

发布时间:2021-07-06 13:57:20

⑴ Java通过RSA算法获取公私钥对 将公钥提供出去 如何获取字符串的公钥

直接将公匙BYTE数组转换为16进制的串啊
private static char hexTable[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
public static String toHexString(byte bytes[])
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++)
{
char chars[] = new char[2];
int d = (bytes[i] & 240) >> 4;
int m = bytes[i] & 15;
chars[0] = hexTable[d];
chars[1] = hexTable[m];
sb.append(chars);
}

return sb.toString();
}

⑵ 什么是X509格式的证书在java中能否使用X509Certificate对象获得证书的私钥信息

证书里怎么可能有私钥嘛,异想天开

⑶ JAVA 如何生成证书

下面产生一个自签证书。安装完J2SDK(这里用的是J2SDK1.4)后,在J2SDK安装目录的bin目录下,有一个keytool的可执行程序。利用keytool产生自签证书的步骤如下:

第一步,用-genkey命令选项,产生公私密钥对。在控制台界面输入:keytool -genkey -alias testkeypair -keyalg RSA -keysize 1024 -sigalg MD5withRSA。这里的-alias表示使用这对公私密钥产生新的keystore入口的别名(keystore是用来存放管理密钥对和证书链的,缺省位置是在使用者主目录下,以.keystore为名的隐藏文件,当然也可指定某个路径存放.keystore文件);-keyalg是产生公私钥对所用的算法,这里是RSA;-keysize定义密钥的长度;-sigalg是签名算法,选择MD5withRSA,即用RSA签名,然后用MD5哈希算法摘要。接下来,系统会提示进行一些输入:

输入keystore密码: abc123
您的名字与姓氏是什么?
[Unknown]: Li
您的组织单位名称是什么?
&nbs

问题的其他解决办法参考 :
http://..com/question/41527308.html?a=5.7121119214148&t=JAVA+

⑷ 有了网银证书,公钥要自己生成吗如何生成。(java开发中)

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

⑸ java使用keytool生成证书的时候怎们样设置公钥和私钥还有keystore密码是什么

1.私钥公钥不是用户自己输入的,是RSA算法自动生成的,而你输入的密码只是打开那个文件或生成的证书的密码.
2.密码为“changeit”,而如果尝试几次都不成功的话,就到$JAVA_HOME\jre\lib\security\目录下去配就可以了

⑹ JAVA公钥加密,私钥解密,该怎么解决

这是在搜集资料的时候拿了个例子练手,不过有个问题就是,把这代码放到文本里用CMD运行的时候出现了乱码情况!所幸的是注释,不影响效果!但是,程序要真遇到这样的情况的话,就得转码了,因为文本的编码是GBK的,而我所要粘贴的代码的编码是UTF-8

[html] view plain
import java.util.*;
import java.io.*;

public class Test
{
private String encodeResult;//编码后字串
private String decodeResult;//解码后字串

public Test()
{

}
//编码设置
public void setEncodeResult(String encodeResult)
{
char[] src = encodeResult.toCharArray();//将待编码字串拆分成字符数组
StringBuilder sb = new StringBuilder();//保存编码后字符
//将待编码字串拆分成字符数组
for(int i = 0; i< src.length; i++)
{
if(Character.isDigit(src[i]))
{
if(i != src.length-1)
{//满足条件3
char[] temp = new char[Character.getNumericValue(src[i])+1];
Arrays.fill(temp,src[i+1]);
sb.append(temp);
sb.append("_");
}
else
{//满足条件2
sb.append(src[i]);
}
}
else if(src[i] == '_')//满足条件5
{
sb.append("\\UL");
sb.append("_");
}
else if(i == src.length-1)//满足条件1,且到了字串结尾
{
sb.append(src[i]);
}
else//满足条件1,且未到字串结尾
{
sb.append(src[i]);
sb.append("_");
}
}
this.encodeResult = new String(sb);//创建返回编码后字串
}
//获得编码后结果
public String getEncodeResult()
{
return encodeResult;
}
//解码设置
public void setDecodeResult(String encodeResult)
{
String[] temp = encodeResult.split("_");
StringBuilder sb = new StringBuilder();
for(int i = 0; i< temp.length; i++)
{
if(temp[i].equals("\\UL"))
sb.append("_");
else if(temp[i].length()>1)
sb.append(temp[i].length()-1);
else
sb.append(temp[i]);
}
this.decodeResult = new String(sb);
}

⑺ 用java怎么实现CA颁发的数字证书的认证功能

PKI 目前使用最多的非对称算法是 RSA。对于基于 RSA 的 PKI 而言,CA 应有一对 RSA 的公私钥对,私钥是 CA 的生命内,严格保密,而容公钥则发布给使用方。CA 签发一张证书的话,主要是使用 CA 的 RSA 私钥对证书进行签名,并将签名结果保存在证书当中。使用者通过 CA 发布的公钥来验证证书中的签名值,就可以确定该证书是否是由该 CA 签发的。自己要做的就是从证书中提取签名数据和用于签名的原始数据,再使用 CA 的公钥验证这个签名就可以了。

⑻ java中如何得到公钥的key size

接你代码后面

Stringalgorithm=publickey.getAlgorithm();//获取算法
KeyFactorykeyFact=KeyFactory.getInstance(algorithm);
BigIntegerprime=null;
if("RSA".equals(algorithm)){//如果是RSA加密
RSAPublicKeySpeckeySpec=(RSAPublicKeySpec)keyFact.getKeySpec(publickey,RSAPublicKeySpec.class);
prime=keySpec.getMolus();
}elseif("DSA".equals(algorithm)){//如果是DSA加密
DSAPublicKeySpeckeySpec=(DSAPublicKeySpec)keyFact.getKeySpec(publickey,DSAPublicKeySpec.class);
prime=keySpec.getP();
}
intlen=prime.toString(2).length();//转换为二进制,获取公钥长度

⑼ 如何用Java读取使用证书

Java为安全应用提供了丰富的API,J2SDK1.4 的JSSE (JavaTM Secure Socket Extension) 包括javax.security.certificate包,并且提供对证书的操作方法,代码如下:

importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.table.*;
importjava.security.cert.CertificateFactory;
importjava.security.cert.X509Certificate;
importjava.io.*;
{
privateStringCA_Name;
privateStringCA_ItemData[][]=newString[9][2];
privateString[]columnNames={"证书字段标记","内容"};
publicCARead(StringCertName){
CA_Name=CertName;
/*三个Panel用来显示证书内容*/
JTabbedPanetabbedPane=newJTabbedPane();
JPanelpanelNormal=newJPanel();
tabbedPane.addTab("普通信息",panelNormal);
JPanelpanelAll=newJPanel();
panelAll.setLayout(newBorderLayout());
tabbedPane.addTab("所有信息",panelAll);
JPanelpanelBase64=newJPanel();
panelBase64.setLayout(newBorderLayout());
tabbedPane.addTab("Base64编码信息",panelBase64);
/*读取证书常规信息*/
Read_Normal(panelNormal);
/*读取证书文件字符串表示内容*/
Read_Bin(panelAll);
/*读取证原始Base64编码形式的证书文件*/
Read_Raw(panelBase64);
tabbedPane.setSelectedIndex(0);
setLayout(newGridLayout(1,1));
add(tabbedPane);
}
}

定义证书信息的读取函数如下:

privateintRead_Normal(JPanelpanel){
StringField;
try{
CertificateFactorycertificate_factory=CertificateFactory.getInstance("X.509");
FileInputStreamfile_inputstream=newFileInputStream(CA_Name);
X509Certificate
x509certificate=(X509Certificate)certificate_factory.generateCertificate
(file_inputstream);
Field=x509certificate.getType();
CA_ItemData[0][0]="类型";
CA_ItemData[0][1]=Field;
Field=Integer.toString(x509certificate.getVersion());
CA_ItemData[1][0]="版本";
CA_ItemData[1][1]=Field;
Field=x509certificate.getSubjectDN().getName();
CA_ItemData[2][0]="标题";
CA_ItemData[2][1]=Field;
/*以下类似,这里省略
Field=x509certificate.getNotBefore().toString();得到开始有效日期
Field=x509certificate.getNotAfter().toString();得到截止日期
Field=x509certificate.getSerialNumber().toString(16);得到序列号
Field=x509certificate.getIssuerDN().getName();得到发行者名
Field=x509certificate.getSigAlgName();得到签名算法
Field=x509certificate.getPublicKey().getAlgorithm();得到公钥算法*/
file_inputstream.close();
finalJTabletable=newJTable(CA_ItemData,columnNames);
TableColumntc=null;
tc=table.getColumnModel().getColumn(1);
tc.setPreferredWidth(600);
panel.add(table);
}catch(Exceptionexception){
exception.printStackTrace();
return-1;
}
return0;
}
阅读全文

与java证书公钥相关的资料

热点内容
软件使用权合作协议 浏览:123
七日杀75创造模式 浏览:905
潍坊高新区公共行政审批服务中心 浏览:455
马鞍山深蓝光电 浏览:699
06岁公共卫生服务工作总结 浏览:137
基本公共卫生服务规范第三版 浏览:249
矛盾纠纷排查调处记录表 浏览:59
电力qc成果发布ppt 浏览:407
沙雕发明博主 浏览:105
禹城市工商局合名 浏览:977
网络侵犯著作权报案 浏览:734
税务报到期限 浏览:6
怎样查询银行卡有效期 浏览:19
浙江省温州市工商局企业查询 浏览:592
马鞍山全套多少钱 浏览:568
艾丁顿发明了什么 浏览:651
希腊谁创造了人类 浏览:415
社区公共卫生服务工作总结 浏览:66
学校矛盾纠纷排查化解方案 浏览:752
卫生院公共卫生服务绩效考核总结 浏览:490