Dependencies
Primeiro devemos certificar que temos o programa openssl
dpkg -l |grep openssl
dpkg -l |grep openssl
deve aparecer algo como isto
ii libgnutls-openssl27:amd64 2.12.23-12ubuntu2.4 amd64 GNU TLS library - OpenSSL wrapper
ii openssl 1.0.1f-1ubuntu2.16 amd64 Secure Sockets Layer toolkit - cryptographic utility
ii libgnutls-openssl27:amd64 2.12.23-12ubuntu2.4 amd64 GNU TLS library - OpenSSL wrapper
ii openssl 1.0.1f-1ubuntu2.16 amd64 Secure Sockets Layer toolkit - cryptographic utility
senão tiver o openssl
instalado, instale com o comando:
(debian based)
apt-get install openssl
apt-get install openssl
Generate Keys
Para gerar a chave privada e o certificado rode o comando:
openssl req -x509 -newkey rsa:2048 -keyout keytmp.pem -out cert.pem -days 365
openssl req -x509 -newkey rsa:2048 -keyout keytmp.pem -out cert.pem -days 365
Depois gere a chave descriptografada:
openssl rsa -in keytmp.pem -out key.pem
openssl rsa -in keytmp.pem -out key.pem
ja pode excluir o arquivo keytmp.pem
, ele não será mais necessário.
Use Oak with Key and Certificate
Para usar Oak com HTTPS devemos passar os atributos secure
, certFile
e keyFile
.
como o exemplo a seguir:
await App.listen({
port: 8000,
secure: true,
certFile: './cert.pem',
keyFile: './key.pem',
})
await App.listen({
port: 8000,
secure: true,
certFile: './cert.pem',
keyFile: './key.pem',
})
referências
How To Create an HTTPS Server on Localhost using Express: https://medium.com/@nitinpatel_20236/how-to-create-an-https-server-on-localhost-using-express-366435d61f28 [archive ]
oak docs: https://github.com/oakserver/oak [archive ]
OpenSSL Tutorial: How Do SSL Certificates, Private Keys, & CSRs Work?: https://phoenixnap.com/kb/openssl-tutorial-ssl-certificates-private-keys-csrs [archive ]