-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpgp_helper.js
33 lines (28 loc) · 1.26 KB
/
pgp_helper.js
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
var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8888
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1'
var express = require('express')
var app = express()
var server = require('http').createServer(app)
var openpgp = require('openpgp') // use as CommonJS, AMD, ES6 module or via window.openpgp
openpgp.initWorker({ path:'openpgp.worker.js' }) // set the relative web worker path
openpgp.config.aead_protect = true // activate fast AES-GCM mode (not yet OpenPGP standard)
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*")
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
next()
})
app.get('/keys/:nickname', function (req, res) {
var nickname = req.params.nickname
var options = {
userIds: [{ name:nickname, email:nickname+'@example.com' }],
numBits: 2048
}
openpgp.generateKey(options).then(function(key) {
var privkey = key.privateKeyArmored // '-----BEGIN PGP PRIVATE KEY BLOCK ... '
var pubkey = key.publicKeyArmored // '-----BEGIN PGP PUBLIC KEY BLOCK ... '
res.send(JSON.stringify({pubkey:pubkey,privkey:privkey}))
})
})
server.listen(server_port,server_ip_address,function () {
console.log("Listening on " + server_ip_address + ", port " + server_port)
})