Ошибка доступа к общедоступному объекту GCP Cloud Storage - PullRequest
0 голосов
/ 30 января 2019

Я получаю следующую ошибку при чтении файла сертификата SSL из GCP Cloud Storage.

* Connected to [my.website.com] (A.b.C.D) port 443 (#0)
* found 6 certificates in /home/<username>/[CAINFO].crt
* found 597 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* error reading X.509 key or certificate file: Error while reading file.
* Closing connection 0
Error: SSL connect error
    at Error (native)
file." 

Вот что я делаю.

  1. В коде NodeJS яПроверка связи с конечной точкой API при аутентификации с использованием сертификатов SSL
  2. У меня есть сертификат SSL, хранящийся в облачном хранилище GCP и сделанный общедоступным (только для тестирования), следуя инструкциям, приведенным здесь .
  3. Даны инструкции для доступа к этому объекту здесь .
  4. Используя gsutil, я могу получить доступ к сертификату.

    $ gsutil ls -r gs://[BUCKET_NAME]/[SSLCERT].pem gs://[BUCKET_NAME]/[SSLCERT].pem

  5. Когда я получаю доступ к сертификату SSL из кода NodeJS, я получаю вышеуказанную ошибку.URL для доступа к файлу: http://storage.googleapis.com/[BUCKET_NAME]/[SSLCERT].pem

  6. Вместо облачного хранилища, если я получаю доступ к сертификату с локального диска и запускаю код NodeJS, он работает нормально.Итак, сертификат действителен.

Схема моего кода:

const Curl = require('node-libcurl').Curl;
const curl = new Curl();

const URL = 'https://api-end-point.com';

// let sslcert = '/home/path/to/[SSLCERT].pem';  << this works
let sslcert = 'http://storage.googleapis.com/[BUCKET_NAME]/[SSLCERT].pem';  << NOT working

curl.setOpt('URL', URL);
... 
curl.setOpt('SSLCERT', sslcert);
... 

curl.on('end', function(statusCode, body, headers) {

    console.info("Status Code: " + statusCode);
    console.info(body.length);
    this.close();
}); 

curl.on('error', (err) => {
    console.log(err);
}); 

curl.perform();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...