{"id":248807,"date":"2025-08-28T13:35:52","date_gmt":"2025-08-28T13:35:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smime-email-signing\/"},"modified":"2025-08-28T13:35:39","modified_gmt":"2025-08-28T13:35:39","slug":"smime-email-signing","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/smime-email-signing\/","author":23340619,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0","stable_tag":"1.0","tested":"6.8.5","requires":"6.7","requires_php":"7.2","requires_plugins":null,"header_name":"S\/MIME Email Signing","header_author":"Liups233","header_description":"A plugin for signing all outbound emails with S\/MIME certificate.","assets_banners_color":"93a3c1","last_updated":"2025-08-28 13:35:39","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/liups1213?country.x=C2&amp;locale.x=zh_XC","header_plugin_uri":"https:\/\/github.com\/liups233\/wordpress-smime-signing","header_author_uri":"https:\/\/www.liups.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":202,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0":{"tag":"1.0","author":"liups12138","date":"2025-08-28 13:35:39"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3352039,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3352039,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1541x575.jpg":{"filename":"banner-1541x575.jpg","revision":3352039,"resolution":"1541x575","location":"assets","locale":""},"banner-830x309.jpg":{"filename":"banner-830x309.jpg","revision":3352039,"resolution":"830x309","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3352039,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3352039,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Plugin settings","2":"How S\/MIME signing looks like in Gmail"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[267,247002,57788],"plugin_category":[41],"plugin_contributors":[247003],"plugin_business_model":[],"class_list":["post-248807","plugin","type-plugin","status-publish","hentry","plugin_tags-email","plugin_tags-signing","plugin_tags-smime","plugin_category-communication","plugin_contributors-liups12138","plugin_committers-liups12138"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/smime-email-signing\/assets\/icon-128x128.jpg?rev=3352039","icon_2x":"https:\/\/ps.w.org\/smime-email-signing\/assets\/icon-256x256.jpg?rev=3352039","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/smime-email-signing\/assets\/screenshot-1.jpg?rev=3352039","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/smime-email-signing\/assets\/screenshot-2.jpg?rev=3352039","caption":"How S\/MIME signing looks like in Gmail"}],"raw_content":"<!--section=description-->\n<p>This plugin is for signing all outbound emails with an S\/MIME certificate.<\/p>\n\n<p>It uses phpmailer to automatically sign emails. Here are the prerequisites to use this plugin: \n* This plugin is for single-user WordPress site, such as a personal blog. I don't know what will happen if you put it in a multi-user site.\n* PHP 8.3 and above are recommended. Make sure your PHP has openssl extension, which is usually installed by default. \n* You should use another plugin, such as FluentSMTP, to send emails through an external SMTP server.<\/p>\n\n<!--section=installation-->\n<h4>Get a S\/MIME certificate<\/h4>\n\n<p>You can go to Actalis to apply for a free S\/MIME certificate for one year.<\/p>\n\n<p>After applying, you can download a p12 certificate file, which contains public key, private key, and certificate chain.<\/p>\n\n<p>The password to the p12 file will be sent to your email.<\/p>\n\n<h4>Split the p12 file<\/h4>\n\n<p>In case the p12 file is named \"smime.p12\", do the following commmands to split it into seperated keys.<\/p>\n\n<ul>\n<li><p>Export the private key: <code>openssl pkcs12 -in smime.p12 -nocerts -out smime.key<\/code><\/p>\n\n<ul>\n<li>You will be asked for the Import password, which is the password to the p12 file.<\/li>\n<li>Then, you need to enter a password to protect the exported private key. This password is what we will fill in the plugin setting.<\/li>\n<li>Enter twice to confirm it.<\/li>\n<\/ul><\/li>\n<li><p>Export the public key: <code>openssl pkcs12 -in smime.p12 -clcerts -nokeys -out smime.crt<\/code><\/p>\n\n<ul>\n<li>You will be asked for the Import password, which is the password to the p12 file.<\/li>\n<\/ul><\/li>\n<li><p>Export the certificate chain: <code>openssl pkcs12 -in smime.p12 -cacerts -nokeys -out certchain.pem<\/code><\/p>\n\n<ul>\n<li>You will be asked for the Import password, which is the password to the p12 file.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>Set correct permission<\/h4>\n\n<p>After uploading the seperated key files to your server, you have to set correct permission to each file.\n* Private key: <code>chmod 640 smime.key<\/code>\n* Public key: <code>chmod 644 smime.crt<\/code>\n* Certificate chain: <code>chmod 644 certchain.pem<\/code><\/p>\n\n<h4>Plugin settings<\/h4>\n\n<p>Install and activate the plugin, the setting page will appear on the left, with a sheild icon.<\/p>\n\n<p>What you need to do is filling the path and password fields, click Save, and everything is OK.<\/p>\n\n<p>You can use the Email Send Test function in your SMTP plugin to test it.<\/p>\n\n<p>The options will be deleted automatically after uninstalling the plugin.<\/p>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A plugin for signing all outbound emails with an S\/MIME certificate.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/248807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=248807"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/liups12138"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=248807"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=248807"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=248807"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=248807"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=248807"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=248807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}