Статус: Новичок
Группы: Участники
Зарегистрирован: 08.02.2021(UTC) Сообщений: 1
|
Добрый день, на линукс возникает ошибка при работе с сертификатом. Работа происходит через .net core. На чистый линукс (ubuntu18.04, centos 7.6, centos 8.3) устанавливаю csp 5.0, на centos так же ставлю redhat-lsb-core-4.1-47.el8.x86_64 (yum install lsb-core-noarch). Далее пытаюсь, например запустить этот пример, на моменте создания объекта X509Certificate2 Цитата:// загружаем сертификат из массива байт без окошек в in-memory store // контейнер для закрытого ключа не будет сохранён на машине using (var gostCert = new X509Certificate2(Gost2012_256Pfx, "1", X509KeyStorageFlags.CspNoPersistKeySet)) Выпадает ошибка segmentation fault, либо в зависимости от окружения это было одно из следующих: Цитата:Feb 03 11:03:47 pg-test dotnet[8484]: <capi20>CryptDecodeObject!(failed: LastError = 0x80091004) Feb 03 11:03:47 pg-test dotnet[8484]: <capi20>CertCreateCertificateContext!failed: LastError = 0x80093000 Feb 03 11:03:47 pg-test dotnet[8484]: <capi20>CertAddEncodedCertificateToStore!failed: LastError = 0x80093000 Feb 03 11:03:47 pg-test systemd[1]: xxx.service: main process exited, code=killed, status=11/SEGV Feb 03 11:03:47 pg-test systemd[1]: Unit xxx.service entered failed state. Цитата:[root@centos-s-1vcpu-1gb-fra1-01 xmlsign]# dotnet xmlsign.dll Unhandled exception. System.DllNotFoundException: Unable to load shared library 'libcapi20' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibcapi20: cannot open shared object file: No such file or directory at Interop.crypt32.CryptQueryObject(CertQueryObjectType dwObjectType, Void* pvObject, ExpectedContentTypeFlags dwExpectedContentTypeFlags, ExpectedFormatTypeFlags dwExpectedFormatTypeFlags, Int32 dwFlags, CertEncodingType& pdwMsgAndCertEncodingType, ContentType& pdwContentType, FormatType& pdwFormatType, SafeCertStoreHandle& phCertStore, SafeCryptMsgHandle& phMsg, SafeCertContextHandle& ppvContext) at Internal.Cryptography.Pal.CertificatePal.FromBlobOrFile(Byte[] rawData, String fileName, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags) at Internal.Cryptography.Pal.CertificatePal.FromBlob(Byte[] rawData, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate..ctor(Byte[] rawData, String password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password, X509KeyStorageFlags keyStorageFlags) at xmlsign.Program.Main(String[] args) in C:\repos\xmlsign\Program.cs:line 36 Aborted (core dumped) При этом до этого на centos8.3 удалось запустить как пример, так и свой сервис, поэтому не понятно, почему при таких же шагах теперь я сделать этого не могу По совету из этого треда прикрепляю результат ldd -r /opt/cprocsp/lib/amd64/libcapi20.soЦитата:[root@centos-s-1vcpu-1gb-fra1-01 ~]# ldd -r /opt/cprocsp/lib/amd64/libcapi20.so linux-vdso.so.1 (0x00007ffcfa380000) libcapi10.so.4 => /opt/cprocsp/lib/amd64/libcapi10.so.4 (0x00007f73beb78000) liburlretrieve.so.4 => /opt/cprocsp/lib/amd64/liburlretrieve.so.4 (0x00007f73be973000) libcplib.so.4 => /opt/cprocsp/lib/amd64/libcplib.so.4 (0x00007f73be75e000) librdrsup.so.4 => /opt/cprocsp/lib/amd64/librdrsup.so.4 (0x00007f73be52e000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f73be32a000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f73be10a000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f73bdd75000) libm.so.6 => /lib64/libm.so.6 (0x00007f73bd9f3000) libc.so.6 => /lib64/libc.so.6 (0x00007f73bd630000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f73bd418000) /lib64/ld-linux-x86-64.so.2 (0x00007f73bf398000) Отредактировано пользователем 8 февраля 2021 г. 8:26:38(UTC)
| Причина: Не указана
|