/// <summary> /// Отримання інформації про сертифікат відправника для зашифрування. /// </summary> /// <param name="certInfoEx">Інформація про сертифікат (розширена).</param> public static byte[] GetOwnCertificateForEnvelop() { byte[] bCert = new byte[0]; IEUSignCP.EU_CERT_INFO_EX cert; int index = 0; for (; ;) { int error = IEUSignCP.EnumOwnCertificates(index, out cert); if (error == IEUSignCP.EU_WARNING_END_OF_ENUM) { break; } if (error != IEUSignCP.EU_ERROR_NONE) { throw new Exception(IEUSignCP.GetErrorDesc(error)); } if (cert.keyUsageBits == 16) { error = IEUSignCP.GetCertificate(cert.issuer, cert.serial, out bCert); if (error != IEUSignCP.EU_ERROR_NONE) { throw new Exception(IEUSignCP.GetErrorDesc(error)); } break; } index += 1; } if (bCert.Length == 0) { throw new Exception("Відсутній сертифікат відправника для зашифрування."); } return(bCert); }