Unable to run openssl via child_process call in Node.js 10x

0

I am trying to call openssl from my lambda function but am getting the following error:
Command failed: openssl: command not found

openssl is part of Amazon Linux so I'm not sure why this isn't working (I confirmed this works with Python 3.7 environment). Any help would be greatly appreciated!

Here is a sample of my code:

const exec = require('child_process').exec
const fs = require("fs")
exports.handler = async function (event, context, callback) {
exec('openssl help', (error, stdout, stderr) => {
if (error) {
throw error
}
callback(null, "success")
})
}

Edited by: gstclair on Jun 28, 2019 2:57 PM

已提問 5 年前檢視次數 1462 次
2 個答案
0
已接受的答案

For anybody having this same issue, openssl wasn't present in the Node.js container. We switched to Python, which had openssl.

已回答 4 年前
0

Hello,
Yes, I have tested OpenSSL 1.0.2k, in nodejs12.x lambda runtime with custom layer codebase, it's working fine.

Here, the link I follow, to add a custom layer to lambda.  
Reference Links:  
1. https://stackoverflow.com/questions/58548580/npm-package-pem-doesnt-seem-to-work-in-aws-lambda-nodejs-10-x-results-in-ope/58965884#58965884  
2. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html  
3. https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html?icmpid=docs_lambda_rss  
4. Sample Code: https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html  

If you want to upgrade the OpenSSL version anyhow, then you should refer: https://stackoverflow.com/questions/36468984/aws-lambda-python-libssl-c-library - I have also tested his, it's works well.
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南