{"id":81902,"date":"2018-02-24T19:51:04","date_gmt":"2018-02-24T19:51:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dgxpco\/"},"modified":"2018-03-03T04:45:43","modified_gmt":"2018-03-03T04:45:43","slug":"dgxpco","status":"closed","type":"plugin","link":"https:\/\/jv.wordpress.org\/plugins\/dgxpco\/","author":295019,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"4.9.29","requires":"4.2.0","requires_php":"","requires_plugins":"","header_name":"DGXPCO","header_author":"Eric Mann","header_description":"Secure updates for WordPress.","assets_banners_color":"488fb3","last_updated":"2018-03-03 04:45:43","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/eam","header_plugin_uri":"https:\/\/github.com\/displacetech\/dgxpco","header_author_uri":"https:\/\/eamann.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1313,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.1.0":"<p>The minimum WordPress version requirement is now 4.2.0.<\/p>","1.0.0":"<p>First Release<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1828560","resolution":"256x256","location":"assets"}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":"1828549","resolution":"1544x500","location":"assets"},"banner-772x250.png":{"filename":"banner-772x250.png","revision":"1828905","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[125,2552,5939],"plugin_category":[54],"plugin_contributors":[79892],"plugin_business_model":[],"class_list":["post-81902","plugin","type-plugin","status-closed","hentry","plugin_tags-secure","plugin_tags-update","plugin_tags-upgrade","plugin_category-security-and-spam-protection","plugin_contributors-ericmann","plugin_committers-ericmann"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/dgxpco_488fb3.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>DGXPCO (Digital Guarantees for eXplicitly Permitted Core Operations) is a proof-of-concept cryptographic signature verification utility for WordPress software updates. The plugin will source manual (offline) signatures for WordPress core updates and prevent the application from updating unless the contents of the update payload are verified with a remote signature.<\/p>\n\n<p>This provides a <em>second<\/em> source of truth for the integrity of WordPress updates beyond the MD5 content hash supplied in the header from the WordPress update server. If that server were ever breached, it's unlikely the server hosting the <em>signatures<\/em> of the files was also breached. If the signatures ever fail to validate, you can know your site was protected from an attack.<\/p>\n\n<!--section=installation-->\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Upload the entire <code>\/dgxpco<\/code> directory to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate DGXPCO through the 'Plugins' menu in WordPress.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Installation Instructions<\/dt>\n<dd><h4>Manual Installation<\/h4>\n\n<ol>\n<li>Upload the entire <code>\/dgxpco<\/code> directory to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate DGXPCO through the 'Plugins' menu in WordPress.<\/li>\n<\/ol><\/dd>\n<dt>Who is responsible for the signatures<\/dt>\n<dd><p>At the moment, <a href=\"https:\/\/eamann.com\">Eric Mann<\/a> will personally verify and sign every new update payload once it's released by the core team. The signatures of each core file are hosted in a <a href=\"https:\/\/github.com\/DisplaceTech\/release-hashes\">separate GitHub repository<\/a>, with every commit signed by Eric's <a href=\"https:\/\/keybase.io\/eamann\">GPG private key<\/a> for redundant verification.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Filter the upgrade cache to avoid prompting core upgrades with missing signatures.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Introduce integration test for full core compatibility guarantees.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release<\/li>\n<\/ul>","raw_excerpt":"Secure software updates for WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/81902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=81902"}],"author":[{"embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ericmann"}],"wp:attachment":[{"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=81902"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=81902"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=81902"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=81902"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=81902"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/jv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=81902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}