尝试读回自己编写的subjectAltName/otherName/UTF8值时,OpenSSL 似乎已损坏:
相关的openssl.cnf配置(使用官方但随机的 OID):
[alt_names]
DNS.1 = www.foo.com
DNS.2 = www.bar.org
IP.1 = 192.168.1.1
IP.2 = 192.168.69.144
email = email@me
otherName = 1.3.6.1.4.1.1;UTF8:some other identifier
Run Code Online (Sandbox Code Playgroud)
从此配置生成的 CSR 转储示例:
TLS Web Server Authentication
X509v3 Subject Alternative Name:
DNS:www.foo.com, DNS:www.bar.org, IP Address:192.168.1.1, IP Address:192.168.69.144, email:email@me, othername:<unsupported>
Signature Algorithm: sha1WithRSAEncryption
6f:4a:1d:8f:43:7e:4d:d1:0c:7e:05:9d:1f:f0:98:b1:69:cf:
Run Code Online (Sandbox Code Playgroud)
有人可以指出我是否做错了什么吗?这让我发疯。
看起来这应该很容易。我运行“ssh-keygen -l -f”(默认似乎是SHA1)。所有示例都显示它打印带有一些额外的、无害的信息的十六进制格式的摘要。然而,在我的 Mac 上,我得到了一个无用的、不透明的字符串。
我应该提到“-E”参数在 Mac (10.10) 上有效,但在 Ubuntu (14.04) 中不可用。如果它不适合您,请记住这一点。
$ ssh-keygen -l -E md5 -f dustin.pem
2048 MD5:29:ed:da:d3:5a:8c:78:4f:62:d3:fd:0c:77:5b:6d:d9 dustin.pem.pub (RSA)
$ ssh-keygen -l -E sha1 -f dustin.pem
2048 SHA1:x2ENPL+vzVdlgkIyu0tAhVQ+H4U dustin.pem.pub (RSA)
$ ssh-keygen -l -E sha256 -f dustin.pem
2048 SHA256:agJs/axI8QPzet/eoPMDxLSf37fd1bgsMX4Di0gqMy4 dustin.pem.pub (RSA)
Run Code Online (Sandbox Code Playgroud)
两种尝试的 SHA 算法都返回不透明但不同的 ASCII 字符串。
我错过了什么?如何在无需将我的密钥复制到 Linux 系统的情况下获得 SHA1 十六进制摘要?
谢谢。
因此,为了防止在安装 dpkg 后出现控制台 UI(newt、snack、dialog)提示,您必须执行以下操作:
debconf-set-selections <<< 'mysql-server mysql-server/root_password password password'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password verify_password'
apt-get -y install mysql-server
Run Code Online (Sandbox Code Playgroud)
谢谢。
笔记
看起来设置这个变量是采用默认值的解决方案:
DEBIAN_FRONTEND=noninteractive
Run Code Online (Sandbox Code Playgroud) apt ×1
certificate ×1
dialog ×1
digest ×1
dpkg ×1
openssl ×1
ssh ×1
ssh-keygen ×1
ssl ×1
ubuntu ×1