{"id":13493255,"url":"https://github.com/srvrco/getssl","last_synced_at":"2025-05-14T02:00:20.194Z","repository":{"id":39859332,"uuid":"49436822","full_name":"srvrco/getssl","owner":"srvrco","description":"obtain free SSL certificates from letsencrypt ACME server  Suitable for automating the process on remote servers. ","archived":false,"fork":false,"pushed_at":"2024-10-30T14:01:16.000Z","size":1804,"stargazers_count":2143,"open_issues_count":98,"forks_count":384,"subscribers_count":64,"default_branch":"master","last_synced_at":"2025-04-10T16:48:08.173Z","etag":null,"topics":["acme","acme-server","certificate","ftp","getssl","letsencrypt","remote","ssh","ssl-certificate"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srvrco.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-01-11T15:54:31.000Z","updated_at":"2025-04-09T12:24:17.000Z","dependencies_parsed_at":"2023-01-21T04:00:55.417Z","dependency_job_id":"c6d1d18a-f2f2-4bd3-a84e-11fe243cb8f8","html_url":"https://github.com/srvrco/getssl","commit_stats":{"total_commits":853,"total_committers":106,"mean_commits":8.047169811320755,"dds":0.6365767878077374,"last_synced_commit":"997a8959c9cc4c51271a59674040baf66f205b7a"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fgetssl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fgetssl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fgetssl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fgetssl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srvrco","download_url":"https://codeload.github.com/srvrco/getssl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052658,"owners_count":22006716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","acme-server","certificate","ftp","getssl","letsencrypt","remote","ssh","ssl-certificate"],"created_at":"2024-07-31T19:01:13.585Z","updated_at":"2025-05-14T02:00:20.140Z","avatar_url":"https://github.com/srvrco.png","language":"Shell","funding_links":[],"categories":["Shell","others"],"sub_categories":[],"readme":"\n# GETSSL\n\n[Run all tests] [shellcheck]\n\nObtain SSL certificates from the letsencrypt.org ACME server. Suitable\nfor automating the process on remote servers.\n\nTable of Contents\n\n- Upgrade broken in v2.43\n- Features\n- Overview\n- Quick Start Guide\n- Manual Installation\n- Getting started\n- Detailed guide to getting started with more examples\n- Wildcard certificates\n- ISPConfig\n- Automating updates\n- Structure\n- Server-Types\n- Revoke a certificate\n- Elliptic curve keys\n- Preferred Chain\n- Include Root certificate in full chain\n- Windows Server and IIS Support\n- Building getssl as an RPM Package (Redhat/CentOS/SuSe/Oracle/AWS)\n- Building getssl as a Debian Package (Debian/Ubuntu)\n- Issues / problems / help\n\nUpgrade broken in v2.43\n\nThe automatic upgrade in v2.43 is broken as the url is incorrect. If you\nhave this version installed you’ll need to manually upgrade using:\ncurl --silent --user-agent getssl/manual \u003chttps://raw.githubusercontent.com/srvrco/getssl/latest/getssl\u003e --output getssl\n\nFeatures\n\n- BASH - It runs on virtually all unix machines, including BSD, most\n    Linux distributions, macOS.\n- GET CERTIFICATES FOR REMOTE SERVERS - The tokens used to provide\n    validation of domain ownership, and the certificates themselves can\n    be automatically copied to remote servers (via ssh, sftp or ftp for\n    tokens). The script doesn’t need to run on the server itself. This\n    can be useful if you don’t have access to run such scripts on the\n    server itself, e.g. if it’s a shared server.\n- RUNS AS A DAILY CRON - so certificates will be automatically renewed\n    when required.\n- AUTOMATIC CERTIFICATE RENEWALS\n- CHECKS CERTIFICATES ARE CORRECTLY LOADED - After installation of a\n    new certificate it will test the port specified ( see Server-Types\n    for options ) that the certificate is actually being used correctly.\n- AUTOMATICALLY UPDATES - The script can automatically update itself\n    with bug fixes etc if required.\n- EXTENSIVELY CONFIGURABLE - With a simple configuration file for each\n    certificate it is possible to configure it exactly for your needs,\n    whether a simple single domain or multiple domains across multiple\n    servers on the same certificate.\n- SUPPORTS HTTP AND DNS CHALLENGES - Full ACME implementation\n- SIMPLE AND EASY TO USE\n- DETAILED DEBUG INFO - Whilst it shouldn’t be needed, detailed debug\n    information is available.\n- RELOAD SERVICES - After a new certificate is obtained then the\n    relevant services (e.g. apache/nginx/postfix) can be reloaded.\n- ACME V1 AND V2 - Supports both ACME versions 1 and 2 (note ACMEv1 is\n    deprecated and clients will automatically use v2)\n\nOverview\n\nGetSSL was written in standard bash ( so it can be run on a server, a\ndesktop computer, or even a virtualbox) and add the checks, and\ncertificates to a remote server ( providing you have a ssh with key,\nsftp or ftp access to the remote server).\n\n```getssl -h getssl ver. 2.36 Obtain SSL certificates from the\nletsencrypt.org ACME server\n\nUsage: getssl [-h|–help] [-d|–debug] [-c|–create] [-f|–force] [-a|–all]\n[-q|–quiet] [-Q|–mute] [-u|–upgrade] [-X|–experimental tag]\n[-U|–nocheck] [-r|–revoke cert key] [-w working_dir] [–preferred-chain\nchain] domain\n\nOptions: -a, –all Check all certificates -d, –debug Output debug\ninformation -c, –create Create default config files -f, –force Force\nrenewal of cert (overrides expiry checks) -h, –help Display this help\nmessage and exit -i, –install Install certificates and reload service\n-q, –quiet Quiet mode (only outputs on error, success of new cert, or\ngetssl was upgraded) -Q, –mute Like -q, but also mute notification about\nsuccessful upgrade -r, –revoke “cert” “key” [CA_server] Revoke a\ncertificate (the cert and key are required) -u, –upgrade Upgrade getssl\nif a more recent version is available - can be used with or without\ndomain(s) -X –experimental tag Allow upgrade to a specified version of\ngetssl -U, –nocheck Do not check if a more recent version is available\n-v –version Display current version of getssl -w working_dir “Working\ndirectory” –preferred-chain “chain” Use an alternate chain for the\ncertificate ```\n\n\nQuick Start Guide\n\nYou can download precompiled RPM packages and Debian (DEB) packages from\nthe release page for this project, or you can manually build and install\nthe program from the git sources.\n\nIf you want to manually install the program from scratch with the git\nsources rather than use the pre-compiled RPMS and DEB packages, or if\nyour target platform does not support Linux RPM or DEB packages, then\nplease skip to the section Manual Installation for instructions on\ninstalling the getssl program manually.\n\nPackages are provided in binary and source versions, and can be\ndownloaded and installed directly or rebuilt. Package types are Red Hat\nPackage Manager (RPM) packages and Debian (DEB) packages for binary\ninstallation and Source RPM packages (SRPMS) and Debbuild SDEB packages\nfor source code installation.\n\nRPM and DEB packages for each release include a binary architecture\nspecific package and a source package which can be downloaded and\nbuilt/rebuilt and which contains the source code.\n\nFor example, the release v2.47 contains the following packages in the\nrelease section:\n\nRPM BASED PACKAGES (REDHAT, CENTOS, SUSE, ORACLE LINUX, AWS LINUX)\n\n-   getssl-2.47-1.src.rpm (source)\n-   getssl-2.47-1.noarch.rpm (binary)\n\nDEBIAN BASED PACKAGES (DEBIAN, UBUNTU)\n\n-   getssl-2.47-1.sdeb (source)\n-   getssl_2.47-1_all.deb (binary)\n\nINSTALLING BINARY PACKAGES\n\nTo install the binary package with the rpm package manager for RedHat,\nCentOS, SuSe, Oracle Linux, or AWS Linux distributions:\n\n    rpm -i getssl-2.47-1.noarch.rpm\n\nTo deinstall the RPM binary package:\n\n    rpm -e getssl\n\nTo install the binary package with the Debian dpkg package manager for\nDebian and Ubuntu Linux distributions:\n\n    dpkg -i getssl_2.47-1_all.deb\n\nTo deinstall the Debian dpkg binary package:\n\n    dpkg -r getssl\n\nINSTALLING SOURCE PACKAGES\n\nTo install the source package with the rpm package manager for RedHat,\nCentOS, SuSe, Oracle Linux, or AWS Linux distributions:\n\n    rpm -i getssl-2.47-1.src.rpm\n\n_(Note: rpm installs the source code files in /root/rpmbuild/ as top\ndirectory for RedHat, CentOS, Oracle Linux, and AWS Linux platforms.\nSuSe platforms install the source code files in /usr/src/packages/)_\n\nTo install the source package with the Debbuild package tool for Debian\nor Ubuntu Linux distributions:\n\n    debbuild -i getssl-2.47-1.sdeb\n\n_(Note: Debbuild installs the source code files in /root/debbuild/ as\ntop directory)_\n\nOne item of note is that SDEB packages are actually just tar.gz archives\nrenamed with an .sdeb file extension with the files organized into a\nSPECS and SOURCES directory tree structure. Subsequently, an SDEB can\nalso be extracted and installed with the TAR -XVF COMMAND or the files\nlisted with the TAR -TVF COMMAND:\n\n    [root@localhost getssl]$ tar -tvf /root/debbuild/SDEBS/getssl-2.47-1.sdeb\n    -rw-r--r-- root/root   1772110 2022-10-12 20:42 SOURCES/getssl-2.47.tar.gz\n    -rw-r--r-- root/root       192 2022-08-02 15:02 SOURCES/getssl.crontab\n    -rw-r--r-- root/root       126 2022-08-02 15:02 SOURCES/getssl.logrotate\n    -rw-r--r-- root/root      1537 2022-08-02 15:02 SPECS/getssl.spec\n    [root@localhost getssl]$\n\nFor building or rebuilding RPMS or DEB Packages after you have installed\nthe associated source packages on your platform, refer to the following:\n\n-   Building getssl as an RPM Package (Redhat/CentOS/SuSe/Oracle/AWS)\n-   Building getssl as a Debian Package (Debian/Ubuntu)\n\n\nManual Installation\n\nSince the script is only one file, you can use the following command for\na quick installation of GetSSL only:\n\n    curl --silent https://raw.githubusercontent.com/srvrco/getssl/latest/getssl \u003e getssl ; chmod 700 getssl\n\nThis will copy the getssl Bash script to the current location and change\nthe permissions to make it executable for you.\n\nFor a more comprehensive installation (e.g. install also helper scripts)\nuse the provided Makefile with each release tarball. Use the install\ntarget.\n\nYou’ll find the latest version in the git repository:\n\n    git clone https://github.com/srvrco/getssl.git\n\nFor Arch Linux there are packages in the AUR, see here and there.\n\nIf you use puppet, there is a GetSSL Puppet module by dthielking\n\n\nGetting started\n\nOnce you have obtained the script (see Installation above), the next\nstep is to use\n\n    ./getssl -c yourdomain.com\n\nwhere yourdomain.com is the primary domain name that you want to create\na certificate for. This will create the following folders and files.\n\n    ~/.getssl\n    ~/.getssl/getssl.cfg\n    ~/.getssl/yourdomain.com\n    ~/.getssl/yourdomain.com/getssl.cfg\n\nYou can then edit ~/.getssl/getssl.cfg to set the values you want as the\ndefault for the majority of your certificates.\n\nThen edit ~/.getssl/yourdomain.com/getssl.cfg to have the values you\nwant for this specific domain (make sure to uncomment and specify\ncorrect ACL option, since it is required).\n\nYou can then just run:\n\n    getssl yourdomain.com\n\nand it should run, providing output like:\n\n    Registering account\n    Verify each domain\n    Verifying yourdomain.com\n    Verified yourdomain.com\n    Verifying www.yourdomain.com\n    Verified www.yourdomain.com\n    Verification completed, obtaining certificate.\n    Certificate saved in /home/user/.getssl/yourdomain.com/yourdomain.com.crt\n    The intermediate CA cert is in /home/user/.getssl/yourdomain.com/chain.crt\n    copying domain certificate to ssh:server5:/home/yourdomain/ssl/domain.crt\n    copying private key to ssh:server5:/home/yourdomain/ssl/domain.key\n    copying CA certificate to ssh:server5:/home/yourdomain/ssl/chain.crt\n    reloading SSL services\n\nTHIS WILL (BY DEFAULT) USE THE STAGING SERVER, SO SHOULD GIVE YOU A\nCERTIFICATE THAT ISN’T TRUSTED ( FAKE LET’S ENCRYPT). Change the server\nin your config file to get a fully valid certificate.\n\nNOTE: Verification is done via port 80 (http), port 443 (https) or dns.\nThe certificate can be used (and checked with getssl) on alternate\nports.\n\n\nDetailed guide to getting started with more examples\n\nGuide to getting a certificate for example.com and www.example.com\n\n\nWildcard certificates\n\ngetssl supports creating wildcard certificates, i.e. __.example.com_\nwhich allows a single certificate to be used for any domain under\n_example.com_, e.g. _www.example.com_, _mail.example.com*. These must be\nvalidated using the dns-01 method.\n\nA _partial_ example getssl.cfg file is:\n\n    VALIDATE_VIA_DNS=true\n    export CPANEL_USERNAME=''\n    export CPANEL_URL='https://www.cpanel.host:2083'\n    export CPANEL_APITOKEN='1ABC2DEF3GHI4JKL5MNO6PQR7STU8VWX9YZA'\n    DNS_ADD_COMMAND=/home/root/getssl/dns_scripts/dns_add_cpanel\n    DNS_DEL_COMMAND=/home/root/getssl/dns_scripts/dns_del_cpanel\n\n\nISPConfig\n\nThere is a need to create a remote user in ISPConfig to enable the\nremote API access.\n\nYou need to go to System -\u003e Remote Users and then enable the features\nfor the remote user such as DNS zone functions.\n\nPHP is required to exeucte soap functions in file ispconfig_soap.php.\n\n    DNS_ADD_COMMAND=\"/home/root/getssl/dns_scripts/dns_add_ispconfig\"\n    DNS_DEL_COMMAND=\"/home/root/getssl/dns_scripts/dns_del_ispconfig\"\n\n    export ISPCONFIG_REMOTE_USER_NAME=\"ussename\"\n    export ISPCONFIG_REMOTE_USER_PASSWORD=\"password\"\n    export ISPCONFIG_SOAP_LOCATION=\"https://localhost:8080/remote/index.php\"\n    export ISPCONFIG_SOAP_URL=\"https://localhost:8080/remote/\"\n\nCreate the wildcard certificate (need to use quotes to prevent\nglobbing):\n\n    getssl \"*.example.domain\"\n\nYou can renew the certificate using getssl -a to renew all configured\ncertificates.\n\nYou can also specify additional domains in the SANS line, e.g.\nSANS=\"www.test.example.com\". This cannot contain any of the domains\nwhich would be covered by the wildcard certificate.\n\n\nAutomating updates\n\nI use the following CRON job\n\n    23  5 * * * /root/scripts/getssl -u -a -q\n\nThe cron will automatically update getssl and renew any certificates,\nonly giving output if there are issues / errors.\n\n-   The -u flag updates getssl if there is a more recent version\n    available.\n-   The -a flag automatically renews any certificates that are due for\n    renewal.\n-   The -q flag is “quiet” so that it only outputs and emails me if\n    there was an error / issue.\n\n\nStructure\n\nThe design aim was to provide flexibility in running the code. The\ndefault working directory is ~/.getssl (which can be modified via the\ncommand line).\n\nWithin the WORKING DIRECTORY is a config file getssl.cfg which is a\nsimple bash file containing variables, an example of which is:\n\n    # Uncomment and modify any variables you need\n    # The staging server is best for testing (hence set as default)\n    CA=\"https://acme-staging-v02.api.letsencrypt.org\"\n    # This server issues full certificates, however has rate limits\n    #CA=\"https://acme-v02.api.letsencrypt.org\"\n\n    AGREEMENT=\"https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf\"\n\n    # Set an email address associated with your account - generally set at account level rather than domain.\n    ACCOUNT_EMAIL=\"me@example.com\"\n    ACCOUNT_KEY_LENGTH=4096\n    ACCOUNT_KEY=\"/home/user/.getssl/account.key\"\n    PRIVATE_KEY_ALG=\"rsa\"\n\n    # The time period within which you want to allow renewal of a certificate - this prevents hitting some of the rate limits.\n    RENEW_ALLOW=\"30\"\n\n    # openssl config file.  The default should work in most cases.\n    SSLCONF=\"/usr/lib/ssl/openssl.cnf\"\n\nthen, within the WORKING DIRECTORY there will be a folder for each\ncertificate (based on its domain name). Within that folder will be a\nconfig file (again called getssl.cfg). An example of which is:\n\n    # Uncomment and modify any variables you need\n    # see https://github.com/srvrco/getssl/wiki/Config-variables for details\n    # see https://github.com/srvrco/getssl/wiki/Example-config-files for example configs\n    #\n    # The staging server is best for testing\n    #CA=\"https://acme-staging-v02.api.letsencrypt.org\"\n    # This server issues full certificates, however has rate limits\n    #CA=\"https://acme-v02.api.letsencrypt.org\"\n\n    #AGREEMENT=\"https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf\"\n\n    PRIVATE_KEY_ALG=\"rsa\"\n\n    # Additional domains - this could be multiple domains / subdomains in a comma separated list\n    SANS=\"www.example.org\"\n\n    # Acme Challenge Location. The first line for the domain, the following ones for each additional domain.\n    # If these start with ssh: then the next variable is assumed to be the hostname and the rest the location.\n    # An ssh key will be needed to provide you with access to the remote server.\n    # Optionally, you can specify a different userid for ssh/scp to use on the remote server before the @ sign.\n    # If left blank, the username on the local server will be used to authenticate against the remote server.\n    # If these start with ftp: then the next variables are ftpuserid:ftppassword:servername:ACL_location\n    # These should be of the form \"/path/to/your/website/folder/.well-known/acme-challenge\"\n    # where \"/path/to/your/website/folder/\" is the path, on your web server, to the web root for your domain.\n    #ACL=('/var/www/${DOMAIN}/web/.well-known/acme-challenge'\n    #     'ssh:server5:/var/www/${DOMAIN}/web/.well-known/acme-challenge'\n    #     'ssh:sshuserid@server5:/var/www/${DOMAIN}/web/.well-known/acme-challenge'\n    #     'ftp:ftpuserid:ftppassword:${DOMAIN}:/web/.well-known/acme-challenge')\n\n\n    # Location for all your certs, these can either be on the server (so full path name) or using ssh as for the ACL\n    DOMAIN_CERT_LOCATION=\"ssh:server5:/etc/ssl/domain.crt\"\n    DOMAIN_KEY_LOCATION=\"ssh:server5:/etc/ssl/domain.key\"\n    #CA_CERT_LOCATION=\"/etc/ssl/chain.crt\"\n    #DOMAIN_CHAIN_LOCATION=\"\" this is the domain cert and CA cert\n    #DOMAIN_PEM_LOCATION=\"\" this is the domain_key. domain cert and CA cert\n\n\n    # The command needed to reload apache / nginx or whatever you use.\n    # Several (ssh) commands may be given using a bash array:\n    # RELOAD_CMD=('ssh:sshuserid@server5:systemctl reload httpd' 'logger getssl for server5 efficient.')\n    RELOAD_CMD=\"service apache2 reload\"\n\n    # Define the server type. This can be https, ftp, ftpi, imap, imaps, pop3, pop3s, smtp,\n    # smtps_deprecated, smtps, smtp_submission, xmpp, xmpps, ldaps or a port number which\n    # will be checked for certificate expiry and also will be checked after\n    # an update to confirm correct certificate is running (if CHECK_REMOTE) is set to true\n    #SERVER_TYPE=\"https\"\n    #CHECK_REMOTE=\"true\"\n\nIf a location for a file starts with ssh: it is assumed the next part of\nthe file is the hostname, followed by a colon, and then the path. Files\nwill be securely copied using scp, and it assumes that you have a key on\nthe server (for passwordless access). You can set the user, port etc for\nthe server in your .ssh/config file.\n\nIf an ACL starts with ftp: or sftp: it as assumed that the line is in\nthe format “ftp:UserID:Password:servername:/path/to/acme-challenge”.\nsftp requires sshpass. Note: FTP can be used for copying tokens only and\ncan NOT be used for uploading private key or certificates as it’s not a\nsecure method of transfer.\n\nssh can also be used for the reload command if using on remote servers.\n\nMultiple locations can be defined for a file by separating the locations\nwith a semi-colon.\n\nA typical config file for example.com and www.example.com on the same\nserver would be:\n\n    # uncomment and modify any variables you need\n    # The staging server is best for testing\n    CA=\"https://acme-staging-v02.api.letsencrypt.org\"\n    # This server issues full certificates, however has rate limits\n    #CA=\"https://acme-v02.api.letsencrypt.org\"\n\n    # additional domains - this could be multiple domains / subdomains in a comma separated list\n    SANS=\"www.example.com\"\n\n    #Acme Challenge Location.   The first line for the domain, the following ones for each additional domain\n    ACL=('/var/www/example.com/web/.well-known/acme-challenge')\n\n    USE_SINGLE_ACL=\"true\"\n\n    DOMAIN_CERT_LOCATION=\"/etc/ssl/example.com.crt\"\n    DOMAIN_KEY_LOCATION=\"/etc/ssl/example.com.key\"\n    CA_CERT_LOCATION=\"/etc/ssl/example.com.bundle\"\n\n    RELOAD_CMD=\"service apache2 reload\"\n\n\nServer-Types\n\nOpenSSL has built-in support for getting the certificate from a number\nof SSL services these are available in getssl to check if the\ncertificate is installed correctly\n\n  Server-Type        Port   Extra\n  ------------------ ------ --------------\n  https              443\n  ftp                21     FTP Explicit\n  ftpi               990    FTP Implicit\n  imap               143    StartTLS\n  imaps              993\n  pop3               110    StartTLS\n  pop3s              995\n  smtp               25     StartTLS\n  smtps_deprecated   465\n  smtps              587    StartTLS\n  smtp_submission    587    StartTLS\n  xmpp               5222   StartTLS\n  xmpps              5269\n  ldaps              636\n  port number\n\n\nRevoke a certificate\n\nIn general revoking a certificate is not required.\n\nUsage: getssl -r path/to/cert path/to/key [CA_server]\n\nYou need to specify both the certificate you want to revoke, and the\naccount or private domain key which was used to sign / obtain the\noriginal certificate. The CA_server is an optional parameter and\ndefaults to Let’s Encrypt (“https://acme-v02.api.letsencrypt.org”) as\nthat is currently the only Certificate Authority using the ACME\nprotocol.\n\n\nElliptic curve keys\n\nYou can use Elliptic curve keys for both the account key and the domain\nkey (different of course, don’t use the same key for both). prime256v1\n(NIST P-256) and secp384r1 (NIST P-384) are both fully supported.\nsecp521r1 (NIST P-521) is included in the code, but not currently\nsupported by Let’s Encrypt).\n\n\nPreferred Chain\n\nIf a CA offers multiple chains then it is possible to select which chain\nis used by using the PREFERRED_CHAIN variable in getssl.cfg or\nspecifying --preferred-chain in the call to getssl\n\nThis uses wildcard matching so requesting “X1” returns the first\ncertificate returned by the CA which contains the text “X1”, Note you\nmay need to escape any characters which special characters, e.g.\nPREFERRED_CHAIN=\"\\(STAGING\\) Doctored Durian Root CA X3\"\n\n-   Staging options are: “(STAGING) Doctored Durian Root CA X3” and\n    “(STAGING) Pretend Pear X1”\n-   Production options are: “ISRG Root X1” and “ISRG Root X2”\n\n\nInclude Root certificate in full chain\n\nSome servers, including those that use Java keystores, will not accept a\nserver certificate if it cannot valid the full chain of signers.\n\nSpecifically, Nutanix Prism (Element and Central) will not accept the\nfullchain.crt until the root CA’s certificate has been appended to it\nmanually.\n\nIf your application requires the full chain, i.e. including the root\ncertificate of the CA, then this can be included in the fullchain.crt\nfile by adding the following line to getssl.cfg\n\n    FULL_CHAIN_INCLUDE_ROOT=\"true\"\n\n\nWindows Server and IIS Support\n\nSYSTEM AND SOFTWARE REQUIREMENTS:\n\n-   Windows Server with DNS and IIS services\n\n-   One of\n\n    -   WSL Windows Sub for Linux\n\n        -   Ubuntu or any other distro\n\n        -   gettssl can be installed inside WSL or using /mnt/ path to\n            windows\n\n    -   Bash - gettssl should be installed in Windows\n\n        -   Git Bash - https://git-scm.com/downloads\n\n        -   Rtools4.0 - https://cran.r-project.org/bin/windows/Rtools/\n\nWSL\n\n-   Installing and configuring WSL 2\n\n    -   Add remove Windows features and choose “Windows for sub Linux”\n\n    -   Install a distro like Ubuntu or any other Linux platform\n\n        -   If newly added to the system a reboot is required to\n            continue\n\n        -   wsl –install -d ubuntu\n\n        -   Any user will work\n\n        -   Copying files to WSL\n\n            -   From Windows open Windows Explorer and browse to\n                \\\\wsl$\\Ubuntu\\home\\user\\ and then place the getssl files\n                and folders .getssl and getssl into users home directory\n                \\\\wsl$\\Ubuntu\\home\\user\\.getssl . or in Windows\n\n        -   Open cmd in Widnows and type\n            wsl -d Ubuntu /bin/bash /home/UserName/getssl/getssl domain.eu \u0026\u0026 exit\n\n        -   Using a specific distro if not set as default in WSL then\n            use the wsl -d distro command\n\n    NOTES:\n\n    -   While configuring WSL please do check the /etc/hosts file if the\n        IP of the domain is correct since it overrides the DNS server.\n\n    -   Make sure running version 2.\n\nGIT BASH - MINGW64_NT\n\n-   Install git GIT Bash\n\n-   \"C:\\Program Files\\Git\\bin\\bash.exe\" --login -i -- path_to/getssl/getssl domain.eu\n\nRTOOLS BASH - MSYS_NT\n\n-   Make sure that the path of \\rtools42\\usr\\bin in Windows system\n    environment variables is right before c:\\windows\\system32\\ so that\n    getssl will use the Rtools applications instead of Windows\n    applications such as sort.exe that crashes or speify full path to\n    sort.\n\n-   \\rtools42\\usr\\bin\\bash.exe \\Users\\Administrator\\getssl\\getssl domain.eu 2\u003e\u00261 1\u003eout.txt\n\nUPDATING DNS TXT RECORDS\n\n-   Using PowerShell to add and delete _acme-challenge records\n\n    -   dns_add_windows_dnsserver\n\n    -   dns_del_windows_dnsserver\n\n    NOTES: The script supports optional second level TLDs.\n    sub.domain.co.uk You can update the reqexp .(co|com).uk to fit your\n    needs.\n\nIIS INTERNET INFORMATION SERVICE\n\n-   Under folder other_scripts you can find a PowerSheell script\n    iis_install_certeficate.ps1 which generates PFX certificate to be\n    installed in IIS and binds the domains to the PFX certificate.\n\n-   WSL\n\n    -   RELOAD_CMD=(\"powershell.exe -ExecutionPolicy Bypass -File \"\\\\\\\\wsl$\\\\Ubuntu\\\\home\\\\user\\\\getssl\\\\other_scripts\\\\iis_install_certeficate.ps1\" \"domain.eu\" \"IIS SiteName\" \"\\\\\\\\wsl$\\\\Ubuntu\\\\home\\\\user\\\\ssl\\\\\" \"path_to_ssl_dir\" )\n\n-   GIT and Rtools4 Bash\n\n    -   RELOAD_CMD=(\"powershell.exe /c/Users/Administrator/getssl/other_scripts/iis_install_certeficate.ps1 domain.eu domain path_to_ssl_dir\")\n\n\nBuilding as an RPM Package\n\nIn order to build getssl as an RPM, the program must be compressed into\na tar.gz file and the tar.gz file named to match the versioning\ninformation contained in the associated .spec file.\n\nSpec files are special files which contain instructions on how to build\na particular package from a source code archive. On Red Hat, CentOS,\nOracle Linux, and AWS Linux systems, RPMS are built in the\n/root/rpmbuild/ top directory. SuSe systems build RPMS in the\n/usr/src/packages/ as top directory. These “top directories” will\ncontain BUILD, BUILDROOT, SPECS, RPMS, SRPMS, and SOURCES\nsubdirectories.\n\nThe SPECS directory contains the *.spec files used to build RPMS and\nSRPMS packages. The SOURCES subdirectory will contain the soure code\narchive file referred to in the *.spec file used to build the RPM\npackage.\n\nSee the Quick Start Guide on instructions for installing the source rpm\nwhich installs both the .spec file and source archive file (tar.gz) into\nthe rpm build top directory (i.e. /root/rpmbuild/). You should have\npreviously installed the src.rpm file before attempting to build the\nrpm. You can also manually install the .spec file into the \u003ctop\ndirectory\u003e/SPECS/ directory and the source code tarball in the \u003ctop\ndirectory/SOURCES/ directory, then attempt to build the rpm package.\n\nTo build getssl using the rpm tool, change directories (cd) into the\n/root/rpmbuild/SPECS/ directory (/usr/src/packages/SPECS/ for SuSe) and\nenter the following command:\n\n    rpmbuild -ba getssl.spec \u003center\u003e\n\nThe program should output the following if the build is successful and\nverify that the program wrote both the RPMS and SRPMS packages:\n\n    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.BYQw0V\n    + umask 022\n    + cd /root/rpmbuild/BUILD\n    + cd /root/rpmbuild/BUILD\n    + rm -rf getssl-2.47\n    + /usr/bin/gzip -dc /root/rpmbuild/SOURCES/getssl-2.47.tar.gz\n    + /usr/bin/tar -xof -\n    + STATUS=0\n    + '[' 0 -ne 0 ']'\n    + cd getssl-2.47\n    + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .\n    + exit 0\n    Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.xpA456\n    + umask 022\n    + cd /root/rpmbuild/BUILD\n    + cd getssl-2.47\n    + exit 0\n    Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.zQs24R\n    + umask 022\n    + cd /root/rpmbuild/BUILD\n    + '[' /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64 '!=' / ']'\n    + rm -rf /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    ++ dirname /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    + mkdir -p /root/rpmbuild/BUILDROOT\n    + mkdir /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    + cd getssl-2.47\n    + '[' -n /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64 -a /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64 '!=' / ']'\n    + /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    + /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/bin\n    + /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts\n    + /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/other_scripts\n    + /usr/bin/make DESTDIR=/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64 install\n    mkdir -p /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    install -Dvm755 getssl /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/bin/getssl\n    'getssl' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/bin/getssl'\n    install -dvm755 /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl\n    for dir in *_scripts; do install -dv /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/$dir; install -pv $dir/* /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/$dir/; done\n    'dns_scripts/Azure-README.txt' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/Azure-README.txt'\n    'dns_scripts/Cloudflare-README.md' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/Cloudflare-README.md'\n    'dns_scripts/DNS_IONOS.md' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/DNS_IONOS.md'\n    'dns_scripts/DNS_ROUTE53.md' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/DNS_ROUTE53.md'\n    'dns_scripts/GoDaddy-README.txt' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/GoDaddy-README.txt'\n    'dns_scripts/dns_add_acmedns' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_acmedns'\n    'dns_scripts/dns_add_azure' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_azure'\n    'dns_scripts/dns_add_challtestsrv' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_challtestsrv'\n    'dns_scripts/dns_add_clouddns' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_clouddns'\n    'dns_scripts/dns_add_cloudflare' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_cloudflare'\n    'dns_scripts/dns_add_cpanel' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_cpanel'\n    'dns_scripts/dns_add_del_aliyun.sh' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_del_aliyun.sh'\n    'dns_scripts/dns_add_dnspod' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_dnspod'\n    'dns_scripts/dns_add_duckdns' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_duckdns'\n    'dns_scripts/dns_add_dynu' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_dynu'\n    'dns_scripts/dns_add_godaddy' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_godaddy'\n    'dns_scripts/dns_add_hostway' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_hostway'\n    'dns_scripts/dns_add_ionos' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_ionos'\n    'dns_scripts/dns_add_ispconfig' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_ispconfig'\n    'dns_scripts/dns_add_joker' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_joker'\n    'dns_scripts/dns_add_lexicon' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_lexicon'\n    'dns_scripts/dns_add_linode' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_linode'\n    'dns_scripts/dns_add_manual' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_manual'\n    'dns_scripts/dns_add_nsupdate' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_nsupdate'\n    'dns_scripts/dns_add_ovh' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_ovh'\n    'dns_scripts/dns_add_pdns-mysql' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_pdns-mysql'\n    'dns_scripts/dns_add_vultr' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_vultr'\n    'dns_scripts/dns_add_windows_dns_server' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_add_windows_dns_server'\n    'dns_scripts/dns_del_acmedns' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_acmedns'\n    'dns_scripts/dns_del_azure' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_azure'\n    'dns_scripts/dns_del_challtestsrv' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_challtestsrv'\n    'dns_scripts/dns_del_clouddns' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_clouddns'\n    'dns_scripts/dns_del_cloudflare' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_cloudflare'\n    'dns_scripts/dns_del_cpanel' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_cpanel'\n    'dns_scripts/dns_del_dnspod' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_dnspod'\n    'dns_scripts/dns_del_duckdns' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_duckdns'\n    'dns_scripts/dns_del_dynu' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_dynu'\n    'dns_scripts/dns_del_godaddy' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_godaddy'\n    'dns_scripts/dns_del_hostway' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_hostway'\n    'dns_scripts/dns_del_ionos' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_ionos'\n    'dns_scripts/dns_del_ispconfig' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_ispconfig'\n    'dns_scripts/dns_del_joker' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_joker'\n    'dns_scripts/dns_del_lexicon' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_lexicon'\n    'dns_scripts/dns_del_linode' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_linode'\n    'dns_scripts/dns_del_manual' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_manual'\n    'dns_scripts/dns_del_nsupdate' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_nsupdate'\n    'dns_scripts/dns_del_ovh' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_ovh'\n    'dns_scripts/dns_del_pdns-mysql' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_pdns-mysql'\n    'dns_scripts/dns_del_vultr' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_vultr'\n    'dns_scripts/dns_del_windows_dns_server' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_del_windows_dns_server'\n    'dns_scripts/dns_freedns.sh' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_freedns.sh'\n    'dns_scripts/dns_godaddy' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_godaddy'\n    'dns_scripts/dns_route53.py' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/dns_route53.py'\n    'dns_scripts/ispconfig_soap.php' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/dns_scripts/ispconfig_soap.php'\n    'other_scripts/cpanel_cert_upload' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/other_scripts/cpanel_cert_upload'\n    'other_scripts/iis_install_certeficate.ps1' -\u003e '/root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/usr/share/getssl/other_scripts/iis_install_certeficate.ps1'\n    + install -Dpm 644 /root/rpmbuild/SOURCES/getssl.crontab /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/etc/cron.d/getssl\n    + install -Dpm 644 /root/rpmbuild/SOURCES/getssl.logrotate /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64/etc/logrotate.d/getssl\n    + /usr/lib/rpm/check-buildroot\n    + /usr/lib/rpm/redhat/brp-ldconfig\n    /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory\n    + /usr/lib/rpm/brp-compress\n    + /usr/lib/rpm/brp-strip /usr/bin/strip\n    + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump\n    + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip\n    + /usr/lib/rpm/brp-python-bytecompile '' 1\n    + /usr/lib/rpm/brp-python-hardlink\n    + /usr/bin/true\n    Processing files: getssl-2.47-1.noarch\n    Provides: getssl = 2.47-1\n    Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh\n    Requires(rpmlib): rpmlib(CompressedFileNames) \u003c= 3.0.4-1 rpmlib(FileDigests) \u003c= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\n    Requires(pre): /bin/sh\n    Requires(post): /bin/sh\n    Requires(preun): /bin/sh\n    Requires(postun): /bin/sh\n    Requires: /bin/bash /usr/bin/env\n    Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    Wrote: /root/rpmbuild/SRPMS/getssl-2.47-1.src.rpm\n    Wrote: /root/rpmbuild/RPMS/noarch/getssl-2.47-1.noarch.rpm\n    Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.hgma8Q\n    + umask 022\n    + cd /root/rpmbuild/BUILD\n    + cd getssl-2.47\n    + /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/getssl-2.47-1.x86_64\n    + exit 0\n\n\nBuilding as a Debian Package\n\nIn order to build getssl as a Debian package, the program must be\ncompressed into a tar.gz file and the tar.gz file named to match the\nversioning information contained in the associated .spec file. Spec\nfiles are special files which contain instructions on how to build a\nparticular package from a source code archive.\n\nDebian Packages can be built using a utility called “debbuild” and use a\ntop directory structure which is similar to that used by the RPM tool\nbut using /root/debbuild/ as the “top directory”. These “top\ndirectories” will contain BUILD, BUILDROOT, SPECS, DEBS, SDEBS, and\nSOURCES subdirectories and follows a similar layout that is used for RPM\nfiles.\n\nThe SPECS directory contains the *.spec files used to build DEB and SDEB\npackages. The SOURCES subdirectory will contain the soure code archive\nfile referred to in the *.spec file used to build the DEB and SDEB\npackages.\n\nSee the Quick Start Guide on instructions for installing the source SDEB\nwhich installs both the .spec file and source archive file (tar.gz) into\nthe debbuild top directory (i.e. /root/debbuild/). You should have\npreviously installed the SDEB file before attempting to build the DEB\npackage. You can also manually install the .spec file into the \u003ctop\ndirectory\u003e/SPECS/ directory and the source code tarball in the \u003ctop\ndirectory/SOURCES/ directory, then attempt to build the DEB package.\n\nTo build getssl using debbuild, change directories (cd) into the\n/root/debbuild/SPECS/ directory and enter the following command:\n\n    debbuild -vv -ba getssl.spec \u003center\u003e\n\nThe program should output the following if the build is successful and\nverify that the program wrote both the DEB and SDEB packages:\n\n    This is debbuild, version 22.02.1\\ndebconfigdir:/usr/lib/debbuild\\nsysconfdir:/etc\\n\n    Lua: No Lua module loaded\n    Executing (%prep): /bin/sh -e /var/tmp/deb-tmp.prep.92007\n    + umask 022\n    + cd /root/debbuild/BUILD\n    + /bin/rm -rf getssl-2.47\n    + /bin/gzip -dc /root/debbuild/SOURCES/getssl-2.47.tar.gz\n    + /bin/tar -xf -\n    + STATUS=0\n    + '[' 0 -ne 0 ']'\n    + cd getssl-2.47\n    + /bin/chmod -Rf a+rX,u+w,go-w .\n    + exit 0\n    Executing (%build): /bin/sh -e /var/tmp/deb-tmp.build.40956\n    + umask 022\n    + cd /root/debbuild/BUILD\n    + cd getssl-2.47\n    + exit 0\n    Executing (%install): /bin/sh -e /var/tmp/deb-tmp.install.36647\n    + umask 022\n    + cd /root/debbuild/BUILD\n    + cd getssl-2.47\n    + '[' -n /root/debbuild/BUILDROOT/getssl-2.47-1.amd64 -a /root/debbuild/BUILDROOT/getssl-2.47-1.amd64 '!=' / ']'\n    + /bin/rm -rf /root/debbuild/BUILDROOT/getssl-2.47-1.amd64\n    + /bin/mkdir -p /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/bin\n    + /bin/mkdir -p /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts\n    + /bin/mkdir -p /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/other_scripts\n    + /usr/bin/make DESTDIR=/root/debbuild/BUILDROOT/getssl-2.47-1.amd64 install\n    mkdir -p /root/debbuild/BUILDROOT/getssl-2.47-1.amd64\n    install -Dvm755 getssl /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/bin/getssl\n    'getssl' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/bin/getssl'\n    install -dvm755 /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl\n    for dir in *_scripts; do install -dv /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/$dir; install -pv $dir/* /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/$dir/; done\n    'dns_scripts/Azure-README.txt' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/Azure-README.txt'\n    'dns_scripts/Cloudflare-README.md' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/Cloudflare-README.md'\n    'dns_scripts/DNS_IONOS.md' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/DNS_IONOS.md'\n    'dns_scripts/DNS_ROUTE53.md' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/DNS_ROUTE53.md'\n    'dns_scripts/GoDaddy-README.txt' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/GoDaddy-README.txt'\n    'dns_scripts/dns_add_acmedns' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_acmedns'\n    'dns_scripts/dns_add_azure' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_azure'\n    'dns_scripts/dns_add_challtestsrv' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_challtestsrv'\n    'dns_scripts/dns_add_clouddns' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_clouddns'\n    'dns_scripts/dns_add_cloudflare' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_cloudflare'\n    'dns_scripts/dns_add_cpanel' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_cpanel'\n    'dns_scripts/dns_add_del_aliyun.sh' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_del_aliyun.sh'\n    'dns_scripts/dns_add_dnspod' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_dnspod'\n    'dns_scripts/dns_add_duckdns' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_duckdns'\n    'dns_scripts/dns_add_dynu' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_dynu'\n    'dns_scripts/dns_add_godaddy' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_godaddy'\n    'dns_scripts/dns_add_hostway' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_hostway'\n    'dns_scripts/dns_add_ionos' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_ionos'\n    'dns_scripts/dns_add_ispconfig' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_ispconfig'\n    'dns_scripts/dns_add_joker' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_joker'\n    'dns_scripts/dns_add_lexicon' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_lexicon'\n    'dns_scripts/dns_add_linode' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_linode'\n    'dns_scripts/dns_add_manual' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_manual'\n    'dns_scripts/dns_add_nsupdate' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_nsupdate'\n    'dns_scripts/dns_add_ovh' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_ovh'\n    'dns_scripts/dns_add_pdns-mysql' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_pdns-mysql'\n    'dns_scripts/dns_add_vultr' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_vultr'\n    'dns_scripts/dns_add_windows_dns_server' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_add_windows_dns_server'\n    'dns_scripts/dns_del_acmedns' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_acmedns'\n    'dns_scripts/dns_del_azure' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_azure'\n    'dns_scripts/dns_del_challtestsrv' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_challtestsrv'\n    'dns_scripts/dns_del_clouddns' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_clouddns'\n    'dns_scripts/dns_del_cloudflare' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_cloudflare'\n    'dns_scripts/dns_del_cpanel' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_cpanel'\n    'dns_scripts/dns_del_dnspod' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_dnspod'\n    'dns_scripts/dns_del_duckdns' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_duckdns'\n    'dns_scripts/dns_del_dynu' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_dynu'\n    'dns_scripts/dns_del_godaddy' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_godaddy'\n    'dns_scripts/dns_del_hostway' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_hostway'\n    'dns_scripts/dns_del_ionos' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_ionos'\n    'dns_scripts/dns_del_ispconfig' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_ispconfig'\n    'dns_scripts/dns_del_joker' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_joker'\n    'dns_scripts/dns_del_lexicon' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_lexicon'\n    'dns_scripts/dns_del_linode' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_linode'\n    'dns_scripts/dns_del_manual' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_manual'\n    'dns_scripts/dns_del_nsupdate' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_nsupdate'\n    'dns_scripts/dns_del_ovh' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_ovh'\n    'dns_scripts/dns_del_pdns-mysql' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_pdns-mysql'\n    'dns_scripts/dns_del_vultr' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_vultr'\n    'dns_scripts/dns_del_windows_dns_server' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_del_windows_dns_server'\n    'dns_scripts/dns_freedns.sh' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_freedns.sh'\n    'dns_scripts/dns_godaddy' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_godaddy'\n    'dns_scripts/dns_route53.py' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/dns_route53.py'\n    'dns_scripts/ispconfig_soap.php' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/dns_scripts/ispconfig_soap.php'\n    'other_scripts/cpanel_cert_upload' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/other_scripts/cpanel_cert_upload'\n    'other_scripts/iis_install_certeficate.ps1' -\u003e '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/usr/share/getssl/other_scripts/iis_install_certeficate.ps1'\n    + install -Dpm 644 /root/debbuild/SOURCES/getssl.crontab /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/etc/cron.d/getssl\n    + install -Dpm 644 /root/debbuild/SOURCES/getssl.logrotate /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/etc/logrotate.d/getssl\n    + exit 0\n    Checking library requirements...\n    Executing (package-creation): /bin/sh -e /var/tmp/deb-tmp.pkg.6107 for getssl\n    + umask 022\n    + cd /root/debbuild/BUILD\n    + /usr/bin/fakeroot -- /usr/bin/dpkg-deb -b /root/debbuild/BUILDROOT/getssl-2.47-1.amd64/main /root/debbuild/DEBS/all/getssl_2.47-1_all.deb\n    dpkg-deb: warning: parsing file '/root/debbuild/BUILDROOT/getssl-2.47-1.amd64/main/DEBIAN/control' near line 10 package 'getssl':\n     missing 'Maintainer' field\n    dpkg-deb: warning: ignoring 1 warning about the control file(s)\n    dpkg-deb: building package 'getssl' in '/root/debbuild/DEBS/all/getssl_2.47-1_all.deb'.\n    + exit 0\n    Executing (%clean): /bin/sh -e /var/tmp/deb-tmp.clean.52780\n    + umask 022\n    + cd /root/debbuild/BUILD\n    + '[' /root/debbuild/BUILDROOT/getssl-2.47-1.amd64 '!=' / ']'\n    + /bin/rm -rf /root/debbuild/BUILDROOT/getssl-2.47-1.amd64\n    + exit 0\n    Wrote source package getssl-2.47-1.sdeb in /root/debbuild/SDEBS.\n    Wrote binary package getssl_2.47-1_all.deb in /root/debbuild/DEBS/all\n\n\nIssues / problems / help\n\nIf you have any issues, please log them at\nhttps://github.com/srvrco/getssl/issues\n\nThere are additional help pages on the wiki\n\nIf you have any suggestions for improvements then pull requests are\nwelcomed, or raise an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrvrco%2Fgetssl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrvrco%2Fgetssl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrvrco%2Fgetssl/lists"}