{"id":17000,"date":"2023-03-17T15:00:20","date_gmt":"2023-03-17T12:00:20","guid":{"rendered":"https:\/\/trueconf.com/blog\/?p=17000"},"modified":"2025-10-27T16:17:25","modified_gmt":"2025-10-27T13:17:25","slug":"how-to-create-a-lets-encrypt-certificate-on-windows","status":"publish","type":"post","link":"https:\/\/trueconf.com/blog\/knowledge-base\/how-to-create-a-lets-encrypt-certificate-on-windows","title":{"rendered":"How to create a &#8220;Let&#8217;s Encrypt&#8221; certificate on Windows"},"content":{"rendered":"<p class=\"primary-medium-text ui-mb-sm-1\">Cryptographic certificates are the digital equivalent of website validation, which enables you to encrypt connections using TLS protocol and thus provide a secure link between server and client.<\/p>\n<p>There are both paid and free certification centers. <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noopener\">Let&#8217;s Encrypt<\/a> is one of the free centers, which provides certificates for 90 days with an automatic renewal option.<\/p>\n<div class=\"accent-note accent-note--line ui-mb-sm-1\">\n<p class=\"primary-medium-text\">For TrueConf Server users TLS certificate is required to join web <a href=\"https:\/\/trueconf.com\/blog\/knowledge-base\/connect-to-webrtc.html\" target=\"_blank\" rel=\"noopener\">meetings via WebRTC application<\/a> and <a href=\"https:\/\/trueconf.com\/blog\/knowledge-base\/how-to-setup-user-data-synchronization-between-trueconf-server-and-active-directory.html\" target=\"_blank\" rel=\"noopener\">sync TrueConf Server with Active Directory<\/a>.<\/p>\n<\/div>\n<h2 id=\"step1\" class=\"h4--main h4--thick black-text ui-mb-xs-3 ui-mt-md-1\">Step 1: Getting started<\/h2>\n<div class=\"accent-note accent-note--line accent-note--special ui-mb-sm-1 ui-mt-xs-3\">\n<p class=\"primary-medium-text\">First, you should stop all TrueConf Server services and all processes that can use <b>80 <\/b>and <b>443 <\/b>ports, such as Apache Http Server.<\/p>\n<\/div>\n<p class=\"primary-medium-text ui-mb-sm-1\">To create a TLS certificate on Windows, download the <a href=\"https:\/\/www.win-acme.com\/\" target=\"_blank\" rel=\"noopener\">ACME Simple (WACS)<\/a> program. Then follow the instruction:<\/p>\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--num\">Extract the downloaded archive to the <code>C:\\wacs\\<\/code> folder.<\/li>\n<li class=\"ui-list__item ui-list__item--num\">Create a <b>crt<\/b> directory in the same folder.<br \/>\n<a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-folder-crt.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23595\" style=\"border: 1px solid #D1CCCC;\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-folder-crt.png\" alt=\"\" width=\"600\" height=\"351\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-folder-crt.png 640w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-folder-crt-346x202.png 346w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">In Windows Defender Firewall, go to <strong>Advanced Settings<\/strong> \u2192 <strong>Inbound Rules<\/strong> \u2192 <strong>New Rule<\/strong> \u2192 <strong>Port<\/strong>; enter <b>80<\/b> and <b>443 <\/b>ports separated by comma in the <strong>Specific local ports<\/strong> field and click <strong>Next<\/strong>. Then select <strong>Allow the connection<\/strong>, click <strong>Next<\/strong> again, specify which profiles the rule will apply to (for all by default) and after clicking <strong>Next<\/strong>, save the rule under any name.<\/li>\n<\/ol>\n<h2 id=\"step2\" class=\"h4--main h4--thick black-text ui-mb-xs-3 ui-mt-md-1\">Step 2: Creating a certificate<\/h2>\n<p class=\"primary-medium-text ui-mb-sm-1\">Open the command line (<b>cmd<\/b>) as administrator and run the following program:<\/p>\n<pre class=\"lang:default decode:true \">C:\\wacs\\wacs.exe\r\n<\/pre>\n<p>Next, run the following commands sequentially by entering the letters and digits corresponding to the menu options that you want to select. For example, to run the command <strong>Create certificate (full options)<\/strong>, you will need to type <code>m<\/code> and press <b>Enter<\/b>. (for version 2.2).<\/p>\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--num\">Start creating the certificate by manually specifying the parameters. To do it, select:\n<li class=\"ui-list__item ui-list__item--num\">\n<li class=\"ui-list__item ui-list__item--disc\"><strong>Create certificate (full options)<\/strong><\/li>\n<li class=\"ui-list__item ui-list__item--disc\"><strong>Manual input.<\/strong><\/li>\n<\/ul>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-1.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23597\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-1.png\" alt=\"\" width=\"600\" height=\"414\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-1.png 870w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-1-680x470.png 680w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-1-768x531.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-1-292x202.png 292w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">Specify your domain name and press <strong>Enter<\/strong> twice to confirm.<br \/>\n<a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-2.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23598\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-2.png\" alt=\"\" width=\"600\" height=\"148\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-2.png 870w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-2-690x171.png 690w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-2-768x190.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-2-453x112.png 453w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">If necessary, you can create separate certificates for subdomains and hosts. In our case, we will select <strong>Single Certificate<\/strong>:<br \/>\n<a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-3.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23599\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-3.png\" alt=\"\" width=\"600\" height=\"197\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-3.png 858w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-3-690x227.png 690w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-3-768x252.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-3-453x149.png 453w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">Then select the following options sequentially:\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--disc\"><strong>[http] Serve verification files from memory<\/strong><\/li>\n<li class=\"ui-list__item ui-list__item--disc\"><strong>RSA key<\/strong><\/li>\n<li class=\"ui-list__item ui-list__item--disc\"><strong>PEM encoded files (Apache, nginx, etc.)<\/strong>.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-4.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23600\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-4.png\" alt=\"\" width=\"600\" height=\"591\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-4.png 870w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-4-477x470.png 477w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-4-768x757.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-4-205x202.png 205w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">Specify a folder for saving certificates <code>C:\\wacs\\crt<\/code>.<\/li>\n<li class=\"ui-list__item ui-list__item--num\">You will be offered to create the password for the private key. Select <strong>None<\/strong>.<br \/>\n<a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-5.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23601\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-5.png\" alt=\"\" width=\"600\" height=\"195\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-5.png 870w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-5-690x224.png 690w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-5-768x250.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-5-453x147.png 453w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">Next, select:\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--disc\"><code>No (additional) store steps<\/code><\/li>\n<li class=\"ui-list__item ui-list__item--disc\"><code>No (additional) installation steps<\/code>.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-6.png\" data-rel=\"lightbox-gallery-XwwnqxUg\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-23602\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2021\/04\/acme-en-6.png\" alt=\"\" width=\"600\" height=\"288\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-6.png 870w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-6-690x332.png 690w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-6-768x369.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2021\/04\/acme-en-6-420x202.png 420w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li class=\"ui-list__item ui-list__item--num\">Answer additional questions as follows:\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--disc\">type <code>no<\/code> for the question <strong>Open in default application?<\/strong><\/li>\n<li class=\"ui-list__item ui-list__item--disc\">type <code>yes<\/code> for the question <strong>Do you agree with terms?<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li class=\"ui-list__item ui-list__item--num\">Specify an email address for error notifications.<\/li>\n<\/ol>\n<p class=\"primary-medium-text ui-mb-sm-1\">When you successfully create the certificate, you will see the <code>Authorization result: valid<\/code> message. Answer <code>no<\/code> to the question <strong>Do you want to specify the user the task will run as?<\/strong> question.<\/p>\n<p>If a certificate has already been generated for the specified domain name, there will be the corresponding notification in the <strong>Existing renewal<\/strong> line. The certificate expiry date will be provided as well. You can create the certificate again by entering <code>yes<\/code> in response to the question <strong>Overwrite settings?<\/strong>.<\/p>\n<p>Three files will be generated in the <code>C:\\wacs\\crt<\/code> folder:<\/p>\n<li class=\"ui-list__item ui-list__item--num\">\n<li class=\"ui-list__item ui-list__item--disc\"><b>domain_name-crt.pem<\/b> is the certificate itself<\/li>\n<li class=\"ui-list__item ui-list__item--disc\"><b>domain_name-key.key<\/b> is the key file<\/li>\n<li class=\"ui-list__item ui-list__item--disc\"><b>domain_name-chain.pem<\/b> is the trust chain, it includes Let&#8217;s Encrypt root and intermediate certificates.<\/li>\n<\/ul>\n<p class=\"primary-medium-text ui-mb-sm-1\">Now you can use them in TrueConf Server, as shown in our <a href=\"https:\/\/trueconf.com\/blog\/knowledge-base\/adjust-https-trueconf-server.html\" target=\"_blank\" rel=\"noopener\">article<\/a>.<\/p>\n<div class=\"accent-note ui-mb-sm-1\">\n<p class=\"primary-medium-text ui-mb-sm-1\"><b>Other Resources:<\/b><\/p>\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--disc\"><a href=\"https:\/\/github.com\/TrueConf\/TrueConf-SDK-for-Android\" title=\"TrueConf SDK for Android\" target=\"_blank\" rel=\"noopener\">TrueConf SDK for Android<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cryptographic certificates are the digital equivalent of website validation, which enables you to encrypt connections using TLS protocol and thus provide a secure link between server and client. There are both paid and free certification centers. Let&#8217;s Encrypt is one of the free centers, which provides certificates for 90 days with an automatic renewal option. [&hellip;]<\/p>\n","protected":false},"author":55,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[260],"tags":[186],"class_list":["post-17000","post","type-post","status-publish","format-standard","hentry","category-knowledge-base","tag-administration","wpautop"],"_links":{"self":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts\/17000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/comments?post=17000"}],"version-history":[{"count":12,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts\/17000\/revisions"}],"predecessor-version":[{"id":40087,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts\/17000\/revisions\/40087"}],"wp:attachment":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/media?parent=17000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/categories?post=17000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/tags?post=17000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}