Article View: pl.comp.lang.delphi
Article #334514CAPICOM - gdzie wstawić PIN?
From: AbiX
Date: Thu, 29 Dec 2011 13:46
Date: Thu, 29 Dec 2011 13:46
49 lines
2265 bytes
2265 bytes
Witam.
Mam taki kawałek kodu który tekst z memo powinien podpisać wybranym
certyfikatem. Jednak przy wywołaniu Sing wypada błąd "Podana para kluczy
nie istnieje". Grzebię po MSDN'ie już drugi dzień i nie mogę namierzyć
jak podpisać dane certyfikatem kwalifikowanym.
var
store: TStore;
signer: TSigner;
sData: TSignedData;
certificates: ICertificates2;
certificate: ICertificate2;
I: integer;
begin
store := TStore.Create(nil);
store.Open(CAPICOM_CURRENT_USER_STORE, 'My',
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED or
CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED or CAPICOM_STORE_OPEN_EXISTING_ONLY);
certificates := (store.Certificates as ICertificates2).Select('Podpis
danych', 'wybierz certyfikat', false);
if certificates.Count=0 then
begin
Application.MessageBox('Nie znaleziono odpowiedniego
certyfikatu.', '', MB_OK + MB_ICONWARNING);
Exit;
end;
certificate:=IInterface(certificates.Item[1]) as ICertificate2;
signer:=TSigner.Create(self);
signer.Certificate:=Certificate;
mmo1.Lines.Add('');
mmo1.Lines.Add(certificate.SubjectName);
sData:=TSignedData.Create(self);
sData.Connect;
sData.Content:=mmo1.Text;
mmo1.Text:=sData.Sign(signer.DefaultInterface, true,
CAPICOM_ENCODE_BASE64);
sData.Disconnect;
sData.Free;
signer.Free;
store.close();
store.Free;
end;
--
Pozdrawiam
AbiX
Technical Details
Message-ID:
<jdhr16$gla$1@mx1.internetia.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!not-for-mail From: AbiX <abix_usun_ten_tekst@poczta.del.fm> Newsgroups: pl.comp.lang.delphi Subject: CAPICOM - gdzie wstawić PIN? Date: Thu, 29 Dec 2011 14:46:49 +0100 Organization: Netia S.A. Lines: 49 Message-ID: <jdhr16$gla$1@mx1.internetia.pl> NNTP-Posting-Host: 77.253.231.6 Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1325166438 17066 77.253.231.6 (29 Dec 2011 13:47:18 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Thu, 29 Dec 2011 13:47:18 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20111105 Thunderbird/8.0 X-Server-Info: http://www.internetia.pl/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit