{"id":538,"date":"2022-09-27T10:04:43","date_gmt":"2022-09-27T10:04:43","guid":{"rendered":"https:\/\/signmycode.com\/resources\/?p=538"},"modified":"2026-02-27T09:32:56","modified_gmt":"2026-02-27T09:32:56","slug":"how-to-sign-an-exe-or-windows-application","status":"publish","type":"post","link":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application","title":{"rendered":"Step by Step Guide to Sign an EXE or Windows Application"},"content":{"rendered":"\n<p class=\"mt-3 wp-block-paragraph\">In this article, you will learn about why to sign your Windows application and a step-by-step guide on How to Sign an EXE or Windows Application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Code signing is a way to give assurance that the software is from a verified and genuine software publisher. Singing Windows EXE files with a <a href=\"https:\/\/signmycode.com\/code-signing-certificates\">code signing certificate<\/a> ensures that the executable files or Windows applications are not altered or modified by malicious actors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Windows application signing process involves embedding a digital signature in the .exe executable files that can be verified for code authenticity. Similarly, you can get this code signing certificate from a trusted certificate authority like <a href=\"https:\/\/signmycode.com\/certera-code-signing-certificate\">Certera<\/a>, <a href=\"https:\/\/signmycode.com\/brands\/sectigo\">Sectigo<\/a>, <a href=\"https:\/\/signmycode.com\/brands\/comodo\">Comodo<\/a> and <a href=\"https:\/\/signmycode.com\/brands\/digicert\">DigiCert<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In addition, the OS will also check whether the issuing authority mentioned in the certificate is the same one that has issued the certificate and if the certificate is still valid or not. If such checks pass through, your .exe executables will run without any warnings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>For instance, if you don\u2019t sign your executable, Windows will throw an unknown publisher error:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full mb-4 mt-4\"><img loading=\"lazy\" decoding=\"async\" width=\"568\" height=\"449\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/unknown-publisher-message.png\" alt=\"Unknown Publisher Warning\" class=\"wp-image-319\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/unknown-publisher-message.png 568w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/unknown-publisher-message-300x237.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>But if you sign an EXE or application with a code signing certificate<\/strong>, Windows will display a verified publisher message as shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mb-4 mt-4\"><img loading=\"lazy\" decoding=\"async\" width=\"572\" height=\"452\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/windows-10-upgrader.png\" alt=\"Windows 10 Upgrader Security\" class=\"wp-image-318\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/windows-10-upgrader.png 572w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/windows-10-upgrader-300x237.png 300w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/figure>\n\n\n\n<p class=\"mb-4 wp-block-paragraph\">Now, let\u2019s explore why signing a Windows EXE file is important:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Sign Your Windows Applications?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Windows application signing helps prove to your users that your software is authentic and trustworthy. As seen above, the operating system will show that the code-signed software is from a verified publisher. This boosts trust and confidence in your users and reduces the software abandonment rate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">A genuine certificate from&nbsp;<a href=\"https:\/\/signmycode.com\/\" target=\"_blank\" rel=\"noopener\">trusted code signing certificate providers<\/a>&nbsp;is also&nbsp;<\/span>necessary&nbsp;<\/span>for enhanced security. Here, the issuing authority guarantees that the software is free from malicious code or vulnerability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This further increases users&#8217; trust in your Windows application and improves the installation ratio.<\/p>\n\n\n\n<p class=\"mb-4 wp-block-paragraph\">Thus, application signing is necessary to state your EXE apps are safe for people to download, install, and use.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Sign an Application?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once your application is ready for distribution, you must obtain a code signing certificate from a certificate authority.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since there were specific steps that need to be followed for both the code signing certificates, now we have common steps applicable for both OV and EV code signing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\"><a href=\"https:\/\/signmycode.com\/blog\/ca-b-forum-code-signing-baseline-requirements-v2-8\">As of June 1, 2023<\/a>, there is a new requirement for OV (Organization Validated) Code Signing Certificates. The condition states that the private key associated with the OV Code Signing Certificate must be stored in a Hardware Security Module (HSM) compliant with FIPS 140 Level 2, Common Criteria EAL 4+, or an equivalent security standard. <\/mark><\/em><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites to Sign an EXE or Application<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To begin signing an EXE or application, specific requirements need to be met to ensure validity, just like when signing an official document in the presence of an authority.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While Mac applications require an Apple Developer ID certificate, this section focuses on the signing process for Windows EXE and applications. Similar to macOS, there are specific prerequisites that need to be fulfilled. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>These prerequisites include:<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Windows Device:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You will need a computer or device running the Windows operating system to sign.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Purchase a Valid Code Signing Certificate:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/signmycode.com\/buy-code-signing-certificates\">Obtaining a valid code signing certificate<\/a> from a trusted certificate authority is essential.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Microsoft SignTool: <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft SignTool is a command-line tool tied to the Windows Software Development Kit (SDK). SignTool is used to digitally sign executable files, libraries, and other types of code. You must have SignTool installed on your Windows device to proceed with the signing process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended:<\/strong> <a href=\"https:\/\/signmycode.com\/resources\/how-to-create-verify-a-windows-authenticode-signature-using-signtool\">How to Create &amp; Verify a Windows Authenticode Signature Using SignTool?<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SafeNet or FIPS 140 Level 2 Approved Device: <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If your specific requirements demand compliance with FIPS 140 Level 2 for enhanced cryptographic security, you should use a FIPS 140 Level 2 approved device such as SafeNet. SafeNet is a hardware security module (HSM) that provides the necessary security for cryptographic operations during code signing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended: <\/strong><a href=\"https:\/\/signmycode.com\/blog\/what-are-safenet-luna-network-hsm-7-and-thales-luna-network-hsm-7\">What are SafeNet Luna Network HSM 7 and Thales Luna Network HSM 7?<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, you can be equipped with the necessary prerequisites to initiate the <a href=\"https:\/\/signmycode.com\/resources\/signing-executable-files-using-microsoft-signtool\">signing of EXE or application files on the Windows platform.<\/a> You are ensuring a Windows device, a valid EV code signing certificate, Microsoft SignTool, and a SafeNet or FIPS 140 Level 2 approved device (if required).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Detailed instructions and specific steps may vary depending on your development environment. So, it is recommended to consult the documentation provided by your certificate authority and Microsoft for accurate guidance on <a href=\"https:\/\/signmycode.com\/blog\/guide-to-setup-your-ev-code-signing-certificate\">utilizing your EV code signing certificate<\/a>. It also includes SignTool for Windows application signing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use of Microsoft SignTool<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft SignTool is a Windows Software Development Kit (SDK) command-line tool. It offers various functionalities for digital signing, timestamping, and verifying files, executables, scripts, and applications.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>With Microsoft SignTool, you can <strong>digitally sign your files<\/strong> to establish their authenticity and integrity. This is particularly <strong>important for ensuring<\/strong> trust in your code and <strong>tamper-proof verification<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Additionally, SignTool allows you to <strong>apply timestamping<\/strong> to your signed files, providing an<strong> extra layer of validity<\/strong>. The timestamp indicates the time the file was signed, even if the certificate expires in the future.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SignTool also offers the <strong>capability to verify signatures<\/strong> and timestamps applied to files. This verification process ensures the <strong>validity and integrity<\/strong> of the signatures, ensuring they have not been tampered with since their application.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">SafeNet for Additional Security<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In terms of cryptographic device setup, it is recommended to use SafeNet or any other <b>hardware security module (HSM) that is <\/b>compliant with the <strong>National Institute of Standards and Technology&#8217;s (NIST) Federal Information Processing Standards (FIPS)<\/strong> 140 Level 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These devices adhere to the U.S. government&#8217;s computer security standard for validating cryptographic modules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>While SafeNet is mentioned as an example, there are alternative options available, such as:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PingOne Cloud Platform<\/li>\n\n\n\n<li>Okta Single Sign-On<\/li>\n\n\n\n<li>RSA SecureID Access<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exploring these options and selecting the most suitable device for your organization&#8217;s needs is advisable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is crucial to emphasize that installing SafeNet or a compatible alternative is necessary to utilize Extended Validation (EV) certificates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, <a href=\"https:\/\/signmycode.com\/blog\/essential-code-signing-compliance-checklist-beyond-2023-to-ensure-cdode-integrity\">starting on June 1st, 2023<\/a>, Organization Validation (OV) certificates will also be required. These certificates demand the added security and protection that an HSM provides to store the private key securely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOTE: <\/strong>Take the time to research and evaluate the available options, ensuring you choose the device that aligns with your organization&#8217;s requirements. This will enable effective management and safeguarding of your code signing certificates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Process to Sign an EXE Using SignTool and Code Signing Certificate<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To sign an EXE using your OV or EV Code Signing Certificate with Microsoft SignTool, follow these five steps:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Insert Your Hardware Token<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Take the hardware security token provided by the Certification Authority (CA) that contains your code signing certificate and private key. <strong>Plug it into your Windows device for secure access<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"256\" height=\"256\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/insert-usb-token.png\" alt=\"\" class=\"wp-image-1780\" style=\"width:178px;height:178px\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/insert-usb-token.png 256w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/insert-usb-token-120x120.png 120w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Step 2: Open SafeNet (or other FIPS Level 2-approved device)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you have chosen a different FIPS Level 2-approved device instead of SafeNet, open it and ensure it is appropriately set up as recommended in the previous section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"994\" height=\"738\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-client-jpg.webp\" alt=\"SafeNet Client\" class=\"wp-image-1781\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-client-jpg.webp 994w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-client-300x223.webp 300w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-client-768x570.webp 768w\" sizes=\"auto, (max-width: 994px) 100vw, 994px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Open PowerShell<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PowerShell is a command-line interface similar to the classic Windows Command Prompt. <strong>Open PowerShell as an administrator by following these steps:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click on the Start button.<\/li>\n\n\n\n<li>In the search box, enter &#8220;<strong>PowerShell<\/strong>.&#8221;<\/li>\n\n\n\n<li>Choose &#8220;<strong>Run as administrator<\/strong>&#8221; when launching the Windows PowerShell program.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"391\" height=\"254\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/launch-powershell-as-administrator.png\" alt=\"open PowerShell\" class=\"wp-image-1686\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/launch-powershell-as-administrator.png 391w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/launch-powershell-as-administrator-300x195.png 300w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You will know now that you have what you need to sign your EXE using Microsoft SignTool.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"454\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/powershell-command.png\" alt=\"Powershell Command\" class=\"wp-image-1782\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/powershell-command.png 700w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/powershell-command-300x195.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOTE:<\/strong> If Linux or macOS are your preferred operating systems, you may sign your Windows EXE and applications using programs like <strong>Jsign <\/strong>or <strong>Osslsigncode<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Enter the Signing and Time Stamping Command<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Signing your code is essential, but remember to timestamp it to avoid issues with expired certificates. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Extend the validity of your signature by timestamping your code using the script below:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\\signtool sign \/tr http:\/\/timestamp.digicert.com \/td SHA256 \/fd SHA256 \u201cc:\\path_to_your_file\\software.exe\u201d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Also, replace <strong>&#8220;c:\\path_to_your_file\\software&#8221;<\/strong> with the actual file path of the EXE or application you want to sign.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Enter Your SafeNet Password<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">At this point, SafeNet (or the authentication tool you&#8217;re using) will open a window and prompt you to enter the password for the hardware token. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If this is your first time using a SafeNet token, you may need to install the authentication client software and initialize the token by following the instructions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>You will receive the package from CA, including the USB Token and the Letter<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installation-of-safenet-authentication-client\">Installation of SafeNet Authentication Client<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">All you need to do is download and open the suitable installer for the machine you will be using while signing in the software or applications such as SafeNet Authentication Client.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 1:<\/mark>&nbsp;<\/strong>In SafeNet Authentication Client Setup, the&nbsp;<strong>Welcome to SafeNet Authentication Client Installation Wizard page<\/strong>&nbsp;will look like this. You have to click on \u2018<strong>Next<\/strong>.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-client.png\" alt=\"Install SafeNet Authentication Client\" class=\"wp-image-1786\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-client.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-client-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 2:<\/mark>&nbsp;<\/strong>On the Interface Language page, you will find the drop-down list. From there,&nbsp;<strong>pick the language<\/strong>&nbsp;you want for the interface and click \u2018<strong>Next<\/strong>.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-language-selection.png\" alt=\"Safenet Client Language Selection\" class=\"wp-image-1787\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-language-selection.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-language-selection-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 3:<\/mark>&nbsp;<\/strong>Read the license agreement on the License Agreement page. After reading, select \u201c<strong>I accept the license agreement<\/strong>\u201d and then \u2018<strong>Next<\/strong>.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-accept-licence.png\" alt=\"Language Selection\" class=\"wp-image-1788\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-accept-licence.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-accept-licence-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 4: <\/mark>Select the location<\/strong>&nbsp;you want to install the SafeNet Authentication Client Software from the Destination Folder page and then click \u2018<strong>Next<\/strong>.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-path-selection.png\" alt=\"SafeNet Path Selection\" class=\"wp-image-1789\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-path-selection.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-path-selection-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 5:<\/mark>&nbsp;<\/strong>The Setup Type page will look something like this. On this page, select \u2018<strong>Typical<\/strong>\u2019 for the installation type and then click \u2018<strong>Next<\/strong>.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-typical-selection.png\" alt=\"Typical Selection\" class=\"wp-image-1790\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-typical-selection.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-typical-selection-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 6:<\/mark> \u2018The wizard is ready to begin installation<\/strong>\u2019 page will appear where you have to click&nbsp;<strong>Install<\/strong>. It might take several minutes to process the installation process.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-installation-wizard.png\" alt=\"SafeNet Client Installation Wizard\" class=\"wp-image-1791\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-installation-wizard.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-installation-wizard-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 7:<\/mark>&nbsp;<\/strong>Click on \u2018<strong>Finish<\/strong>\u2018 on the SafeNet Authentication Client to&nbsp;<strong>exit&nbsp;<\/strong>SafeNet Authentication Client Setup. Voila! You have now successfully installed the SafeNet Client Software.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"381\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-complete.png\" alt=\"SafeNet Installation Complete\" class=\"wp-image-1792\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-complete.png 500w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/install-safenet-driver-complete-300x229.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After the successful installation of the installed software, let us now move to set up your OV or EV Code Signing Certificate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-up-ev-code-signing-certificate\">Setting up your Code Signing Certificate<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After successfully receiving the token from your Code Signing Certificate Provider, <strong>You can follow the steps to activate the token:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 1:<\/mark><\/strong>&nbsp;For the activation of your Code Signing Cert,&nbsp;<strong>plug in your Code Signing USB Token<\/strong>&nbsp;and run the SafeNet Authentication Client Software.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1009\" height=\"793\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-token-password-jpg.webp\" alt=\"SafeNet Token Password\" class=\"wp-image-1793\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-token-password-jpg.webp 1009w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-token-password-300x236.webp 300w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/safenet-token-password-768x604.webp 768w\" sizes=\"auto, (max-width: 1009px) 100vw, 1009px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Step 2:&nbsp;<\/mark><\/strong>In the SafeNet Authentication Client Tools window, click on \u2018<strong>Change Token Password.<\/strong>\u2018 While this step isn\u2019t mandatory, we recommend you \u2018Change Token Password.\u2019 It will open the interface to change the password for the token. Input a distinct password.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"565\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/activate-code-signing-cert-token.png\" alt=\"Change Password of Code Sign Token\" class=\"wp-image-1794\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/activate-code-signing-cert-token.png 669w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2023\/05\/activate-code-signing-cert-token-300x253.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\"><strong>Step 3<\/strong>:<\/mark> You will see&nbsp;the <strong>New Token Password and Confirm Password<\/strong>&nbsp;boxes. You can create and confirm your new token password that meets the security needs of SafeNet with the help of the password in the email format you received from the Certificate Authority. Now, click&nbsp;<strong>OK<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\">Once you enter the password, congratulations! You have successfully signed your EXE or application.<\/mark><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOTE: <\/strong>You may use steps three and four above to sign your EXE using an OV code signing certificate instead. Starting June 1st, 2023, OV certificates will also be subject to the complete EV signing procedure outlined above.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing Method for your Signed EXE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuring that your signed EXE has been executed correctly and that your customers will have a seamless experience during installation is crucial. To achieve this, you can follow these steps to test your signed EXE and verify its signature:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">STEP 1: Upload the Signed EXE or Application to a Test URL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If your organization uses Confluence or a similar platform, create a test page and restrict its access to authorized individuals. Upload your signed EXE or application to this hidden URL. This will allow you to simulate the installation process and ensure everything functions as expected.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">STEP 2: Download and Test the Signed EXE or Application<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You should download the signed code onto a test machine for comprehensive testing. It&#8217;s advisable to involve multiple colleagues to participate in the testing process. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ask them to access the designated URL and download the code onto their machines. Testing on different machines provides a broader perspective and helps identify potential issues across various environments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">STEP 3: Verify the Signature by Right-Clicking on the Signed Code<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After downloading the signed code, you can verify its signature to confirm its authenticity. <strong>Follow these steps:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Right-click on the signed code file.<\/li>\n\n\n\n<li>Select &#8220;<strong>Properties<\/strong>&#8221; from the context menu.<\/li>\n\n\n\n<li>In the Properties window, navigate to the &#8220;<strong>Digital Signatures<\/strong>&#8221; tab.<\/li>\n\n\n\n<li>Verify that the signature details match the information on your code signing certificate. This step ensures that the code has not been tampered with and originates from a trusted publisher.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By conducting these tests, you can be confident that your signed EXE or application is functioning correctly and that the signature is valid. It helps you deliver a secure and trusted product to your customers, minimizing potential installation issues and enhancing their overall experience.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose everything goes according to the process we outlined above. In that case, you and the other testers of the executable should be able to see the code signing certificate details (including time stamping) like the examples ahead.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"405\" height=\"515\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/view-digital-certificate-jpg.webp\" alt=\"View Digital Certificate\" class=\"wp-image-1802\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/view-digital-certificate-jpg.webp 405w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/view-digital-certificate-236x300.webp 236w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"405\" height=\"515\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/digital-certificate-code-sign-jpg.webp\" alt=\"Digital Certificate\" class=\"wp-image-1804\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/digital-certificate-code-sign-jpg.webp 405w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/digital-certificate-code-sign-236x300.webp 236w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Safeguarding Private Keys and Integrating Code Signing Practices<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Protecting your private keys and implementing robust code signing practices are crucial to maintaining the security and integrity of your organization&#8217;s IT environment. Here are some essential steps to follow:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conduct an inventory of your keys: <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Take stock of all the keys within your organization&#8217;s IT infrastructure. This comprehensive inventory will clearly understand the number and types of keys used.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Store keys securely: <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utilize certified hardware security modules (HSMs) to store your keys securely. Some trusted options include <mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\"><strong>Thales Luna<\/strong>, <strong>Microsoft Azure Key Vault<\/strong>, <strong>Egnyte<\/strong>, <strong>SafeNet<\/strong><\/mark>. These HSMs offer advanced security measures to safeguard your private keys from unauthorized access.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Role-based Access Control: <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Defines roles and responsibilities for individuals involved in the code signing process. Create separate roles for those authorized to submit code for signing and those authorized to approve signing requests. Ensures no single individual can perform both roles independently. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Regularly monitor and track the use of private keys and code signing certificates to identify suspicious activities and issues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Integrate Code Signing with DevOps: <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Formalize and integrate the code signing process into your <a href=\"https:\/\/signmycode.com\/blog\/secure-sdlc-approach-for-preventing-cyber-attacks\">software development lifecycle (SDLC)<\/a>. Doing so ensures that codes are signed only after undergoing necessary checks, such as quality assurance (QA), virus scanning, and penetration testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Integrating code signing with DevOps promotes a culture where security is prioritized throughout the software development process (devsecops).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By following these best practices, you enhance the overall security posture of your organization, mitigating the risk of unauthorized access and potential attacks. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Protecting private keys and integrating <a href=\"https:\/\/signmycode.com\/blog\/what-is-code-signing-sdlc\">code signing into your SDLC<\/a> will help maintain the integrity and trustworthiness of your software, enabling you to deliver secure and reliable applications to your users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Words<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As a Windows EXE application developer, you must sign your executables with appropriate measures. You must ensure your audience stays away from any digital vulnerability when installing and using your application. This can easily be dealt with by digitally signing your Windows EXE files.<\/p>\n\n\n\n<p class=\"mb-3 wp-block-paragraph\">However, sometimes, it can get complex for beginners, or you may not always remember the step-by-step process. Thus, this guide provides a step-by-step process for signing an application or EXE file. We hope this was helpful for you in getting started!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, you will learn about why to sign your Windows application and a step-by-step guide on How to Sign an EXE or Windows Application. Code signing is a way to give assurance that the software is from a verified and genuine software publisher. Singing Windows EXE files with a code signing certificate ensures&hellip; <a class=\"more-link\" href=\"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application\">Read More <span class=\"screen-reader-text\">Step by Step Guide to Sign an EXE or Windows Application<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":549,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[308,129,80,130,309],"class_list":["post-538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-signing-tutorials","tag-digitally-sign-application","tag-digitally-sign-exe-file","tag-how-to-sign-an-exe-or-windows-application","tag-windows-exe-application-signing","tag-windows-exe-code-signing","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Sign an EXE or Windows Application using USB Tokens?<\/title>\n<meta name=\"description\" content=\"A quick guide on how to code sign an EXE or application that assures users trusted software developer had developed it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Sign an EXE or Windows Application using USB Tokens?\" \/>\n<meta property=\"og:description\" content=\"A quick guide on how to code sign an EXE or application that assures users trusted software developer had developed it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application\" \/>\n<meta property=\"og:site_name\" content=\"SignMyCode - Resources\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-27T10:04:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-27T09:32:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/how-to-sign-an-exe-or-windows-application.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Janki Mehta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Sign_My_Code\" \/>\n<meta name=\"twitter:site\" content=\"@Sign_My_Code\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Janki Mehta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application\"},\"author\":{\"name\":\"Janki Mehta\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/person\\\/2e80276fd34fd5439c04cd3cb96a389f\"},\"headline\":\"Step by Step Guide to Sign an EXE or Windows Application\",\"datePublished\":\"2022-09-27T10:04:43+00:00\",\"dateModified\":\"2026-02-27T09:32:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application\"},\"wordCount\":2515,\"publisher\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/how-to-sign-an-exe-or-windows-application.png\",\"keywords\":[\"Digitally Sign Application\",\"Digitally Sign EXE File\",\"how to Sign an EXE or Windows Application\",\"Windows EXE application Signing\",\"Windows EXE Code Signing\"],\"articleSection\":[\"Code Signing Tutorials\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application\",\"name\":\"How to Sign an EXE or Windows Application using USB Tokens?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/how-to-sign-an-exe-or-windows-application.png\",\"datePublished\":\"2022-09-27T10:04:43+00:00\",\"dateModified\":\"2026-02-27T09:32:56+00:00\",\"description\":\"A quick guide on how to code sign an EXE or application that assures users trusted software developer had developed it.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#primaryimage\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/how-to-sign-an-exe-or-windows-application.png\",\"contentUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/how-to-sign-an-exe-or-windows-application.png\",\"width\":900,\"height\":500,\"caption\":\"Sign EXE or Windows Application\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-sign-an-exe-or-windows-application#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Step by Step Guide to Sign an EXE or Windows Application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#website\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/\",\"name\":\"SignMyCode - Resources\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#organization\",\"name\":\"SignMyCode\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo1.png\",\"contentUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo1.png\",\"width\":135,\"height\":86,\"caption\":\"SignMyCode\"},\"image\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/Sign_My_Code\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/person\\\/2e80276fd34fd5439c04cd3cb96a389f\",\"name\":\"Janki Mehta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g\",\"caption\":\"Janki Mehta\"},\"description\":\"Janki Mehta is a Cyber-Security Enthusiast who constantly updates herself with new advancements in the Web\\\/Cyber Security niche. Along with theoretical knowledge, she also implements her practical expertise in day-to-day tasks and helps others to protect themselves from threats.\",\"sameAs\":[\"http:\\\/\\\/smcresources.ssltoolsonline.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Sign an EXE or Windows Application using USB Tokens?","description":"A quick guide on how to code sign an EXE or application that assures users trusted software developer had developed it.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application","og_locale":"en_US","og_type":"article","og_title":"How to Sign an EXE or Windows Application using USB Tokens?","og_description":"A quick guide on how to code sign an EXE or application that assures users trusted software developer had developed it.","og_url":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application","og_site_name":"SignMyCode - Resources","article_published_time":"2022-09-27T10:04:43+00:00","article_modified_time":"2026-02-27T09:32:56+00:00","og_image":[{"width":900,"height":500,"url":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/how-to-sign-an-exe-or-windows-application.png","type":"image\/png"}],"author":"Janki Mehta","twitter_card":"summary_large_image","twitter_creator":"@Sign_My_Code","twitter_site":"@Sign_My_Code","twitter_misc":{"Written by":"Janki Mehta","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#article","isPartOf":{"@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application"},"author":{"name":"Janki Mehta","@id":"https:\/\/signmycode.com\/resources\/#\/schema\/person\/2e80276fd34fd5439c04cd3cb96a389f"},"headline":"Step by Step Guide to Sign an EXE or Windows Application","datePublished":"2022-09-27T10:04:43+00:00","dateModified":"2026-02-27T09:32:56+00:00","mainEntityOfPage":{"@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application"},"wordCount":2515,"publisher":{"@id":"https:\/\/signmycode.com\/resources\/#organization"},"image":{"@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#primaryimage"},"thumbnailUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/how-to-sign-an-exe-or-windows-application.png","keywords":["Digitally Sign Application","Digitally Sign EXE File","how to Sign an EXE or Windows Application","Windows EXE application Signing","Windows EXE Code Signing"],"articleSection":["Code Signing Tutorials"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application","url":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application","name":"How to Sign an EXE or Windows Application using USB Tokens?","isPartOf":{"@id":"https:\/\/signmycode.com\/resources\/#website"},"primaryImageOfPage":{"@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#primaryimage"},"image":{"@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#primaryimage"},"thumbnailUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/how-to-sign-an-exe-or-windows-application.png","datePublished":"2022-09-27T10:04:43+00:00","dateModified":"2026-02-27T09:32:56+00:00","description":"A quick guide on how to code sign an EXE or application that assures users trusted software developer had developed it.","breadcrumb":{"@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#primaryimage","url":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/how-to-sign-an-exe-or-windows-application.png","contentUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2022\/09\/how-to-sign-an-exe-or-windows-application.png","width":900,"height":500,"caption":"Sign EXE or Windows Application"},{"@type":"BreadcrumbList","@id":"https:\/\/signmycode.com\/resources\/how-to-sign-an-exe-or-windows-application#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/signmycode.com\/resources\/"},{"@type":"ListItem","position":2,"name":"Step by Step Guide to Sign an EXE or Windows Application"}]},{"@type":"WebSite","@id":"https:\/\/signmycode.com\/resources\/#website","url":"https:\/\/signmycode.com\/resources\/","name":"SignMyCode - Resources","description":"","publisher":{"@id":"https:\/\/signmycode.com\/resources\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/signmycode.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/signmycode.com\/resources\/#organization","name":"SignMyCode","url":"https:\/\/signmycode.com\/resources\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/signmycode.com\/resources\/#\/schema\/logo\/image\/","url":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2021\/11\/logo1.png","contentUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2021\/11\/logo1.png","width":135,"height":86,"caption":"SignMyCode"},"image":{"@id":"https:\/\/signmycode.com\/resources\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/Sign_My_Code"]},{"@type":"Person","@id":"https:\/\/signmycode.com\/resources\/#\/schema\/person\/2e80276fd34fd5439c04cd3cb96a389f","name":"Janki Mehta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g","caption":"Janki Mehta"},"description":"Janki Mehta is a Cyber-Security Enthusiast who constantly updates herself with new advancements in the Web\/Cyber Security niche. Along with theoretical knowledge, she also implements her practical expertise in day-to-day tasks and helps others to protect themselves from threats.","sameAs":["http:\/\/smcresources.ssltoolsonline.com"]}]}},"_links":{"self":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/comments?post=538"}],"version-history":[{"count":29,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts\/538\/revisions"}],"predecessor-version":[{"id":4709,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts\/538\/revisions\/4709"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/media\/549"}],"wp:attachment":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/media?parent=538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/categories?post=538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/tags?post=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}