AWS Lambda que extrai o Common Name (CN) de um certificado digital no formato PEM.
Esta função recebe o conteúdo de um certificado PEM via evento e retorna o Common Name (campo Subject CN) do certificado. O tratamento de erros é centralizado no handler, garantindo que respostas HTTP reflitam corretamente o estado real da operação.
lambda-get-common-name/
├── index.mjs # Handler principal da Lambda
├── package.json
└── functions/
├── index.mjs # Barrel de exports
└── getCommonName.mjs # Lógica de leitura do certificado PEM
- Node.js >= 18
- AWS Lambda com runtime Node.js 18.x ou superior (ES Modules habilitado via
"type": "module")
| Pacote | Versão | Descrição |
|---|---|---|
pem |
^1.14.8 | Leitura e parsing de certificados PEM |
aws-sdknão é necessário — não há chamadas a serviços AWS nesta função.
npm install{
"contentPem": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
}{
"commonName": "example.com"
}Erros são propagados pelo handler e retornam:
{
"error": "Mensagem de erro"
}Erros possíveis:
| Cenário | Mensagem |
|---|---|
Campo contentPem ausente |
PEM content is missing |
| Conteúdo PEM inválido/corrompido | Error reading PEM: <detalhe> |
Configure o Handler como index.handler e o runtime como Node.js 18.x (ou superior).
# Instalar dependências de produção
npm install --omit=dev
# Gerar pacote de deploy
zip -r function.zip index.mjs package.json functions/ node_modules/Em seguida, faça o upload do function.zip via Console AWS ou AWS CLI:
aws lambda update-function-code \
--function-name lambda-get-common-name \
--zip-file fileb://function.zipNenhuma variável de ambiente é necessária para o funcionamento desta função.
Evento Lambda
└── handler (index.mjs)
└── getCommonName(contentPem)
├── Valida presença do PEM
├── Lê o certificado via pem.readCertificateInfo()
└── Retorna certInfo.commonName