Я настраиваю новый ssl-сервер и хочу создать ЦС с помощью узла
Я хочу выполнить эту команду OpenSSL в NodeJS
openssl genrsa -aes256 -passout pass:123456 -out intermediate/private/client.key.pem 2048
openssl req -config intermediate/openssl.cnf -passin pass:123456 -key intermediate/private/client.key.pem -new -sha256 -out intermediate/csr/client.csr.pem -subj "/C=US/ST=California/L=Mountain View/O=Alice Ltd/OU=Alice Ltd Web Services/CN=client"
openssl ca -batch -config intermediate/openssl.cnf -extensions usr_cert -days 375 -notext -md sha256 -key intermediate -in intermediate/csr/client.csr.pem -out intermediate/certs/client.cert.pem
openssl x509 -noout -text -in intermediate/certs/client.cert.pem
openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/client.cert.pem
Вот как создать сертификат с помощью центра сертификации OpenSSL OpenSSL.
Я пробовал эту библиотеку узлов pem
Это моя закрытая проблема. не могу создать csr из закрытого ключа № 244 github
Эта функция для генерации privateKey с паролем
var privateKeyOptions = {
cipher: 'aes256',
password: '123456'
}
pem.createPrivateKey(2048, privateKeyOptions, function(err, key) {
console.log(key.key)
fs.writeFile('/root/ca/intermediate/private/client.key.pem', key.key, function(err) {
if (err) {
throw err
}
});
});
Когда я попробовал эту функцию использовать этот ключ для создания CSR
var csrOptions = {
clientKey: '/root/ca/intermediate/private/client.key.pem',
clientKeyPassword: '123456',
hash: 'sha256',
country: 'US',
state: 'California',
locality: 'Mountain View',
organization: 'Alice Ltd',
organizationUnit: 'Alice Ltd Web Services',
commonName: 'pass:client',
}
pem.createCSR( csrOptions , function(err, csr) {
if (err) {
throw err
} else {
console.log(csr.clientKey)
console.log(csr.csr)
}
});
Я получаю эту ошибку
/root/sslnode/index2.js:37
бросить ошибку ^
Ошибка: недопустимый код выхода openssl: 1
% openssl req -new -sha256 -config /root/ca/intermediate/openssl.cnf -key / tmp / 54f976cb9cbd0e2dd53b755badb6e6e3fe2256ad -passin файл: / tmp / 3f4640f1c78cf34f1c135c7c955f1
невозможно загрузить закрытый ключ 140563986715072: ошибка: 0906D06C: подпрограммы PEM: PEM_read_bio: нет начала ›строка: ../ crypto / pem / pem_lib.c: 691: ожидается: ЛЮБОЙ ЧАСТНЫЙ КЛЮЧ
готово (/root/sslnode/node_modules/pem/lib/openssl.js:158:27)
в ChildProcess. (/root/sslnode/node_modules/pem/lib/openssl.js:175:7)
в ChildProcess.emit (events.js: 188: 13)
в mightClose (internal / child_process.js: 978: 16)
в Process.ChildProcess._handle.onexit (внутренний / child_process.js: 265: 5)