{"id":15497353,"url":"https://github.com/heapwolf/pkp","last_synced_at":"2025-09-01T21:34:47.282Z","repository":{"id":9749700,"uuid":"11713750","full_name":"heapwolf/pkp","owner":"heapwolf","description":"Public Key Pen! (code from my Nodeconf.eu talk)","archived":false,"fork":false,"pushed_at":"2013-09-10T15:07:05.000Z","size":559,"stargazers_count":13,"open_issues_count":8,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-05T04:04:30.817Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heapwolf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-28T01:59:22.000Z","updated_at":"2025-04-30T09:37:22.000Z","dependencies_parsed_at":"2022-09-04T23:00:50.736Z","dependency_job_id":null,"html_url":"https://github.com/heapwolf/pkp","commit_stats":null,"previous_names":["hij1nx/pkp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/heapwolf/pkp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heapwolf%2Fpkp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heapwolf%2Fpkp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heapwolf%2Fpkp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heapwolf%2Fpkp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heapwolf","download_url":"https://codeload.github.com/heapwolf/pkp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heapwolf%2Fpkp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265427297,"owners_count":23763279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T08:33:04.966Z","updated_at":"2025-07-15T10:05:48.102Z","avatar_url":"https://github.com/heapwolf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Public Key Pen \nHelps you create and distribute certificates. It is designed\nto work in concert with [PKS][0].\n\n## USAGE\n```\nnpm install pkp -g\npkp config\n```\n\n### SIGNING\n```\npkp sign --package \u003cname\u003e [version]\npkp sign --remote \u003curl\u003e\npkp sign ./path/to/code\n```\n\n### THIRD PARTY VERIFICATION\nThe verify method tries to validate the certificates and their public \nkeys found in the cerrtificate of the specified code.\n\n```\npkp verify --package \u003cname\u003e [version]\npkp verify --remote \u003curl\u003e\npkp verify ./path/to/code\n```\n\n[98]:http://people.csail.mit.edu/rivest/sdsi11.html#secprincipals\n[99]:http://lcs3.syr.edu/faculty/chin/cse774/readings/pki/gutmann02.pdf\n\n## DATA CERTIFICATE SPEC\n```json\n{\n  \"0.0.1\": {\n    \"addresses\": \"paolo@async.ly\",\n    \"name\": \"Paolo Fragomeni\",\n    \"urls\": [\"async.ly/x\"],\n    \"public\": \"-----BEGIN RSA PUBLIC KEY-----\\nMIIBCgKCAQEAwIB6PV4gYy1X47zQllmke+KGYdXFH1xyrO0q4DZw3OBHr187xZWn81LWI6av\\nyIhW+XDeVYuAud1+VqnsvsBASD19qc2xXiZ21cHdSfB1N2nSHBBHB2e+ubhDEN9PbhAcO+BK\\ngr8E0/ucGy5thM70KZpVuJGXZJWABzlrin/Q3xyk/46OFQNj5DXjmSfSoWcs76TknAkttz0N\\nc4QK3buByERNeWOjJsZjTj5w8StVpwfc2Ut3wUIoks/8w+nwqiAW1tHVoCjcol8fHIvRiiNH\\n1bYS+ZkBgb0RUKzQkl+l8o6IfFzhSnvt9g+E5aVOgzJs/O2RdwjpHpVsfwh74pM8qwIDAQAB\\n-----END RSA PUBLIC KEY-----\\n\\n\",\n    \"data\": \"7330651368657d5f711b5f15481949a9a30221b2\",\n    \"algorithm\": \"sha1\",\n    \"signatures\": [\n      {\n        \"addresses\": \"john@doe.com\",\n        \"name\": \"John Doe\",\n        \"urls\": [\"somesite.com/x\"],\n        \"public\": \"-----BEGIN RSA PUBLIC KEY-----\\nMIIBCgKCAQEAwIB6PV4gYy1X47zQllmke+KGYdXFH1xyrO0q4DZw3OBHr187xZWn81LWI6av\\nyIhW+XDeVYuAud1+VqnsvsBASD19qc2xXiZ21cHdSfB1N2nSHBBHB2e+ubhDEN9PbhAcO+BK\\ngr8E0/ucGy5thM70KZpVuJGXZJWABzlrin/Q3xyk/46OFQNj5DXjmSfSoWcs76TknAkttz0N\\nc4QK3buByERNeWOjJsZjTj5w8StVpwfc2Ut3wUIoks/8w+nwqiAW1tHVoCjcol8fHIvRiiNH\\n1bYS+ZkBgb0RUKzQkl+l8o6IfFzhSnvt9g+E5aVOgzJs/O2RdwjpHpVsfwh74pM8qwIDAQAB\\n-----END RSA PUBLIC KEY-----\\n\\n\",\n        \"signature\": {\n          \"data\": \"RjCojNv/oJMarme4zojP43rUKCoLADt2TQxOF2oOpEuOoSjD3uIGXa8raltUf7UNseTPXUFbktspgOaJ/z45C+uhOgdOrhAOgJudCT+22xsW1IG2LFmbnnEv865R5h6w38DYaFZK3BjddLR5IPrkoDHw+Pk5xr43npc/XU1BHxI7/xmNyi3ydm9DJ44WXwiQo7ypK5PbgNC+k6AN+XSFQm+sK1rH7w1d22J+jR48SHejNaXPyAkMEQDuEGu0v/gnT8GSh+GGPqJZNKg8QVbIXK5hDD7ztvHmU3w5hDlzWvUGMJ9OWUlNPrnc/swTW0PdO6C9OinXw7BjXVoJsjQk3g==\",\n          \"algorithm\": \"sha1-base64\"\n        }\n      }\n    ]\n  }\n}\n```\n\n[1]:http://groups.csail.mit.edu/cis/sdsi.html\n[2]:http://www.rsa.com/rsalabs/node.asp?id=2165\n[3]:http://firstmonday.org/ojs/index.php/fm/article/view/778/687\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheapwolf%2Fpkp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheapwolf%2Fpkp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheapwolf%2Fpkp/lists"}