Skip to content

Installing a valid certificate

Genymotion Device image 10.0.0

Due to a bug with acme services, domain names with subdomains are not supported with Version badge, we recommend using Version badge if you wish to use TLS/SSL certificates.

To remove the security warning when accessing an instance user interface, you must install a trusted certificate.

If you already have a SSL certificate, you can refer to this git repository to install it. Otherwise, follow the steps below.

Generate a certificate

Warning

You must have a valid and available domain name to generate a valid certificate.

If you do not have any certificates, we developed a service that generates a certificate from Let's encrypt servers and installs it directly in the instance.

Prerequisite

The Let's encrypt service must be able to communicate with the instance during the certificate generation process. To do so:

  • Your instance must have a Public IP
  • Inbound HTTP (port 80) must be open to all (0.0.0.0/0) during the process

Installation steps

Version badge

  1. Add an allow HTTP (port 80) to all (0.0.0.0/0) to your security group/firewall inbound rules
  2. From the instance user interface, go to Configuration:

    Configuration

  3. In the SSL Certificate section, input your domain name and click GENERATE CERTIFICATE:

    SSL Certificate

  4. Once finished, remove the HTTP allow to all inbound rule from your security group/firewall

  1. Allow HTTP (port 80) to all (0.0.0.0/0) from your security group or firewall rules.
  2. Enable and connect ADB to the instance.
  3. Setup ACME service with your Domain name:

    adb shell setprop persist.tls.acme.domains {\"user_dns\":\"your.domain.name\"}
    
  4. Generate the certificate:

    adb shell am startservice -a genymotionacme.generate -n com.genymobile.genymotionacme/.AcmeService
    
  5. Once done, you can remove the HTTP allow all rule.

Remove the certificate
adb shell am startservice -a genymotionacme.clear -n com.genymobile.genymotionacme/.AcmeService
  1. Allow HTTP (port 80) to all (0.0.0.0/0) from your security group or firewall rules.
  2. Connect to the instance shell with SSH.
  3. Switch to root:

    $ su
    
  4. Setup ACME service with your Domain name:

    setprop persist.tls.acme.domains {\"user_dns\":\"your.domain.name\"}
    
  5. Generate the certificate:

    am startservice -a genymotionacme.generate -n com.genymobile.genymotionacme/.AcmeService
    
  6. Once done, you can remove the HTTP allow all rule.

Remove the certificate
am startservice -a genymotionacme.clear -n com.genymobile.genymotionacme/.AcmeService
Back to top