Получаю электронную подпись вот так:
byte[] planeBytes = null;
using (FileStream file = new FileStream(xmlFileName, FileMode.Open, FileAccess.Read))
{
planeBytes = new byte[file.Length];
file.Read(planeBytes, 0, (int)file.Length);
}
CAPICOM.SignedData signeddata = new CAPICOM.SignedData();
signeddata.Content = Encoding.UTF8.GetString(planeBytes);
CAPICOM.Settings settings = new Settings();
settings.EnablePromptForCertificateUI = true;
CAPICOM.Signer signer = new Signer();
var resultSignature = signeddata.Sign(signer, true, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
using (FileStream fileSig = new FileStream(signFileName, FileMode.Create, FileAccess.Write))
{
var resultBytes = Encoding.UTF8.GetBytes(resultSignature);
fileSig.Write(resultBytes, 0, resultBytes.Length);
}
}
Проверяю Крипто-Армом. Он находит подпись, но говорит, что он некорректна.
Attached подпись он признаёт мат. корректной, но не заслуживающей доверия.
Мне нужна именно detached подпись.