GVKun编程网logo

PHP-SSL证书错误:无法获取本地颁发者证书(无法获取证书信息)

8

在本文中,我们将给您介绍关于PHP-SSL证书错误:无法获取本地颁发者证书的详细内容,并且为您解答无法获取证书信息的相关问题,此外,我们还将为您提供关于400错误请求:SSL证书错误、CERTIFIC

在本文中,我们将给您介绍关于PHP-SSL证书错误:无法获取本地颁发者证书的详细内容,并且为您解答无法获取证书信息的相关问题,此外,我们还将为您提供关于400错误请求:SSL证书错误、CERTIFICATE_VERIFY_FAILED:无法在MultipartFile中获取本地颁发者证书、curl – SSL证书错误、cURL 错误 60:SSL 证书问题:无法在新手桌面应用程序快速入门项目中获取本地颁发者证书的知识。

本文目录一览:

PHP-SSL证书错误:无法获取本地颁发者证书(无法获取证书信息)

PHP-SSL证书错误:无法获取本地颁发者证书(无法获取证书信息)

如何解决PHP-SSL证书错误:无法获取本地颁发者证书?

终于有了这个工作!

  1. 下载证书捆绑包。

  2. 放在某处。就我而言,这是c:\wamp\目录(如果您使用的是Wamp 64位,则为c:\wamp64\)。

  3. mod_ssl在Apache和PHP_openssl.dllin中启用PHP.ini(通过删除;开头取消注释)。但是要小心,我的问题是我有两个PHP.ini文件,我需要在两个文件中都这样做。一种是您从WAMP任务栏图标中获得的,另一种是我的情况,C:\wamp\bin\PHP\PHP5.5.12\

  4. 将以下两行添加到您的证书中PHP.ini

    curl.cainfo="C:/wamp/cacert.pem"
    

    openssl.cafile=”C:/wamp/cacert.pem”

  5. 重新启动Wamp服务。

解决方法

我正在Windows 7上将PHP版本5.6.3作为XAMPP的一部分运行。

当我尝试使用Mandrill API时,出现以下错误:

消息“ API调用消息/发送模板失败”的未捕获异常“ Mandrill_HttpError”:SSL证书问题:无法获取本地颁发者证书

我已经尝试了我在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中:

curl.cainfo = "C:\xampp\php\cacert.pem"

当然,还可以从http://curl.haxx.se/docs/caextract.html将cacert.pem文件下载到该位置。

但毕竟,重新启动了XAMPP和Apache服务器,但仍然收到相同的错误。

我真的不知道还能尝试什么。

谁能建议我还能尝试什么?

400错误请求:SSL证书错误

400错误请求:SSL证书错误

当我尝试使用此命令获取客户端密钥和证书的页面时,出现此错误:

curl -v -s --key /home/dmitry/Downloads/client_cert/client.mysite.key --cert /home/dmitry/Downloads/client_cert/client.mysite.crt https://mysite.com/api/login/

以下是我在Nginx日志中看到的内容:

2014/12/08 06:30:55 [crit] 13087#0: *404 SSL_do_handshake() Failed (SSL: error:14094085:SSL routines:SSL3_READ_BYTES:ccs received early) while SSL handshaking,client: xxx.xxx.xxx.xxx,server: 0.0.0.0:443

这里是我的Nginx.conf的一部分:

server { listen 443 ssl; ssl_certificate /home/mysite/conf/dev/ssl/com.mysite.crt; ssl_certificate_key /home/mysite/conf/dev/ssl/com.mysite.key; ssl_client_certificate /home/mysite/conf/dev/ssl/com.mysite.crt; ssl_verify_client optional; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; server_name mysite.com www.mysite.com; access_log /home/mysite/logs/Nginx_access.log; error_log /home/mysite/logs/Nginx_error.log; location /api/{ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header SSL-client-serial $ssl_client_serial; proxy_set_header SSL-client-dn $ssl_client_s_dn; proxy_set_header SSL-client-verify $ssl_client_verify; if ($ssl_client_verify != SUCCESS) { return 403; break; } } }

以下是我用来创build客户端证书的命令:

为什么从Web服务器执行时,Python环境variables有所不同?

如何configurationNginx显示文件内容而不是下载它?

Nginx:正确设置压缩样式/脚本的MIMEtypes

升级到PHP 7后fsockopen错误

Nginx如何将proxy_pass传递给代理

openssl req -out client.mysite.csr -new -newkey rsa:2048 -nodes -keyout client.mysite.key openssl x509 -req -days 3650 -in client.mysite.csr -CA com.mysite.crt -CAkey com.mysite.key -set_serial 01 -out client.mysite.crt

这里有什么可能是错的? 我应该使用一些其他证书作为我的客户端证书的CA而不是服务器证书吗?

更新:

当我做

openssl verify -CAfile com.mysite.crt client.mysite.crt

我得到:

error 20 at 0 depth lookup:unable to get local issuer certificate

Dockerregistrylogin失败,“证书由未知权限签名”

关于Java Web应用程序和X-REAL-IP标题的问题

使用Nginx调整数据传输的成本

删除www。 从主机名使用Nginx重写

使用Nginx / Fastcgi在子URL下部署django

我用来签署另一个证书不是CA所以它根本无法验证,所以这就是为什么我从openssl verify命令有这个错误:

error 20 at 0 depth lookup:unable to get local issuer certificate

如果你不是CA,那么显然没有什么可以做的。

ccs早期收到

看起来像修复CVE-2014-0224的后果 。 由于修补程序似乎可用,请检查您的系统是否为最新版本或向您的经销商报告错误。

如果要添加有关正在运行的服务器系统的信息,特别是哪个操作系统,哪个版本的OpenSSL以及哪些修补程序,可能会提供更多详细信息。

CERTIFICATE_VERIFY_FAILED:无法在MultipartFile中获取本地颁发者证书

CERTIFICATE_VERIFY_FAILED:无法在MultipartFile中获取本地颁发者证书

参考:Github 只需通过IOClient发送您的请求 例如:

    addAssets(Map formFields,List files) async {
        Map resp = {
            'Status' : false,'Msg' : "Unable to add asset"
        };
        try {
            Uri url = Uri.parse("$BaseUrl$AddAssetUrl");
            http.MultipartRequest multi = http.MultipartRequest("POST",url);

            formFields.forEach((key,val) {
                multi.fields[key] = val;
            });

            for (var val in files) {
                var myFile = await http.MultipartFile.fromPath('MediaFiles[]',val);
                multi.files.add(
                    myFile,);
            }
            HttpClient httpClient = HttpClient();
            httpClient .badCertificateCallback = (X509Certificate cert,String host,int port) {
              return getBaseUrl() == host;
            };
            http.StreamedResponse streamedResponse = await IOClient(
                 httpClient
            ).send(multi);

            String body = await streamedResponse.stream.bytesToString();
            if(streamedResponse.statusCode == 200 && isJSON(body)){
                Map data = json.decode(body);
                resp['Status'] = data['Status'];
                resp['Msg'] = data['Msg'];
            }
            debugPrint(body);

        } catch (e) {
            if(TestMode) print(e.toString());
        }
        return resp;
    }

String getBaseUrl(){
    String url = 'https://hostname.com/api_dir/'; // Your api url
    url = url.substring(url.indexOf('://')+3);
    return url.substring(0,url.indexOf('/'));
}

curl – SSL证书错误

curl – SSL证书错误

我正在使用key,ca,cert in options测试对本地节点服务器的SSL访问(自签名w OpenSSL)
var server_options = {
  key: fs.readFileSync('/etc/ssl/self-signed/server.key'),ca: fs.readFileSync('/etc/ssl/self-signed/server.csr'),cert: fs.readFileSync('/etc/ssl/self-signed/server.crt')
};

试图访问它:

curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

使用curl我收到以下错误:

curl: (60) SSL certificate problem,verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed

我从http://curl.haxx.se/ca/cacert.pem下载了ca证书并将它们添加到我的curl-ca-bundle-new.crt文件中,正如一些与curl相关的帖子中所建议的那样……但是没办法

这是日志

  • About to connect() to macMini.local port 8000 (#0)
    • Trying 192.168.1.14…
    • connected
    • Connected to macMini.local (192.168.1.14) port 8000 (#0)
    • SSLv3,TLS handshake,Client hello (1):
    • SSLv3,Server hello (2):
    • SSLv3,CERT (11):
    • SSLv3,TLS alert,Server hello (2):
    • SSL certificate problem,verify that the CA cert is OK. Details:
      error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed
    • Closing connection #0
      curl: (60) SSL certificate problem,verify that the CA cert is OK. Details:
      error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed
      More details here: 07001

我知道我可以绕过Curl CA检查,使用:

curl -k -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

在这种情况下运行正常,我可以看到:

SSL certificate verify result: self signed certificate (18),continuing anyway.

但是我想知道是否有办法解决这个问题……

解决方法

这是您应该添加到CA捆绑包的自签名证书.否则,curl无法知道它可以信任.

cURL 错误 60:SSL 证书问题:无法在新手桌面应用程序快速入门项目中获取本地颁发者证书

cURL 错误 60:SSL 证书问题:无法在新手桌面应用程序快速入门项目中获取本地颁发者证书

如何解决cURL 错误 60:SSL 证书问题:无法在新手桌面应用程序快速入门项目中获取本地颁发者证书?

第一次尝试使用快速入门示例“桌面应用”客户端访问 Google 云端硬盘。在 Win10 cmd.exe 窗口中运行建议的 PHP 代码的所有尝试都会导致“cURL 错误 60:SSL 证书问题:无法获得本地颁发者证书”。我怀疑问题确实在于没有找到证书。我已经按照推荐下载了 cacert.pem,但不知道把它放在哪里,也不知道如何“激活”它。我已经尝试使用 mmc 并将其添加到 Win10 证书存储区、Chrome 证书存储区,直接在 C:\Users\Jim\vendor\guzzlehttp\guzzle\src\Handler(CurlFactory.PHP 所在的位置)并在我的PHP.ini 文件在我的 WAMP 文件夹的根目录中(我认为命令行看起来可以运行所有“PHP”命令。)

这是一个典型的运行及其输出:

C:\Users\Jim>PHP GDriveTest.PHP 在浏览器中打开以下链接:https://accounts.google.com/o/oauth2/auth?response_type=code&access_type=offline&client_id=486957047998-6g5vg2oci50cj98gvqhb1348knuo65df.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&state&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.metadata.readonly&prompt=select_account%20consent 输入验证码:------------------------

致命错误:未捕获异常“GuzzleHttp\Exception\RequestException”,消息“cURL 错误 60:SSL 证书问题:无法获取本地颁发者证书(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html)”位于 C:\Users\Jim\vendor \guzzlehttp\guzzle\src\Handler\CurlFactory.PHP:187 堆栈跟踪: #0 C:\Users\Jim\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.PHP(150): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle),Array) #1 C:\Users\Jim\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.PHP(103): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler),Object(GuzzleHttp\Handler\ EasyHandle),对象(GuzzleHttp\Handler\CurlFactory)) #2 C:\Users\Jim\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.PHP(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler),对象(GuzzleHttp\Handler\CurlFactory)) #3 C:\Users\Jim\vendor\guzzlehttp\guzzle\src\Handler\Proxy.PHP(28): GuzzleHttp\Handler\Cur in C:\Users\Jim\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory .PHP 第 187 行

有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

今天关于PHP-SSL证书错误:无法获取本地颁发者证书无法获取证书信息的讲解已经结束,谢谢您的阅读,如果想了解更多关于400错误请求:SSL证书错误、CERTIFICATE_VERIFY_FAILED:无法在MultipartFile中获取本地颁发者证书、curl – SSL证书错误、cURL 错误 60:SSL 证书问题:无法在新手桌面应用程序快速入门项目中获取本地颁发者证书的相关知识,请在本站搜索。

本文标签: