blob: 7a898d7d09a35624894ac7a7dedf5fac036df106 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# https-pem
Self-signed PEM key and certificate ready for use in your HTTPS server.
A dead simple way to get an HTTPS server running in development with no
need to generate the self signed PEM key and certificate.
[![Build status](https://travis-ci.org/watson/https-pem.svg?branch=master)](https://travis-ci.org/watson/https-pem)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)
## Installation
```
npm install https-pem
```
**Warning:** Upon installation a private key and a self signed
certificate will be generated inside `./node_modules/https-pem`. The
certificate is valid for 365 days and no attempt have been made to make
this secure in any way. I suggest only using this for testing and
development where you just need an easy and quick way to run an HTTPS
server with Node.js.
## Example Usage
```js
var https = require('https')
var pem = require('https-pem')
var server = https.createServer(pem, function (req, res) {
res.end('This is servered over HTTPS')
})
server.listen(443, function () {
console.log('The server is running on https://localhost')
})
```
### Connecting
When connecting to an HTTPS server from Node.js that uses a self-signed
certificate, `https.request` will normally emit an `error` and refuse to
complete the reuqest. To get around that simply set the
`rejectUnauthorized` option to `false`:
```js
var opts = { rejectUnauthorized: false }
var req = https.request(opts, function (res) {
// ...
})
req.end()
```
If using `curl` to connect to a Node.js HTTPS server using a
self-signed certificate, use the `-k` option:
```
curl -k https://localhost:4443
```
## API
The `https-pem` module simply exposes an object with two properties:
`key` and `cert`.
### `pem.key`
The private key (RSA).
### `pem.cert`
The certificate.
## License
MIT
|