bouncycastle を使用して csr を生成するために、文字列を punycode したいと考えています。ここでは、ドメイン名のバイト表現が必要です。例えば
new GeneralName(GeneralName.dNSName, new DEROctetString(bytes..))
私の質問は次のとおりです: www..tldを正しくエンコードするにはどうすればよいですか。使えると思い込んでいIDN.toASCII(domain).getBytes()
ました。残念ながら、これは失敗します:
Caused by: java.text.ParseException: An unassigned code point was found in the input ?
at java.base/sun.net.idn.StringPrep.map(StringPrep.java:303)
at java.base/sun.net.idn.StringPrep.prepare(StringPrep.java:426)
at java.base/java.net.IDN.toASCIIInternal(IDN.java:272)