Tema: Re: pragma i.vaz
Autorius: nelabs
Data: 2018-03-14 23:19:56
i.MAS TINKLINI? PASLAUG? SERTIFIKATO GENERAVIMO INSTRUKCIJA
i.MAS tinklini? paslaug? autentifikavimo sertifikatas generuojamas i.MAS priemon?mis. Nor?dami
susigeneruoti autentifikavimo sertifikat? turite savo priemon?mis pasiruo?ti CSR (angl. Certificate
Signing Request) fail?.
?emiau pateikiama detali instrukcija kaip pasiruo?ti CSR, generuoti autentifikavimo sertifikat? ir j?
konvertuoti ? PKCS12 formato fail? tinkam? importavimui ? Windows sertifikat? tarnyb?.
CSR generavimas su OpenSSL (galima sudiegti OpenSSL for Windows arba jeigu yra Windows 10 ? tai
?sidiegti ?Windows subsystem for linux? ir paleisti ?bash?)
Daugiau:
https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
1. Sukurkite privat? rakt?:
openssl genrsa -out vardenis.pavardenis.key 2048
2. Sugeneruokite CSR fail? (angl. Certificate Signing Request)
openssl req -new -sha256 -key vardenis.pavardenis.key -out vardenis.pavardenis.csr
3. Prisijunkite prie i.MAS.
4. Nueikite [i.MAS]->[Nustatymai]->[?iniatinklio paslaugos]
5. ?kelkite CSR fail? (vardenis.pavardenis.csr)
6. Generuokite ir atsisi?skite sertifikat?
7. Paverskite sertifikat? i? DER ? PEM format?
openssl x509 -inform der -in vardenis.pavardenis.crt -out vardenis.pavardenis.pem
8. Supakuokite sertifikat? ir privat? rakt? ? PKCS12 formato sertifikat? (prapl?timas - PFX)
openssl pkcs12 -export -out vardenis.pavardenis.pfx -inkey vardenis.pavardenis.key -in
vardenis.pavardenis.pem
Tok? PFX fail? jau galima importuoti ? Windows sertifikat? tarnyb?. Patikrinimui ar gerai suimportavote
pa?i?r?kite ar su nar?ykle pasiekiate pageidaujamos paslaugos WSDL specifikacij?. Pavyzd?iui:
https://imas-ws.vmi.lt/ivaz-processor/services/sync?wsdl
?emiau pateikiamas .NET pavyzdys kaip naudojant sertifikat? kreiptis ? ?iniatinklio servis? i? kliento
aplikacijos:

using System.Security.Cryptography.X509Certificates;
BasicHttpsBinding binding = new BasicHttpsBinding
{
Security = new BasicHttpsSecurity
{
Transport = new HttpTransportSecurity
{
ClientCredentialType = HttpClientCredentialType.Certificate
}
}
};
Client client = new Client(binding, new EndpointAddress("https://imasws.
vmi.lt/ivaz-processor/services/sync"));
client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindBySerialNumber,
"00f0b1191d24d04e93a403135a9d5d1c95"); // Pakeiskite ? savo sertifikato
serijin? numer?