Skip to content
HTML Executable
  • Discover
    • Homepage
    • Blog and News
    • Screenshots of HTML Executable
    • Video and Screencasts
    • What Others Say – Reviews
    • Activation Kit
    • CHM To Exe (convert HTML Help)
    • EPub to App (convert ePub ebooks)
  • Features
    • With our HTML compiler, compile websites into ebooks
    • Convert PDF to EXE Secure Ebook Viewer with HTML Executable
    • Customizable Ebook Interface and Skins with HTML Executable
    • Security And Protection Options For Ebooks
    • Stop Screenshots in Ebooks With Content Protection
    • Manage user rights with Security Profiles
    • Make Registered Versions of Ebooks
    • Ebook Protection with Online Activation
    • Ebook Protection with Hardware-locked Keys
    • Ebook Protection with Dongle
    • Create Trial Version of your Ebook
    • Table Of Contents, Favorites, Built-In Search for Ebooks
    • Produce Interactive Ebooks with Script Functionality And Localization
    • Choose Icon, Version Info and Code Sign Ebooks
    • Simplify Your Ebook Creation with HTML Executable’s Intuitive Interface.
  • Download
  • Store
    • Buy Now
    • My Account
    • Editions of HTML Executable
  • Learn
    • Documentation
    • HTML Executable Manual (PDF)
    • Tutorials
    • Changelog
    • Privacy Policy
      • Cookie Policy (EU)
    • About Us
  • Support
    • Contact Us
    • Stay Updated: Subscribe to Our Newsletter
    • Affiliate Program
    • Support Center
    • Community Forum
Contact Us
HTML Executable
  • Discover
    • Homepage
    • Blog and News
    • Screenshots of HTML Executable
    • Video and Screencasts
    • What Others Say – Reviews
    • Activation Kit
    • CHM To Exe (convert HTML Help)
    • EPub to App (convert ePub ebooks)
  • Features
    • With our HTML compiler, compile websites into ebooks
    • Convert PDF to EXE Secure Ebook Viewer with HTML Executable
    • Customizable Ebook Interface and Skins with HTML Executable
    • Security And Protection Options For Ebooks
    • Stop Screenshots in Ebooks With Content Protection
    • Manage user rights with Security Profiles
    • Make Registered Versions of Ebooks
    • Ebook Protection with Online Activation
    • Ebook Protection with Hardware-locked Keys
    • Ebook Protection with Dongle
    • Create Trial Version of your Ebook
    • Table Of Contents, Favorites, Built-In Search for Ebooks
    • Produce Interactive Ebooks with Script Functionality And Localization
    • Choose Icon, Version Info and Code Sign Ebooks
    • Simplify Your Ebook Creation with HTML Executable’s Intuitive Interface.
  • Download
  • Store
    • Buy Now
    • My Account
    • Editions of HTML Executable
  • Learn
    • Documentation
    • HTML Executable Manual (PDF)
    • Tutorials
    • Changelog
    • Privacy Policy
      • Cookie Policy (EU)
    • About Us
  • Support
    • Contact Us
    • Stay Updated: Subscribe to Our Newsletter
    • Affiliate Program
    • Support Center
    • Community Forum
Contact Us
HTML Executable
You are here:
  1. Home
  2. Tutorials
  3. How to Sign Ebooks And HTML Executable Apps with Azure Trusted Signing: A Step-by-Step Guide

How to Sign Ebooks And HTML Executable Apps with Azure Trusted Signing: A Step-by-Step Guide

In today’s digital landscape, ensuring the security and integrity of distributed software is paramount. Users are increasingly cautious about the applications they download and run, and operating systems often present warnings for unsigned executables. This guide provides a comprehensive walkthrough for developers using HTML Executable to digitally sign their generated applications using Microsoft’s Azure Trusted Signing service, enhancing user trust and application credibility.

1. Introduction: Secure Your HTML Executable Applications with Azure Trusted Signing

The Imperative of Code Signing

When users download an application, they need assurance that it originates from a legitimate publisher and has not been maliciously altered. Digital signatures provide this assurance. A signed executable file carries cryptographic proof of its origin (authenticity) and that its contents have remained unchanged since it was signed (integrity). Conversely, distributing unsigned executables can lead to significant hurdles. Modern operating systems, like Windows with its Defender SmartScreen, often flag unsigned applications, presenting users with intimidating warnings. These warnings can erode user confidence, potentially leading to lower download and adoption rates, regardless of the application’s quality.

image69 1

Introducing Azure Trusted Signing

Azure Trusted Signing is a cloud-based code signing service offered by Microsoft. It aims to streamline the complexities traditionally associated with obtaining and managing code signing certificates. As a managed service, it handles much of the certificate lifecycle, allowing developers to focus more on their applications. While the initial setup within the Azure ecosystem involves several steps, the integration with tools like HTML Executable, once configured, can offer a robust and modern approach to code signing.

Post Objective

This article serves as a detailed, step-by-step tutorial specifically for users of HTML Executable. It will guide developers through the process of configuring HTML Executable and the necessary prerequisite tools to leverage Azure Trusted Signing for their compiled .EXE publications. While a complete Azure Trusted Signing setup (including account creation and identity validation) is a foundational requirement, this guide will primarily focus on the installation of supporting tools and the specific configuration steps within HTML Executable. Understanding the “why” – the critical importance of code signing – provides the motivation to navigate the “how” – the technical steps involved in the setup.

2. Laying the Groundwork: Prerequisites for Azure Trusted Signing

Before diving into the HTML Executable configuration, it’s crucial to ensure that the Azure environment is correctly set up and all necessary local tools are installed. Attempting to configure HTML Executable without these prerequisites in place will likely lead to errors and frustration.

A. Understanding Your Azure Trusted Signing Essentials

A fully functional Azure Trusted Signing environment is the bedrock of this process. This involves several key components within the Azure portal:

  • Trusted Signing Account: This is the primary resource in Azure that houses your code signing certificate profiles and related configurations. When creating this account, it’s important to note that the name must be globally unique and adhere to specific naming conventions, typically involving 3 to 24 alphanumeric characters, starting with a letter, and ending with a letter or number, without consecutive hyphens.
  • Certificate Profile: Within your Trusted Signing Account, one or more Certificate Profiles must be created. These profiles define the characteristics of the signing certificate, such as whether it’s for public trust (for broadly distributed software) or private trust (for internal use), and are linked to your validated identity.
  • Identity Validation: For public trust certificates, Azure mandates a rigorous identity validation process. This step verifies the legal identity of the individual or organization requesting the certificate. It can involve submitting official documentation and may take some time to complete.5This validation is critical for establishing the trustworthiness of the signed applications.

Setting up these Azure components is a detailed process in itself. Developers should consult the official Microsoft Azure documentation for comprehensive instructions on creating a Trusted Signing Account, configuring Certificate Profiles, and completing the identity validation procedure. This guide presumes these Azure-side prerequisites are already met.

If not, visit our tutorial about setting up an Azure Trusted Signing account.

B. Essential Tools Installation – The Local Setup

Several tools must be installed on the developer’s local machine to enable HTML Executable to communicate with Azure Trusted Signing and perform the signing operation. These tools form a functional chain: the Azure CLI handles authentication, the Trusted Signing Client Tools provide the necessary libraries for SignTool to interface with Azure, and SignTool executes the actual digital signature application.

  • i. Microsoft Azure CLI: The Azure Command-Line Interface (CLI) is an indispensable tool for managing Azure resources and, critically for this process, for authenticating your development machine with your Azure account. This authentication is achieved via the az login command.
    • Action: Download and install the Azure CLI from the official Microsoft Azure CLI page.
  • ii. Microsoft Trusted Signing Client Tools: This package includes essential components required for Azure Trusted Signing to function with local signing tools. Notably, it contains Azure.CodeSigning.Dlib.dll, a library that extends SignTool’s capabilities to work with Azure’s cloud-based signing service.
    • Action: Download and install the Trusted Signing Client Tools. According to documentation, these tools are often installed in a path similar to C:\Users\LOGIN NAME\AppData\Local\Microsoft\MicrosoftTrustedSigningClientTools\, where LOGIN NAME is your Windows username.
  • iii. SignTool.exe (from Windows SDK): SignTool.exe is Microsoft’s standard command-line utility for digitally signing files. When used with Azure Trusted Signing, it leverages the aforementioned Dlib extension to interact with the Azure service.
    • Action: SignTool.exe is distributed as part of the Windows SDK. If it’s not already installed, or if an older version is present, download the latest Windows SDK. During the SDK installation, ensure that the “Windows SDK Signing Tools For Desktop Apps” component is selected for installation. A common installation path for SignTool.exe is C:\Program Files (x86)\Windows Kits\10\bin\SDK_VERSION\x64\signtool.exe (replace SDK_VERSION with the specific version number of the SDK installed, e.g., 10.0.22621.0).

HTML Executable itself performs checks for the presence of SignTool.exe and the Azure.CodeSigning.Dlib.dll (referred to as the Dlib SignTool extension in its UI, as seen in the provided screenshot). This means that correct installation and later, correct path configuration within HTML Executable, are vital not just for the signing process itself, but for the software to even allow configuration of Azure Trusted Signing.

3. Configuring HTML Executable for Azure Trusted Signing

With the Azure prerequisites met and local tools installed, the next stage is to configure HTML Executable to use Azure Trusted Signing. This involves specifying tool paths and then entering your Azure service credentials directly into the HTML Executable interface.

A. Preliminary Step: Configuring Tool Paths in HTML Executable’s Environment Options

Before navigating to the main code signing settings, HTML Executable must be informed of the locations of SignTool.exe and the crucial Azure.CodeSigning.Dlib.dll file. This is a critical preliminary step often overlooked, but essential for the subsequent configuration to succeed. Without these paths correctly set, HTML Executable cannot locate the necessary components to interact with Azure Trusted Signing or even perform the signing operation.

image
Environment Options in HTML Executable
  • Action:
    1. Open HTML Executable.
    2. Navigate to the software’s Environment Options. File > Environment Options.
    3. Within the Environment Options, locate the fields designated for the paths to SignTool.exe and Azure.CodeSigning.Dlib.dll.
    4. Enter the full paths to where these files are located on your system, based on your installations from Section 2.B.ii and 2.B.iii. For example:
      • SignTool.exe path: C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe (adjust version as needed).
      • Azure.CodeSigning.Dlib.dll path: C:\Users\YOUR_LOGIN_NAME\AppData\Local\Microsoft\MicrosoftTrustedSigningClientTools\Azure.CodeSigning.Dlib.dll (replace YOUR_LOGIN_NAME with your actual Windows username).

Correctly setting these paths is fundamental, as the HTML Executable UI provides feedback on whether these tools are found when configuring code signing options.

B. Accessing the Code Signing Hub in HTML Executable

Once the environment options are set, proceed to the dedicated code signing section within HTML Executable.

  • Action: In HTML Executable, navigate to the Security tab, and then select Code Signing:
image 1

C. Enabling Digital Signing & Selecting Azure Trusted Signing

Within the Code Signing section, activate the digital signing feature and choose Azure Trusted Signing as the method.

  • Action:
    1. Check the box labeled “Digitally sign my publication”.
    2. From the dropdown menu directly below this checkbox, select “Azure Trusted Signing” as the signing method.

At this point, HTML Executable will attempt to verify the presence of the required tools based on the paths configured in Environment Options. The interface includes a status message: “SignTool.exe and Dlib SignTool extension were found” (visible in the screenshot).

  • If this message appears with a success indicator (e.g., a green checkmark), it confirms that HTML Executable has located the necessary tools.
  • If an error is displayed here, revisit Section 2.B to ensure the tools are correctly installed and Section 3.A to verify the paths in Environment Options are accurate.

D. Entering Your Azure Credentials – The Key Connection

The final step in configuring HTML Executable is to provide the specific details that link the software to your Azure Trusted Signing account and certificate profile. These fields are clearly laid out in the HTML Executable UI under the “Azure Trusted Signing Settings” section.

  • i. Trusted Signing Account Endpoint:
    • Description: This is the region-specific URL for your Azure Trusted Signing account. Communication with the Azure service is routed through this endpoint.
    • How to find it: This URL is typically displayed on the overview page of your Trusted Signing Account in the Azure portal after it has been created. It is crucial to use the endpoint URL that corresponds to the Azure region where your Trusted Signing Account was established. Using an incorrect regional endpoint will result in connection failures.
    • Azure Trusted Signing Account Endpoints by Region:
RegionEndpoint URL
East UShttps://eus.codesigning.azure.net
West US 3https://wus3.codesigning.azure.net
West Central UShttps://wcus.codesigning.azure.net
West US 2https://wus2.codesigning.azure.net
North Europehttps://neu.codesigning.azure.net
West Europehttps://weu.codesigning.azure.net
    *[4]*
  • ii. Trusted Signing Account Name:
    • Description: This is the unique name you assigned to your Trusted Signing Account when you created it in the Azure portal.
    • How to find it: Refer to your Trusted Signing Account details in the Azure portal.
  • iii. Certificate Profile Name:
    • Description: This is the name of the specific Certificate Profile (e.g., “PublicTrustProfile,” “MyOrgSigningProfile”) that you created within your Azure Trusted Signing Account and intend to use for signing your HTML Executable publications.
certif profile
  • How to find it: Refer to the Certificate Profiles listed within your Trusted Signing Account in the Azure portal (screenshot above).

To further clarify the mapping, consider the following summary:

HTML Executable Azure Signing Configuration Fields

Field Name (in HTML Executable UI)DescriptionSource/Example (Where to find in Azure)
Trusted Signing Account EndpointThe regional URL for your Azure Trusted Signing service.Azure portal: Overview page of your Trusted Signing Account (select correct region from table above). Example: https://eus.codesigning.azure.net
Trusted Signing Account NameThe unique name of your Azure Trusted Signing Account.Azure portal: Name given during Trusted Signing Account creation. Example: MyCompanySigningAccount
Certificate Profile NameThe name of the certificate profile to be used for signing.Azure portal: Name given during Certificate Profile creation within the account. Example: AppSignCertProfile

Filling these fields accurately is paramount for a successful connection and signing operation. The logical flow from setting Environment Options to inputting these Azure-specific details within the Security tab mirrors the user’s interaction with the HTML Executable software, making the process intuitive.

4. Authenticating and Signing Your Application

With HTML Executable configured, the final steps involve authenticating your session with Azure and then letting HTML Executable handle the signing process during application compilation.

A. The Crucial az login Command: Authenticating with Your Azure Account

Before HTML Executable can instruct SignTool (via the Dlib extension) to use the Azure Trusted Signing service, your current command-line session must be authenticated with Azure. This is not a one-time setup but rather a prerequisite for each signing session, or at least periodically, as authentication tokens can expire.

  • Action:
    1. Open a command-line interface such as PowerShell or Command Prompt.
    2. Execute the following command: az login
    3. This command will typically open a web browser window, prompting you to sign in with the Azure account credentials that are associated with your Trusted Signing Account and Certificate Profile.4 Complete the login process in the browser.
    4. Upon successful authentication, the command-line interface will confirm the login.

It is important to understand that this az login step establishes an active Azure session that the signing tools will leverage. If HTML Executable is configured today, but an attempt to sign is made days later without re-authenticating via az login (if the previous session has expired), the signing process will likely fail due to authentication issues.

B. How HTML Executable Performs the Signing

One of the key benefits of integrating Azure Trusted Signing with HTML Executable is the abstraction of complex command-line operations. Once the prerequisites are met, tools installed, HTML Executable configured, and the Azure session authenticated via az login, the actual signing process becomes straightforward from the user’s perspective.

HTML Executable will automatically invoke SignTool.exe with the appropriate parameters derived from the UI settings (Endpoint, Account Name, Profile Name) and utilize the Azure.CodeSigning.Dlib.dll to communicate with the Azure Trusted Signing service. This happens as part of the normal application build process.

  • Action:
    1. Ensure all previous configuration steps are complete and that you have an active Azure session (perform az login if necessary).
    2. In HTML Executable, proceed to build your publication as you normally would (e.g., by clicking the “Build” or “Compile” button).

If all settings are correct and the Azure authentication is valid, HTML Executable will manage the signing process in the background. The resulting .EXE file generated by HTML Executable will be digitally signed with the certificate from your Azure Trusted Signing Certificate Profile.

5. Troubleshooting Common Issues & Best Practices

While the process aims to be streamlined, various factors can lead to issues. This section outlines common problems and offers best practices for a smoother code signing experience.

A. Common Stumbling Blocks

Anticipating potential issues can save considerable time and effort. The multi-component nature of this setup (Azure services, local tools, software configuration, authentication) means there are several points where things can go awry.

  • “SignTool.exe or Dlib not found” error in HTML Executable UI:
    • Solution: This typically indicates an issue with tool installation or path configuration.
      1. Verify that SignTool.exe (from Windows SDK) and the Microsoft Trusted Signing Client Tools (containing Azure.CodeSigning.Dlib.dll) are correctly installed (see Section 2.B).
      2. Double-check that the paths to SignTool.exe and Azure.CodeSigning.Dlib.dll are accurately entered in HTML Executable’s Environment Options (see Section 3.A).
  • Authentication Errors / Access Denied during signing:
    • Solution: These errors usually point to problems with Azure authentication or permissions.
      1. Ensure that the az login command was executed successfully in a command prompt before attempting to build and sign in HTML Executable.
      2. Confirm that you logged in with the correct Azure account – the one that owns the Trusted Signing Account and Certificate Profile.
      3. Verify that the Azure account used has the “Trusted Signing Certificate Profile Signer” role assigned for the specific Certificate Profile you are trying to use. This role is essential for authorizing the signing operation.4 This can be checked in the Access control (IAM) section of your Trusted Signing Account in the Azure portal.
      4. Check the status of your Azure subscription to ensure it’s active.
  • Incorrect Endpoint, Account Name, or Profile Name:
    • Solution: Typos or mismatches in these critical configuration values are common.
      1. Carefully verify the “Trusted Signing Account Endpoint,” “Trusted Signing Account Name,” and “Certificate Profile Name” entered in HTML Executable’s code signing settings (Section 3.D) against the actual values in your Azure portal.
      2. Pay special attention to the regional specificity of the Endpoint URL; it must match the region of your Azure Trusted Signing Account.
  • Identity Validation Not Complete or Failed:
    • Solution: Azure Trusted Signing, particularly for public trust certificates, requires successful identity validation.
      1. Check the status of your identity validation request in the Azure portal associated with your Trusted Signing Account. The certificate profile cannot be used for signing if the linked identity validation is not approved or is in a failed state.
  • Firewall or Proxy Issues:
    • Solution: Network configurations can sometimes interfere with communication to Azure service endpoints.
      1. If you are behind a corporate firewall or proxy, ensure that it allows outbound HTTPS (port 443) connections to the Azure Trusted Signing endpoints (e.g., *.codesigning.azure.net). Consult your network administrator if necessary.

B. Best Practices for Smooth Sailing

Adopting good habits can prevent many common problems and ensure a reliable code signing process over time.

  • Regularly Check az login Status: Especially if you sign applications infrequently, make it a habit to run az login before initiating a build that requires signing. Authentication tokens expire.
  • Keep Tools Updated: Periodically check for and install updates to the Microsoft Azure CLI, Microsoft Trusted Signing Client Tools, and the Windows SDK. Updates often include bug fixes, security enhancements, and new features.
  • Secure Your Azure Credentials: Treat your Azure account credentials with the utmost care. Implement multi-factor authentication (MFA) and follow standard security best practices for managing access to your Azure resources.
  • Verify Signature Post-Build: After HTML Executable compiles and signs your application, take a moment to verify the digital signature. In Windows Explorer, right-click the generated .EXE file, select “Properties,” and go to the “Digital Signatures” tab. You should see your signature listed, and its details should indicate it’s valid. This confirms the process worked as expected.

6. Conclusion: Distribute Your Signed Applications with Confidence

Successfully implementing code signing for applications generated by HTML Executable using Azure Trusted Signing marks a significant step towards enhancing the professionalism and trustworthiness of your software. By digitally signing your app executables, you provide end-users with crucial assurances: that the application genuinely originates from you, the publisher, and that it has not been tampered with since it was signed. This directly addresses user security concerns and helps mitigate the ominous warnings displayed by operating systems for unsigned software.

While the initial setup involves careful attention to Azure prerequisites, tool installations, and specific configurations within HTML Executable, the result is a robust, cloud-integrated signing solution. Once configured, Azure Trusted Signing, coupled with HTML Executable’s integration, can simplify the ongoing task of signing new builds of your applications.

PrevPreviousHTML Executable 2025 Released: Featuring a Secure, Integrated DOCX Viewer And Much More
NextHow to Fix Antivirus False Positives in Your AppsNext

Get Started with HTML Executable 2025 Today!

Experience the next level in content protection and distribution with our HTML compiler software. HTML Executable is designed to enhance your digital content protection experience for DOCX, PDF and HTML. It also enables you to sell licenses for your ebooks, turning your creativity into income.

Try HTML Executable Now
HTML Executable
  • News and Articles
  • Features
  • What Others Say
  • Screenshots
  • Video and Screencasts

Get

  • Download HTML Executable
  • Activation Kit
  • CHM To Exe
  • EPub to App

Connect

  • My Account
  • Newsletter
  • Community Forum
  • Affiliate Program
  • About Us
  • Privacy Policy

Questions?

Contact Us

[email protected]

Copyright © G.D.G. Software 2025. All rights reserved.

Go to Top
Manage Cookie Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}
HTML Executable
  • Discover
    • Homepage
    • Blog and News
    • Screenshots of HTML Executable
    • Video and Screencasts
    • What Others Say – Reviews
    • Activation Kit
    • CHM To Exe (convert HTML Help)
    • EPub to App (convert ePub ebooks)
  • Features
    • With our HTML compiler, compile websites into ebooks
    • Convert PDF to EXE Secure Ebook Viewer with HTML Executable
    • Customizable Ebook Interface and Skins with HTML Executable
    • Security And Protection Options For Ebooks
    • Stop Screenshots in Ebooks With Content Protection
    • Manage user rights with Security Profiles
    • Make Registered Versions of Ebooks
    • Ebook Protection with Online Activation
    • Ebook Protection with Hardware-locked Keys
    • Ebook Protection with Dongle
    • Create Trial Version of your Ebook
    • Table Of Contents, Favorites, Built-In Search for Ebooks
    • Produce Interactive Ebooks with Script Functionality And Localization
    • Choose Icon, Version Info and Code Sign Ebooks
    • Simplify Your Ebook Creation with HTML Executable’s Intuitive Interface.
  • Download
  • Store
    • Buy Now
    • My Account
    • Editions of HTML Executable
  • Learn
    • Documentation
    • HTML Executable Manual (PDF)
    • Tutorials
    • Changelog
    • Privacy Policy
      • Cookie Policy (EU)
    • About Us
  • Support
    • Contact Us
    • Stay Updated: Subscribe to Our Newsletter
    • Affiliate Program
    • Support Center
    • Community Forum
Contact Us
English
Français