Example #1
0
        /// <summary>
        /// Зчитування особистого ключа за допомогою графічного інтерфейсу бібліотеки.
        /// </summary>
        /// <param name="certOwnerInfo">Інформація про сертифікат власника.</param>
        public static void ReadPrivateKey()
        {
            if (!IEUSignCP.IsInitialized())
            {
                throw new Exception(ERROR_NOT_INITIALIZED);
            }

            if (IEUSignCP.IsPrivateKeyReaded())
            {
                IEUSignCP.ResetPrivateKey();
                Certificates.Own.Clear();
            }

            IEUSignCP.EU_CERT_OWNER_INFO certOwnerInfo;

            int error = IEUSignCP.ReadPrivateKey(out certOwnerInfo);

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

            IEUSignCP.EU_CERT_INFO_EX certInfoEx;

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

            Certificates.Own.CertInfoEx = certInfoEx;
        }