Tag: 公钥

如何从Java中的私钥对象获取RSA公钥

如何从RSA密码系统中的私钥Object java.security.PrivateKey中获取相关的公钥对象java.security.PublicKey 。

如何使用Java创建X509证书?

我想使用Java语言创建X509证书,然后从中提取公钥。 我搜索了互联网,发现了许多代码示例,但是所有代码都有错误(未知变量或未知类型)或者有很多警告,例如:“方法……来自类型……已被弃用”等。 例如,为什么以下代码不起作用: PublicKey pk; CertificateFactory cf = CertificateFactory.getInstance(“X.509”); String PKstr = pk.toString(); InputStream PKstream = new ByteArrayInputStream(PKstr.getBytes()); X509Certificate pkcert = (X509Certificate)cf.generateCertificate(PKstream); 谁能告诉我如何使用纯Java或Bouncy Castle创建证书,然后从中获取公钥? 谢谢大家。

使用公钥validation签名

我有一个外部服务,在一些已定义的事件后给我回电话,并用私钥签署他的请求。 我存储了公钥,看起来像: —–BEGIN PUBLIC KEY—– …………………………………. —–END PUBLIC KEY—– 所以我的工作是通过validation签名来检查请求的内容是否未被更改。 这是我的算法: // 1 – reading public key : Scanner scanner = new Scanner( new File( keyPath ) ); // encodedPublicKey.toString( ); StringBuilder sb = new StringBuilder( ); while ( scanner.hasNextLine( ) ) { sb.append( scanner.nextLine( ) ); sb.append( ‘\n’ ); } byte[] encodedPublicKey = sb.toString( […]

在Java中加载原始的64字节长ECDSA公钥

我有一个原始(r,s)格式的ECDSA NIST P-256公钥。 似乎没有简单的方法将它加载到实现java.security.interfaces.ECPublicKey的对象中。 加载64字节公钥的最简洁方法是什么,以便可以用来检查签名?

如何将Byte数组转换为PrivateKey或PublicKey类型?

我使用RSA算法生成公钥和私钥 final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(ALGORITHM); keyGen.initialize(1024); final KeyPair key = keyGen.generateKeyPair(); final PrivateKey privateKey=key.getPrivate(); final PublicKey publickey=key.getPublic(); 之后,使用Base64编码器对这些密钥进行编码,并将其保存到数据库中。 如何将此编码的字符串转换为java中的私钥和公钥类型是解密文件。 使用Base64Decoder解码此String时将获得一个字节数组。 如何将此Byte数组转换为公钥或私钥类型?

如何使用私钥对字符串进行签名

如果我已将私钥作为byte[]或String如何使用SHA1withRSA获取字符串的签名?

将字符串转换为加密密钥,反之亦然java

我目前正致力于将键转换为字符串,反之亦然。 它适用于公钥转换,并将私钥转换为String。 由于某种原因,相同的代码不会将String转换回私钥,这是我无法弄清楚的。 转换器代码是: import java.security.KeyFactory; import java.security.PrivateKey; import java.security.PublicKey; import java.security.spec.X509EncodedKeySpec; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; @SuppressWarnings(“restriction”) public class KeyConvert { public static PublicKey stringToPublicKey(String s) { BASE64Decoder decoder = new BASE64Decoder(); byte[] c = null; KeyFactory keyFact = null; PublicKey returnKey = null; try { c = decoder.decodeBuffer(s); keyFact = KeyFactory.getInstance(“DSA”, “SUN”); } catch […]