Tag: java security

找不到匹配www.billiving.com的主题替代DNS名称。 为什么这会引起如何解决?

我有www.billiving.com API的集成测试套件。 当API调用端点应该是https://www.billiving.com 。 我的测试套件在windows上完美运行。 但是当它移动到ubuntu 14.x时,它会因以下exception而失败。 [1] 所以我写了这个[2]代码来测试它超出测试套件。 它仍然以相同的例外失败。 所以我试图将billiving.com证书导入JKS但仍然失败,但同样的例外。 我知道作为解决方案,我们可以覆盖Verifier类中的verify方法并返回true。 但我需要适当的解决方案,因为这会导致安全问题。 1)为什么这个错误和为什么它只在linux上。 2)我们如何通过适当的解决方案解决这个问题 APIurl: https : //www.billiving.com/ [1]例外: > javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS > name matching www.billiving.com found. at > com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747) > at > com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241) > at > com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1209) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:135) […]

有效证书上的JDK 11 SSL错误(在以前的版本中工作)

以下代码在JDK 11中引发错误: HttpURLConnection con = (HttpURLConnection) new URL(“https://sis.redsys.es/sis/realizarPago”).openConnection(); con.setRequestMethod(“GET”); con.getResponseCode(); 错误是: javax.net.ssl.SSLHandshakeException: extension (10) should not be presented in server_hello at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:128) at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:268) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259) at java.base/sun.security.ssl.SSLExtensions.(SSLExtensions.java:71) at java.base/sun.security.ssl.ServerHello$ServerHelloMessage.(ServerHello.java:169) at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:860) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:390) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:445) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:877) at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:810) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:383) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) 它在任何以前的JDK中工作(我在7,8,9和10中测试过)。 […]

将.cer证书转换为.jks

我需要将.cer文件转换为.jks文件。 我看到了一些关于它的问题,但没有看到我需要的解决方案。 我不需要它来将其添加到我的本地证书,但作为要上传到服务器的文件。 我还需要只做一次,而不是以编程方式。 有这个线程使用java将.cer转换为.jks并且作者说他已经成功完成了,但由于我没有足够的声誉,我无法评论他的上一个回复,我也不能向他发送个人信息并询问他。 所以,如果有人知道一个简单的方法,我会很高兴听到。

密钥存储大小增加时,Java Keystore.getKey()变慢

我正在使用java密钥库来存储和检索加密密钥。当我的密钥库大小很小时,它的工作速度更快。 但是,一旦我的密钥存储大小增加,密钥存储操作就会变慢。 我正在使用Linux平台,Java版本Jdk_1.8。 和safenet作为提供者。

检索x509证书的序列号时缺少前导零

我正在尝试从X.509证书中获取序列号。当我将我的代码生成的序列号与实际序列号(在Windows上)进行比较时,实际序列号(X509证书)的前导零是失踪。 任何建议或替代方法来获取hex的x.509证书的序列号与前导零? 以下是我目前使用的代码段: InputStream in = new FileInputStream(“cert”); CertificateFactory certificateFactory = CertificateFactory.getInstance(“X.509”); X509Certificate certificate = (X509Certificate) certificateFactory.generateCertificate(in); String serialNum = certificate.getSerialNumber().toString(16); System.out.println(serialNum);

锯齿无效的批次或签名

我最近开始使用Hyperledger Sawtooth进行播放,并且无法在java上提交事务,而python代码似乎没问题。 我已经在这里编写了基于api文档的python代码,然后尝试在java中编写一个。 下面是java中的代码 import com.google.protobuf.ByteString; import com.mashape.unirest.http.Unirest; import sawtooth.sdk.processor.Utils; import sawtooth.sdk.protobuf.*; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.Signature; import java.security.spec.ECGenParameterSpec; public class BatchSender { public static void main(String[] args) throws Exception{ KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(“EC”); ECGenParameterSpec parameterSpec = new ECGenParameterSpec(“secp256k1”); keyPairGenerator.initialize(parameterSpec); KeyPair keyPair = keyPairGenerator.generateKeyPair(); Signature ecdsaSign = Signature.getInstance(“SHA256withECDSA”); ecdsaSign.initSign(keyPair.getPrivate()); byte[] publicKeyBytes = keyPair.getPublic().getEncoded(); String […]