When a certificate is autogenerated by dcrd or with gencerts, errors would occur if any hostname contained non-ASCII characters. While X509 certificates do support UTF8 strings, Go does not yet support creating these.
Instead, as a workaround and to keep certificate generation working to avoid errors at dcrd startup, convert hostnames with non-ASCII Unicode characters to their IDNA form, which uses Punycode to ASCII-encode the problematic Unicode characters.
When a certificate is autogenerated by dcrd or with gencerts, errors would occur if any hostname contained non-ASCII characters. While X509 certificates do support UTF8 strings, Go does not yet support creating these.
Instead, as a workaround and to keep certificate generation working to avoid errors at dcrd startup, convert hostnames with non-ASCII Unicode characters to their IDNA form, which uses Punycode to ASCII-encode the problematic Unicode characters.