Я подписываю сообщение, используя цифровой сертификат в веб-службе asp.net, используя приведенный ниже код. Подписание работает нормально, ожидается, что подписанная строкаMessage.ComputeSignature займет до 30-40 секунд, из-за этого я исключаю время ожидания таймаута. Тот же код, когда я запускаю приложение windows forms, производит результат во второй части. Любая подсказка или помощь.Подписание сообщения с использованием сертификата X509
public static string Encrypt(string fullMessage, string certificateName, bool deAttch)
{
X509Certificate2 signer = GetCertificate(certificateName);
byte[] contentBytes = Encoding.ASCII.GetBytes(fullMessage);
Oid contentOid = new Oid("1.2.840.113549.1.7.1", "PKCS 7 Data");
SignedCms signedMessage = new SignedCms(new ContentInfo(contentOid, contentBytes), deAttch);
signedMessage.ComputeSignature(new CmsSigner(signer));
byte[] signedBytes = signedMessage.Encode();
return Convert.ToBase64String(signedBytes).Trim();
}
Я проверил его полностью X509IncludeOption.EndCertOnly это уменьшило длину подписи, означая, что в подпись включена только персональный сертификат. – adam
В отличие от форумов, мы не используем «Спасибо», «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be –
@JohnSaunders ok рассмотрит это в следующий раз – adam