证书存放位置
/usr/syno/etc/certificate/_archive/INFO
证书服务映射,与控制面板 > 安全 > 证书 > 配置中的列表相同
/usr/syno/etc/certificate/_archive/DEFAULT
DSM 中的默认证书
/usr/syno/etc/certificate/_archive/XXXXX
每个文件夹代表一个证书。每个文件夹包含证书本身 (cert.pem)、中间证书 (chain.pem)、fullchain.pem (= cert.pem + chain.pem) 和私钥 (privkey.pem)。
/usr/syno/etc/certificate/system/default/
包含“系统默认”服务(即 DSM 登录)的证书文件的文件夹
/usr/syno/etc/certificate/system/FQDN
包含 DSM 自定义域的证书文件的文件夹
/usr/syno/etc/certificate/AppPortal or ReverseProxy
包含应用程序门户或反向代理的证书文件的文件夹
/etc/ssl/certs/ca-certificates.crt
错误修改此文件会导致 DSM 连接问题。(curl访问https网站会提示error 60)根证书位置。
导入证书
在安全性,证书,配置中看不到ssl证书
检查证书是否正常:
cd /usr/syno/etc/certificate/_archive/gGXOwB/
openssl x509 -in cert.pem -text -noout
检查证书
openssl s_client -connect 127.0.0.1:5001
修复 /usr/syno/etc/certificate/_archive/INFO
验证是否正常
jq . INFO
手动申请证书
openssl genrsa -out ca-key.pem 2048
openssl req -new -out ca-req.csr -key ca-key.pem
openssl x509 -req -in ca-req.csr -out ca-cert.pem -signkey ca-key.pem -days 36500
openssl pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p12
验证服务器根证书/中间证书是否匹配
openssl verify -CAfile ca.crt server.crt
server.crt: OK
添加根证书到NAS
cp xxx.pem /etc/ssl/certs/xxx.pem
cat /etc.defaults/ssl/certs/ca-certificates.crt xxx.pem > /etc/ssl/certs/ca-certificates.crt
ln -s /etc/ssl/certs/xxx.pem /etc/ssl/certs/`openssl x509 -hash -noout -in /etc/ssl/certs/xxx.pem`.1
证书转换
https://blog.51cto.com/u_15077556/3840839
DER 转 PEM
DER 格式通常用于 Java 平台。
证书转换:
openssl x509 -inform der -in certificate.cer -out certificate.pem
私钥转换:
openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
P7B 转 PEM
P7B 格式一般用在 Windows Server 和 Tomcat 上。
证书转换:
openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.cer
私钥请直接导出。
PFX 转 PEM
PFX 是二进制格式的文件,包含证书和相应的私钥,并受密码保护,通常用于 Windows Server。
证书转换:
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
私钥转换:
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
CER/CRT 转 PEM
可以通过直接修改其文件扩展名将 CER/CRT 格式的证书转换为 PEM。
例如直接将servertest.crt证书文件重命名为servertest.pem
加密说明
对称加密使用一个密钥进行加密和解密。
因为对称加密背后的算法不太复杂并且执行速度更快,所以这是批量传输数据时的首选技术。
明文使用密钥加密,在接收端使用相同的密钥对接收到的密文进行解密。通信过程中的主机会通过外部方式收到密钥。
广泛使用的对称加密算法包括 AES-128、AES-192 和 AES-256。
但是,对称加密最大的弱点在于,如果密钥在第一次传输时被中间人截获并复制,然后原封不动地传递给接收方,那么后续截获的所有加密消息都可以很容易被破解。
非对称加密被认为比对称加密更安全,因为它使用两个密钥进行处理。
用于加密的公钥可供所有人使用,但私钥不公开。
这种加密方法用于通过 Internet 进行的日常通信。
当使用公钥加密消息时,只能使用私钥解密。但是,当使用私钥对消息进行加密时,可以使用公钥对其进行解密。
客户端-服务器模型中的数字证书可用于发现公钥。
这种加密的缺点是它比对称加密过程需要更多的时间。
常见的非对称加密技术包括 RSA、DSA 和 PKCS。
但是还有一个问题,就是接收方如何确认消息真的是发送方发送的呢?假设有人在互联网上找到了收件人的公钥,用病毒伪造了一条消息,然后将收件人的公钥加密后发送出去,那么收件人一旦打开就会被愚弄!在这种情况下,可以使用数字签名进行双重确认。
也就是说,发送方除了使用接收方的公钥进行加密外,还使用自己的私钥对加密消息的哈希进行签名(哈希技术本文不再详细讨论,可以认为是把发送方的指纹消息上),这样接收方在收到时,除了使用接收方自己的私钥解密外,还需要使用发送方的公钥对签名进行两次验证,以确认确实来自正确的发送方(可以认为是检查发送者的指纹是否正确)。