hkp-client
Description
HKP PGP Key Server Client
This is a client to look up (search) and fetch PGP keys from a server.
Its is based/adapted from Node HKP Client.
Support
Please feel free to fork and send pull-requests if you want to add new features or send bug fixes.
Other links:
Installation
You can simply git-clone it:
$ git clone https://github.com/Rhaseven7h/hkp-client.git
or use bower install:
$ bower install hkp-client
and link it from your html file
<script src="bower_components/hkp-client/src/hkp-client.js"></script>
HKP Server Selection
This is optional, by default it will use http://pgp.mit.edu:11371
, but you can use other servers.
hkpClient.server = "http://pgp.mit.edu:11371";
How to look up (search) for a key
Find public key entries in server by user id.
hkpClient.search("rha7.com@gmail.com")
.done(function(records, data, textStatus, jqXHR) {
console.log("Search::Yeah!", records);
})
.fail(function(jqXHR, textStatus, errorThrown) {
console.log("Search::Bummer!", textStatus, errorThrown);
})
;
Sample result:
{
"info": {
"version": "1",
"count": "2"
},
"active": [
{
"uid": {
"user": "Gabriel Medina (Ooyala) <gmedina@ooyala.com>",
"time": "1437516005",
"exp": "",
"flags": ""
},
"pub": {
"keyId": "F7EB45A01722B93A4F60EA22910915ABE34A15DA",
"algo": "1",
"bits": "4096",
"time": "1437516005",
"exp": "1563746405",
"flags": ""
}
}
],
"inactive": [
{
"uid": {
"user": "Gabriel Medina (Ooyala) <gmedina@ooyala.com>",
"time": "1435926534",
"exp": "",
"flags": ""
},
"pub": {
"keyId": "5B65834B595BF1DCF5BF07A083D8541B89EB0920",
"algo": "1",
"bits": "4096",
"time": "1435926534",
"exp": "1562156934",
"flags": "r"
}
}
]
}
How to fetch a key definition
Fetch a specific public by key id.
hkpClient.fetch("35F6CE83886558ABF6CE59D7AD5F669D16A76D39")
.done(function(key, data, textStatus, jqXHR){
console.log("Fetch::Yeah!", key);
})
.fail(function(jqXHR, textStatus, errorThrown){
console.log("Fetch::Bummer!", textStatus, errorThrown);
})
;
Sample result:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.5
Comment: Hostname: pgp.mit.edu
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
AA7FgjNpYA8kdEZfArc=
=EkjF
-----END PGP PUBLIC KEY BLOCK-----
Finally
If you want to say hi, drop me a line by mail (rha7.com@gmail.com), Twitter (@_Rha7_) or LinkedIn (gmedinam).