Próbuję złożyć wniosek o obietnicę HTTPS. Wiem już, że PFX jest dobry i to nie jest problem (mam podobną przykładową aplikację działającą).Node.js - Błąd HTTPS PFX: Nie można załadować BIO
robie co następuje:
var request = require('request-promise');
...
options.pfx = fs.readFileSync('myfile.pfx');
options.passphrase = 'passphrase';
ja przechodząc do opcji moje żądania.
request.post(options);
I następnie spróbować zbudować wniosek pojawia się następujący błąd:
_tls_common.js:130
c.context.loadPKCS12(pfx, passphrase);
^
Error: Unable to load BIO
at Error (native)
at Object.createSecureContext (_tls_common.js:130:17)
at Object.exports.connect (_tls_wrap.js:955:21)
at Agent.createConnection (https.js:73:22)
at Agent.createSocket (_http_agent.js:174:16)
at Agent.addRequest (_http_agent.js:143:23)
at new ClientRequest (_http_client.js:133:16)
at Object.exports.request (http.js:31:10)
at Object.exports.request (https.js:163:15)
at Request.start (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:747:30)
at Request.write (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:1369:10)
at end (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:561:16)
at Immediate._onImmediate (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:589:7)
at processImmediate [as _immediateCallback] (timers.js:374:17)
Mam app próbki, gdzie ten sam kod działa. Próbowałem przekonwertować na .p12 bez powodzenia.
Czy ktoś ma pomysł, do czego ten błąd może się odnosić?
Edit: Używam lodash zrobić scalania 2 obiektów o właściwościach DINAMIC i właściwości statycznych
_.merge(options, _this.requestOptions);
i to było przyczyną problemu
Znalazłeś coś? Dostaję dokładnie ten sam błąd –
Co różni ten kod od przykładowej aplikacji, w której "działa ten sam kod"? _I.e._ to dwie aplikacje uruchamiane przez różnych użytkowników (sugerujące uprawnienia systemu plików w pliku 'myfile.pfx')? Czy dany plik PFX używa tego samego hasła do ochrony kontenera ** i ** klucza prywatnego lub różnych haseł? – Castaglia
Moim problemem było lodash Robiłem "_.merge (options, _this.requestOptions); "to było kłopotliwe z moim kodowaniem. – fasantos