Encoding openssl生成的CA中的国家名称字段编码为PRINTABLESTRING,而其他字段编码为UTF8STRING

Encoding openssl生成的CA中的国家名称字段编码为PRINTABLESTRING,而其他字段编码为UTF8STRING,encoding,openssl,x509certificate,pkix,Encoding,Openssl,X509certificate,Pkix,我使用以下命令生成openssl版本1.0.1e的CA证书: 在此过程结束时,我输入DN字段,如下所示: 我将ec_ca_cert.pem证书转换为DER格式: 当我使用十六进制编辑器编辑ec_ca_cert.der文件时,我可以清楚地看到国家字段被编码为可打印字符串(Type=0x13),而所有其他字段(地区名称、组织名称、组织单位名称、公共名称)被编码为UTF8STRING(Type=0x0c) 这是有原因的,还是我的过程中有问题,或者openssl问题?我在openssl用户论坛上得到了以

我使用以下命令生成openssl版本1.0.1e的CA证书:

在此过程结束时,我输入DN字段,如下所示:

我将ec_ca_cert.pem证书转换为DER格式:

当我使用十六进制编辑器编辑ec_ca_cert.der文件时,我可以清楚地看到国家字段被编码为可打印字符串(Type=0x13),而所有其他字段(地区名称、组织名称、组织单位名称、公共名称)被编码为UTF8STRING(Type=0x0c)


这是有原因的,还是我的过程中有问题,或者openssl问题?

我在openssl用户论坛上得到了以下答案: countryName始终是一个可打印字符串,长度始终为2个字符。 参考RFC5280中的规范性定义,参见X.520。

我在openssl用户论坛上得到了以下答案: countryName始终是一个可打印字符串,长度始终为2个字符。 参考RFC5280中的规范性定义,参见X.520。 "

openssl ecparam -out ec_key.pem -name secp384r1 -genkey
openssl req -new -key ec_key.pem -x509 -nodes -days 1460 -out ec_ca_cert.pem
Country Name (2 letter code) [AU]:US
State or Province Name (Full Name) [Some-State]:Florida
Locality Name (eg, city)[]:Miami
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Coca Cola
Organization Unit Name (eg, section) []:Drinks 
Common Name (e.g. server FQDN or YOUR name) []:Miki 
Email Address []:
openssl x509 -in ec_ca_cert.pem -inform PEM -out ec_ca_cert.der -outform DER