标签: ssl-certificate

导入证书后出现Java Keytool错误,"keytool错误:java.io.FileNotFoundException&Access Denied"

我正在尝试通过HTTPS连接Java Web API; 但是,抛出异常:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Run Code Online (Sandbox Code Playgroud)

我遵循了从在线keytool和SSL证书教程中学到的这些步骤:

  1. 我将HTTPS URL复制到浏览器中,使用Internet Explorer下载SSL证书并将其安装在浏览器中.

  2. 将证书导出到计算机上的路径,证书保存为 .cer

  3. 使用了keytool的导入选项.执行下面的命令没有任何错误.

    keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我在命令提示符下提示输入密码,然后我输入了密码.

  5. cmd窗口打印一些证书数据与签名,我是这样一个问题提示:

    相信这个证书?

    我回答是的.

  6. 显示cmd提示符

    证书已添加到密钥库

    但是在该消息之后,显示了另一个异常:

    keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
    
    Run Code Online (Sandbox Code Playgroud)

最后,当我检查密钥库时,没有添加SSL证书,我的应用程序提供了我在尝试连接时得到的相同异常:

(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
Run Code Online (Sandbox Code Playgroud)

java ssl keytool ssl-certificate

111
推荐指数
5
解决办法
21万
查看次数

为localhost创建受信任的自签名SSL证书(用于Express/Node)

尝试遵循有关创建自签名证书以与localhost一起使用的各种说明,大多数说明似乎适用于IIS,但我正在尝试使用Nodejs/Express.它们都没有正常工作,因为在安装证书时,它不受信任.这是我尝试过的失败:

有人可以提供可以做到这一点的工作流程吗? 我可以安装一个证书,但我无法让chrome(v32)或IE(v10)中的证书受到信任.

编辑:在评论中建议问题是没有受信任的cert-root.我通过IE安装了证书,但它仍然不受信任.

openssl localhost ssl-certificate node.js express

110
推荐指数
8
解决办法
12万
查看次数

Letsencrypt将域添加到现有证书

我只是简单地尝试将域test.example.com添加到example.com已存在的证书中.如何将域添加到现有证书并替换旧证书?

我试过这些命令

./letsencrypt-auto certonly --cert-path /etc/letsencrypt/archive/example.com --expand -d test.example.com

./letsencrypt-auto certonly -d example.com --expand -d test.example.com
Run Code Online (Sandbox Code Playgroud)

结果:两者都在新文件夹test.example.com-0001中创建了一个全新的证书

./letsencrypt-auto certonly --renew-by-default  --expand -d test.example.com
Run Code Online (Sandbox Code Playgroud)

结果:错误文件夹test.example.com已存在.

./letsencrypt-auto renew --expand -d orange.fidka.com
Run Code Online (Sandbox Code Playgroud)

结果:错误,我只能在证书过期时续订.

ssl ssl-certificate lets-encrypt

109
推荐指数
5
解决办法
12万
查看次数

如何使用OpenSSL生成具有SubjectAltName的自签名证书?

我正在尝试使用带有SubjectAltName的OpenSSL生成一个自签名证书.虽然我正在为证书生成csr,但我猜我必须使用OpenSSL x509的v3扩展.我在用 :

openssl req -new -x509 -v3 -key private.key -out certificate.pem -days 730
Run Code Online (Sandbox Code Playgroud)

有人可以用确切的语法帮助我吗?

ssl openssl ssl-certificate x509certificate x509

107
推荐指数
1
解决办法
14万
查看次数

错误:无法验证nodejs中的第一个证书

我正在尝试使用url从jira服务器下载文件,但是我收到了一个错误.如何在代码中包含证书以验证 错误:

Error: unable to verify the first certificate in nodejs

at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:929:36)

  at TLSSocket.emit (events.js:104:17)

at TLSSocket._finishInit (_tls_wrap.js:460:8)
Run Code Online (Sandbox Code Playgroud)

我的Nodejs代码:

var https = require("https");
var fs = require('fs');
var options = {
    host: 'jira.example.com',
    path: '/secure/attachment/206906/update.xlsx'
};

https.get(options, function (http_res) {

    var data = "";


    http_res.on("data", function (chunk) {

        data += chunk;
    });


    http_res.on("end", function () {

        var file = fs.createWriteStream("file.xlsx");
        data.pipe(file);

    });
});
Run Code Online (Sandbox Code Playgroud)

jira ssl-certificate node.js

105
推荐指数
9
解决办法
18万
查看次数

iOS9收到错误"发生了SSL错误,无法与服务器建立安全连接"

自从我使用iOS 9升级现有项目以来,我一直收到错误:

发生SSL错误,无法与服务器建立安全连接.

ssl-certificate ios app-transport-security

102
推荐指数
5
解决办法
12万
查看次数

将pfx格式转换为p12

我需要将.pfx格式证书(从windows mmc)导出到.p12以在另一个应用程序中使用.我找不到办法做到这一点.谁能建议一种方法?

certificate ssl-certificate

100
推荐指数
4
解决办法
13万
查看次数

如何修复"java.security.cert.CertificateException:没有主题替代名称出现"错误?

我有一个Java Web服务客户端,它通过HTTPS使用Web服务.

import javax.xml.ws.Service;

@WebServiceClient(name = "ISomeService", targetNamespace = "http://tempuri.org/", wsdlLocation = "...")
public class ISomeService
    extends Service
{

    public ISomeService() {
        super(__getWsdlLocation(), ISOMESERVICE_QNAME);
    }
Run Code Online (Sandbox Code Playgroud)

当我连接到服务URL(https://AAA.BBB.CCC.DDD:9443/ISomeService)时,我得到了异常java.security.cert.CertificateException: No subject alternative names present.

为了解决这个问题,我首先运行openssl s_client -showcerts -connect AAA.BBB.CCC.DDD:9443 > certs.txt并在文件中获得以下内容certs.txt:

CONNECTED(00000003)
---
Certificate chain
 0 s:/CN=someSubdomain.someorganisation.com
   i:/CN=someSubdomain.someorganisation.com
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=someSubdomain.someorganisation.com
issuer=/CN=someSubdomain.someorganisation.com
---
No client certificate CA names sent
---
SSL handshake …
Run Code Online (Sandbox Code Playgroud)

java ssl https certificate ssl-certificate

98
推荐指数
7
解决办法
35万
查看次数

如何告诉Maven忽视SSL错误(并信任所有证书)?

我经常需要运行"mvn"命令:

mvn -f pom.xml clean install -Dmaven.test.skip=false --settings /Users/myhome/settings.xml -X -Djavax.net.ssl.trustStore=/Users/myhome/truststore.jks -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=dummy -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -U
Run Code Online (Sandbox Code Playgroud)

由于我需要与其他各种域集成,因此每次我必须将其证书添加到truststore.jks以防止SSL握手错误.

有什么办法可以配置mvn来忽略SSL错误.

ssl-certificate maven

93
推荐指数
3
解决办法
14万
查看次数

我的SSL证书应该使用什么RSA密钥长度?

我正在创建一个CSR,我想知道哪个可以说是我的RSA密钥的最佳长度.

当然,384可能太弱了,16384可能太慢了.

是否应该使用密钥长度达成共识,具体取决于证书的生命周期?

编辑:像大多数人一样,我希望我的钥匙能够相当强大.我并不担心国家安全局可能会在2019年破坏我的密钥.我只想知道当一个人计划做正常业务时最好的做法是什么(例如电子商务网站)

ssl cryptography rsa csr ssl-certificate

91
推荐指数
6
解决办法
8万
查看次数