Сейчас я использую Unity Editor 2021.3.5f1. Изменение версии Unity для меня не является жизнеспособным решением.
Итак, что я пробовал.
- Загрузка сертификат прямо вверх:
Код: Выделить всё
X509Certificate2 serverCertificate = new X509Certificate2("c:/my/path/server_pfx.pfx");
FormatException: можно преобразовать только целое число Mono.Security. ASN1Convert.ToInt32
Сертификат создан с помощью
Код: Выделить всё
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -sha256 -keyout key.pem -out cert.pem
openssl pkcs12 -export -in cert.pem -inkey key.pem -out server_pfx.pfx -macalg sha1
- Загрузка сертификата без закрытого ключа и добавление закрытого ключа на C#
Код: Выделить всё
X509Certificate2 pubOnly = new X509Certificate2("c:/my/path/cert.pem");
// Loading the prviate Key.
string privateKeyPem = File.ReadAllText("c:/my/path/key.pem");
RSA rsa = RSA.Create();
var privateKey = privateKeyPem.Replace("-----BEGIN PRIVATE KEY-----",string.Empty).Replace("-----END PRIVATE KEY-----", string.Empty);
privateKey = privateKey.Replace(Environment.NewLine, string.Empty);
var privateKeyBytes = Convert.FromBase64String(privateKey);
rsa.ImportPkcs8PrivateKey(privateKeyBytes, out int _);
// Now creating the certificate with the private key.
X509Certificate2 pubWithPrivate = pubOnly.CopyWithPrivateKey(rsa);
this.serverCertificate = new
X509Certificate2(pubWithPrivate.Export(X509ContentType.Pfx));
- Я пробовал использовать Unity Transport. Версия — 1.0.0.
Я устанавливаю пакет, но когда дохожу до этой строки кода:
Код: Выделить всё
var settings = new NetworkSettings();
settings.WithSecureServerParameters(
certificate: SecureParameters.MyGameServerCertificate,
privateKey: SecureParameters.myGameServerPrivateKey
);
Я получаю сообщение об ошибке компиляции, сообщающее, что WithSecureServerParameters не существует. Насколько я могу судить, эта функция доступна в версии 1.0.0 Unity Transport, поэтому я понятия не имею, что делать.
Может ли кто-нибудь подсказать мне, как исправить КАКАЯ-ЛИБО из этих проблем? Или предложите мне что-нибудь еще?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -unity-ssl