/** * PublicKey.js * https://github.com/diafygi/publickeyjs * * A simple javascript library that allows you to search for PGP * public keys on SKS keyservers and Keybase. The API and results * are similar to specifications described in HTTP Keyserver Protocol. * * @licstart The following is the entire license notice for the * JavaScript code in this file. * * Copyright (c) 2015 Daniel Roesler * * The JavaScript code in this page is free software: you can * redistribute it and/or modify it under the terms of the GNU * General Public License (GNU GPL) as published by the Free Software * Foundation, either version 3 of the License, or (at your option) * any later version. The code is distributed WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. * * As additional permission under GNU GPL version 3 section 7, you * may distribute non-source (e.g., minimized or compacted) forms of * that code without the copy of the GNU GPL normally required by * section 4, provided you include this license notice and a URL * through which recipients can access the Corresponding Source. * * @licend The above is the entire license notice * for the JavaScript code in this file. * * @author Daniel Roesler (diafygi) */ (function(t){var u=["https://keys.fedoraproject.org/","https://keybase.io/"],p=function(e){this.keyservers=e||u};p.prototype.get=function(e,k,h,c){void 0===h&&(h=0);if(h>=this.keyservers.length)return k(null,c||404);c=this.keyservers[h];var g=this;if(0===c.indexOf("https://keybase.io/")){0===e.indexOf("0x")&&(e=e.substr(2));var b=new XMLHttpRequest;b.open("get","https://keybase.io/_/api/1.0/user/lookup.json?fields=public_keys&key_fingerprint="+e);b.onload=function(){if(200===b.status){var c=JSON.parse(b.responseText); return 0!==c.status.code?g.get(e,k,h+1,c.status.code):0===c.them.length?g.get(e,k,h+1,404):k(c.them[0].public_keys.primary.bundle,null)}return g.get(e,k,h+1,b.status)}}else 0!==e.indexOf("0x")&&(e="0x"+e),b=new XMLHttpRequest,b.open("get",c+"pks/lookup?op=get&options=mr&search="+e),b.onload=function(){return 200===b.status?k(b.responseText,null):g.get(e,k,h+1,b.status)};b.send()};p.prototype.search=function(e,k,h,c,g){void 0===h&&(h=0);void 0===c&&(c=[]);if(h>=this.keyservers.length){if(0===c.length)return k(null, g||404);g={};for(var b=0;b",creationdate:null,expirationdate:null,revoked:!1,disabled:!1,expired:!1}]};void 0!==a.full_name&&l.uids.push({uid:"Full Name: "+a.full_name.val,creationdate:null,expirationdate:null,revoked:!1,disabled:!1,expired:!1});void 0!==a.twitter&&l.uids.push({uid:a.twitter.val+" on Twitter ",creationdate:null,expirationdate:null, revoked:!1,disabled:!1,expired:!1});void 0!==a.github&&l.uids.push({uid:a.github.val+" on Github ",creationdate:null,expirationdate:null,revoked:!1,disabled:!1,expired:!1});void 0!==a.reddit&&l.uids.push({uid:a.reddit.val+" on Github ",creationdate:null,expirationdate:null,revoked:!1,disabled:!1,expired:!1});void 0!==a.hackernews&&l.uids.push({uid:a.hackernews.val+" on Hacker News ",creationdate:null,expirationdate:null,revoked:!1,disabled:!1,expired:!1});void 0!==a.coinbase&&l.uids.push({uid:a.coinbase.val+" on Coinbase ",creationdate:null,expirationdate:null,revoked:!1,disabled:!1,expired:!1});if(void 0!==a.websites)for(var d=0;d