{"id":1370,"date":"2018-11-12T17:06:57","date_gmt":"2018-11-12T16:06:57","guid":{"rendered":"https:\/\/evenbytes.com\/?p=1370"},"modified":"2019-01-25T09:06:31","modified_gmt":"2019-01-25T08:06:31","slug":"how-to-install-ssl-certificate-in-google-app-engine-in-3-simple-steps","status":"publish","type":"post","link":"https:\/\/evenbytes.com\/es\/how-to-install-ssl-certificate-in-google-app-engine-in-3-simple-steps\/","title":{"rendered":"How to install SSL certificate in Google App Engine in 3 simple steps"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">During the development for our SaaS applications (<a href=\"http:\/\/metadrive.app\">metadrive.app<\/a> &amp; <a href=\"http:\/\/drivewatcher.app\">drivewatcher.app<\/a>) we spend a lot of hours every year to install and renew the SSL certificates in Google App Engine. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">After several tries and spending hours looking information and documentation, we decided to create a simple and small guide to explain the operations to do to install a SSL certificate in a Google App Engine application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I hope this helps \ud83d\ude42<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">1. GENERATE or FIND THE RSA PRIVATE KEY<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Check if you have already a *.key file. It should look like this one:<\/span><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-1368 size-full\" src=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/private-key-e1548346673155.png\" alt=\"\" width=\"528\" height=\"130\" srcset=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/private-key-e1548346673155.png 528w, https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/private-key-e1548346673155-300x74.png 300w\" sizes=\"(max-width: 528px) 100vw, 528px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">If you don\u2019t have it, no worries, you can create it easily<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Download and install this software \u00a0<\/span><a href=\"https:\/\/slproweb.com\/products\/Win32OpenSSL.html\"><span style=\"font-weight: 400;\">https:\/\/slproweb.com\/products\/Win32OpenSSL.html<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Run this command line, replace [FILENAME] by the name of the destination file that is going to be generated.<\/span><\/p>\n<pre style=\"padding-left: 60px;\"><span style=\"font-weight: 400;\">openssl genrsa -out [FILENAME].key 2048\n\n<\/span><\/pre>\n<p><strong>NOTE 1: \u00a0If you have problems with the running the openssl<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Update your windows path<\/span><\/li>\n<li style=\"font-weight: 400;\">And check this article https:\/\/stackoverflow.com\/questions\/4106035\/openssl-error-0x02001005-and-0x2006d002-on-windows<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\"><strong>NOTE 2: You can also try with 64 version. OpenSSL-Win64 is working fine for me.<\/strong> \u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">2. GENERATE or FIND CSR REQUEST<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Check if you have already a *.csr file. It should look like this one:<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1366 size-full\" src=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/certificate-request.png\" alt=\"\" width=\"529\" height=\"114\" srcset=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/certificate-request.png 529w, https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/certificate-request-300x65.png 300w\" sizes=\"(max-width: 529px) 100vw, 529px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">If you don\u2019t have it, you can generate it using the RSA PRIVATE KEY<\/span><\/p>\n<pre style=\"padding-left: 60px;\"><span style=\"font-weight: 400;\">openssl req -new -sha256 -key [FILENAME].key -out [FILENAME].csr\n\n<\/span><\/pre>\n<p><span style=\"font-weight: 400;\">System will ask you for some parameters, but the most important one:<\/span><\/p>\n<p>Common Name (e.g. server FQDN or YOUR name) []:<\/p>\n<p><span style=\"font-weight: 400;\"><strong>NOTE:<\/strong> Provide the web address application without http:\/\/<\/span><\/p>\n<p><strong>If you use Mac OS<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">openssl<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\">genrsa -out [DOMAIN_NAME].key 2048<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\">Common Name (e.g. server FQDN or YOUR name) []: [DOMAIN_NAME]<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\">req -new -sha256 -key [DOMAIN_NAME].key -out [DOMAIN_NAME].csr<\/li>\n<li style=\"font-weight: 400;\">Upload the CSR to your domain provider and wait the confirmation<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">3. Send CSR to SSL provider to generate SSL Certificate<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Next step you need to upload the content of the CSR document generated to your SSL provider. In Godaddy looks like:<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1347 size-full\" src=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/upload-csr-domain-provider.png\" alt=\"\" width=\"578\" height=\"182\" srcset=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/upload-csr-domain-provider.png 578w, https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/upload-csr-domain-provider-300x94.png 300w\" sizes=\"(max-width: 578px) 100vw, 578px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Once the CSR is sent to GoDaddy it takes some minutes. You will receive and email from your SSL provider once the SSL is ready.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Final step, upload the Certificate received by the SSL provider and the RSA PRIVATE KEY<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1349 aligncenter\" src=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/google-app-engine-ssl-installation-300x294.png\" alt=\"\" width=\"300\" height=\"294\" srcset=\"https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/google-app-engine-ssl-installation-300x294.png 300w, https:\/\/evenbytes.com\/wp-content\/uploads\/2019\/01\/google-app-engine-ssl-installation.png 473w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>During the development for our SaaS applications (metadrive.app &amp; drivewatcher.app) we spend a lot of hours every year to install and renew the SSL certificates in Google App Engine. After several tries and spending hours looking information and documentation, we decided to create a simple&#8230;<\/p>\n","protected":false},"author":2,"featured_media":1385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[70,71,72,73],"class_list":["post-1370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-develop-es","tag-certificate-es","tag-google-app-engine-es","tag-security-es","tag-ssl-es"],"_links":{"self":[{"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/posts\/1370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/comments?post=1370"}],"version-history":[{"count":7,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/posts\/1370\/revisions"}],"predecessor-version":[{"id":1389,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/posts\/1370\/revisions\/1389"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/media\/1385"}],"wp:attachment":[{"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/media?parent=1370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/categories?post=1370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evenbytes.com\/es\/wp-json\/wp\/v2\/tags?post=1370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}