我正在努力將 Rocket.chat 部署在船上,并且很可能會使用自簽名 CA 來完成生產。我一直在進行一場(大)斗爭,試圖讓它在我的 Android 手機上運行,??還沒有機會嘗試 iOS。
這是我用來生成 CA 和證書的腳本。
######################
# Become a Certificate Authority
######################
# Generate private key
openssl genrsa -des3 -out myCA.key 2048
# Generate root certificate
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 825 -out myCA.pem
######################
# Create CA-signed certs
######################
NAME=rocketchat # Use your own domain name
# Generate a private key
openssl genrsa -out $NAME.key 2048
# Create a certificate-signing request
openssl req -new -key $NAME.key -out $NAME.csr
# Create a config file for the extensions
>$NAME.ext cat <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = $NAME # Be sure to include the domain name here because Common Name is not so commonly honoured by itself
EOF
# Create the signed certificate
openssl x509 -req -in $NAME.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out $NAME.crt -days 825 -sha256 -extfile $NAME.ext
nginx 配置有以下幾行:
ssl_certificate /etc/nginx/certs/rocketchat.crt;
ssl_certificate_key /etc/nginx/certs/rocketchat.key;
我在我的開發機器上安裝了 myCA.pem 作為受信任的權威,它對安全性感到滿意。

我將 PEM 轉換為 DER
openssl x509 -inform PEM -outform DER -in myCA.pem -out CA.crt
并在我的手機(Android)上安裝 CA.crt 作為受信任的權威,但手機上的 Chrome 拋出
NET::ERR_CERT_AUTHORITY_INVALID
Rocket.Chat 應用程式拋出
java.security.cert.certpathvalidatorexception: trust anchor for certification path not found
我真正想知道的是,是否有人在 Android 上部署并使用了帶有完全自簽名 CA 和證書的 Rocket.chat 應用程式,以及他們使用什么程序來生成 CA?因為我已經嘗試了很多我在谷歌上找到的東西的排列,但似乎沒有一個能完成這項作業。適用于 Android 的 SSL 遠遠超出了我的經驗。
感謝您的時間。
uj5u.com熱心網友回復:
最終使用我在這些人之后生成的 CA 到達那里:http: //ampledata.org/custom_ca_android.html
可能區別在于這個
$ openssl req -x509 -new -sha384 -days 30 -nodes \
-key custom_ca.pk.pem -out custom_ca.cert.pem \
-subj "/O=Custom CA" \
-extensions ext \
-config <(cat <<EOF
[req]
distinguished_name=dn
[dn]
[ext]
basicConstraints=CA:TRUE,pathlen:0
)
但上次我嘗試 basicConstraints=CA:True 它在 Android 和 Windows/Chrome 上都崩潰了。
現在我只需要弄清楚讓iOS接受它的調整......
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/531635.html
標籤:安卓ssl火箭聊天
