Пример #1
0
        /// <summary>
        /// Отримання інформації про сертифікат отримувача за допомогою графічного інтерфейсу бібліотеки.
        /// </summary>
        public static void GetRecipientCertificate()
        {
            if (!IEUSignCP.IsInitialized())
            {
                throw new Exception(ERROR_NOT_INITIALIZED);
            }

            Certificates.Recipient.Clear();

            IEUSignCP.EU_CERT_OWNER_INFO certOwnerInfo;
            IEUSignCP.EU_CERT_INFO_EX    certInfoEx;

            int error = IEUSignCP.SelectCertInfo(out certOwnerInfo);

            if (error != IEUSignCP.EU_ERROR_NONE)
            {
                throw new Exception(IEUSignCP.GetErrorDesc(error));
            }

            error = IEUSignCP.GetCertificateInfoEx(certOwnerInfo.issuer, certOwnerInfo.serial, out certInfoEx);
            if (error != IEUSignCP.EU_ERROR_NONE)
            {
                throw new Exception(IEUSignCP.GetErrorDesc(error));
            }

            if (certInfoEx.keyUsageBits != 16)
            {
                throw new Exception("Обраний сертифікат отримувача не призначений для шифрування.\nОберіть інший сертифікат отримувача.");
            }

            Certificates.Recipient.CertInfoEx = certInfoEx;
        }