Procedura uzyskania certyfikatu do ZSMOPL na potrzeby ewaluacji
Transkrypt
Procedura uzyskania certyfikatu do ZSMOPL na potrzeby ewaluacji
Procedura uzyskania certyfikatu do ZSMOPL na potrzeby ewaluacji 1. Wprowadzenie Dokument opisuje procedurę uzyskania przez podmiot raportujący certyfikatu podpisanego przez CC CSIOZ na potrzeby podłączenia systemu lokalnego podmiotu raportującego (zwany dalej systemem lokalnym) do Zintegrowanego Systemu Monitorowania Obrotu Produktami Leczniczymi (ZSMOPL) w czasie ewaluacji. Podmiot raportujący, przed przystąpieniem do procesu uzyskania certyfikatu, zakłada w ZSMOPL konto podmiotu raportującego oraz konto administratora lokalnego, wg „Procedury podłączenia do ZSMOPL na środowisku ewaluacyjnym”. 2. Definicje i skróty System lokalny podmiotu raportującego – system informatyczny apteki / hurtowni farmaceutycznej / podmiotu odpowiedzialnego, w którym podmiot raportujący przetwarza dane o przeprowadzanych transakcjach zakupu i sprzedaży, umożliwiający wygenerowanie raportu zgodnego z oczekiwaną specyfikacją interfejsu systemu ZSMOPL Administrator lokalny – administrator systemu lokalnego podmiotu raportującego. Osoba reprezentująca podmiot raportujący w systemie ZSMOPL ZSMOPL - Zintegrowany System Monitorowania Obrotu Produktami Leczniczymi, o którym mowa w art. 29 ustawy o z dnia 28 kwietnia 2011 r. (Dz.U. 2011 nr 113 poz. 657 z późn. zm) CC CSIOZ – Centrum Certyfikacji obsługiwane przez Centrum Systemów Informacyjnych Ochrony Zdrowia (CSIOZ) 1 3. Proces uzyskania OpenSSL certyfikatu z CC CSIOZ z wykorzystaniem Na poniższym schemacie przedstawiono proces uzyskania certyfikatu z CC CSIOZ Rys. 1. Schemat procesu uzyskania certyfikatu z CC CSIOZ Proces uzyskania certyfikatu składa się z następujących etapów (Ryc. 1): 1. 2. 3. 4. Przygotowanie przez administratora systemu lokalnego klucza prywatnego (KEY); Przygotowanie przez administratora systemu lokalnego żądania podpisania certyfikatu (CSR); Przesłanie żądania podpisania certyfikatu (CSR) do CC CSIOZ; Podpisanie CSR przez CC CSIOZ. Odesłanie certyfikatu do administratora systemu lokalnego (PEM). 3.1.Przygotowanie klucza prywatnego Administrator systemu lokalnego, na którym ma zostać zainstalowany certyfikat, może wygenerować klucz prywatny za pomocą pakietu OpenSSL. OpenSSL jest oprogramowaniem typu opensource. Wersja dla Windows dostępna do pobrania jest m.in. https://sourceforge.net/projects/openssl/ W pierwszej kolejności za pomocą pakietu OpenSSL należy wygenerować klucz prywatny. Następnie należy utworzyć plik żądania wydania certyfikatu (CSR) na podstawie wcześniej wygenerowanego klucza prywatnego. 2 Klucz prywatny można wygenerować z hasłem lub bez hasła. W przypadku wyboru metody z hasłem może zajść konieczność podawania hasła każdorazowo przy starcie systemu lokalnego lub hasło to będzie musiało być umieszczone w konfiguracji systemu lokalnego. W przypadku wyboru metody bez hasła nie będzie konieczności podawania hasła, jednak jest to metoda mniej bezpieczna. Wybór konkretnej metody powinien być dostosowany do wymogów implementacji po stronie systemu lokalnego w uzgodnieniu z dostawcą systemu lokalnego. W poniższych przykładach używana jest nazwa pliku systemlokalny.key jednak można użyć dowolnej innej nazwy. Zaleca się użycie rozszerzenia *.key, jednak nie jest to obowiązkowe. Generowania klucza z hasłem Polecenie: openssl genrsa -des3 -out systemlokalny.key 2048 Przykład: c:\openssl>openssl genrsa -des3 -out systemlokalny.key 2048 Loading 'screen' into random state - done Generating RSA private key, 2048 bit long modulus ..................................+++ ..........+++ e is 65537 (0x10001) Enter pass phrase for systemlokalny.key: Verifying - Enter pass phrase for systemlokalny.key: Generowanie klucza bez hasła Polecenie: openssl genrsa -out systemlokalny.key 2048 Przykład: c:\openssl>openssl genrsa -out systemlokalny.key 2048 Loading 'screen' into random state - done Generating RSA private key, 2048 bit long modulus ................................................................................ ...............+++ 3 ................................................................+++ e is 65537 (0x10001) Usunięcie hasła z klucza prywatnego (gdyby zaszła taka konieczność) Polecenie: openssl rsa -in systemlokalny.key -out systemlokalny.bezhasla.key Przykład: c:\openssl>openssl rsa -in systemlokalny.key -out systemlokalny.bezhasla.key Enter pass phrase for systemlokalny.key: writing RSA key Weryfikacja klucza prywatnego Przykład: openssl rsa -in systemlokalny.key –check c:\openssl>openssl rsa -in systemlokalny.key -check Enter pass phrase for systemlokalny.key: RSA key ok writing RSA key -----BEGIN RSA PRIVATE KEY----MIIEpQIBAAKCAQEAtuZKe5PQaDTflZRPRj3wqRGIHg01WZFnouNPFPwDvTrnwHdN 2V1MCNxkhkEsRaZJ2I9UncczaWeniPJnYnJHN4oNaCl9kmdy6M9JTqSUoLcdGyLB nGSwUqpj+otxgemfvTk7QSmtgOFTXanNMC5DM4vuTK/gW+SNszl+tGbGWkr33zwT uXCP5qfL0RSdyO0RzU517OIUejz1HEbP9Pjs87oZxlIRo1p79tb2apiYm7qDH6Z+ G77Y/aD384ZbQ4If4zXx1CZH3iqc3PdS/ajE/MlkiLtHcKeisvLfai0bLv85s0GB GYlHoT6KvQ6kPovou/cNINbTwtEl1IGQqhqeUQIDAQABAoIBAQCEF+aLQcIuwKEK AscOUAXT1VmdeqShP6a9ubWPzkNVE4n1MzUCW6NicuoXHFLBKswCn+HY4dl7suUI vylzrF1K+2WbaPvMFPKkubCUH8FIIXff9UYnkYDW80Cp3rPnw7cejosBEPzCK/pt lwkeVwsp21IMCKndNEAyxL+BwwhWhL2QyUfaQoVXxWgkCSI7x1hMg3e68nO1KAnM /samlcbC0Gx25fXC/drcOgx43+EPDMZ+sZeGOc+6f+nYhkYmikYQzZE1yUjpXUzU 4 nXy+OgxoyzIzCZbpLyj3DeKjwzY6HirH24NG56x7OMhs9B1wAJhr35XWuaiJQgDa 1fhxnI0RAoGBAOHPBbkIr99qko/m40bW1DtrfdMGqiLOqWUMtn0NLyb8iEg/FcVj aYtftli/9MI1fwyH8qdiY/gIy3WYOhP8ljbPsNLy7KXs96918qrV8tjWaBmO0PgL ZuEwvB1sLy2VcItWoh7wu+hKA0k/qxuL07QV+0LTa0N4uLrHP5gmcWvHAoGBAM9a k3ce2+hanwu0nnkUcaVyIOuZeC8SH/nIVxTDl2w5Dd2wwq/vnVsmc1IJ2eQ1OG0T iZMjnbJlvvbbBuHkzqLE96n4jh87/69o0qyMZ1qI8tVAViAhhqqsID+zaHeDE7pW GSWG1MDJwdhsd7/M4t3OKJuELfl1zgcTGvfCZTUnAoGAC9wFnuw34HIGdIxZz3Sk /OHuX9Dvypg0CVybkQHKQi/tMG4vxIguGOXT++FJB5IrtArH0ca3HWXI2co+8qHH eeV6kfm0OBqz/4EgV5yY/o50NTNtAjoHEziuCJWP/MLmgEryhNF77P1GIui3IeE8 Iy8sXRwhfA+xFA425tTODC0CgYEAiNOuJ5bXahYSiXjgcemJrLEJBC67XeRJ8VvA CtWeYC2t9rIjZlFptrJCusoBXFO6LlAMImoIL6ZwQxj5C6sep83t191Ke1XuPOOg 0Xe848Mm6o2Px5gX8xuuFBrhPqviIr2ZzmeQkL8SCSxaQNiEg/T8WtL4O3r/Py/e RcujWVUCgYEAol13iSkMo1Qxdp9e4NbFutOaVH41uTAiseQaSpgN6klj73jvlsd0 Wh9HJBbJxDRdWgkKiNXfN4hiX+w4mcWhCmNc+yvOzU9QwGtrCIYQN5PF/FNvHrX+ 1cezvEXHZ/zDQkfy0i+EcjtOTSxH6b1mBa9O1lV9c/8N2NI0uGkeQUQ= -----END RSA PRIVATE KEY----- 3.2. Przygotowanie pliku CSR Administrator systemu lokalnego, na którym ma zostać zainstalowany certyfikat, może wygenerować plik CSR za pomocą pakietu OpenSSL na podstawie wcześniej wygenerowanego klucza prywatnego. W poniższym przykładzie została użyta nazwa systemlokalny.csr, docelowa nazwa jest dowolna, jednak na potrzeby przeprowadzenie ewaluacji konieczne jest, by nazwa ta była logicznie powiązana z konkretnym systemem lokalnym, jednoznaczna. Rozszerzenie *.csr jest obowiązkowe i oczekiwane. Nazwa użytego klucza prywatnego musi być zgodna z nazwą klucza wygenerowanego w poprzednim kroku. Generowanie pliku CSR 5 openssl req -new -sha256 -key systemlokalny.key -out systemlokalny.csr –outform PEM Podczas generowania pliku CSR, administrator zostanie poproszony o podanie danych: • Country Name (C) – pole obowiązkowe, dwuliterowy kod kraju, koniecznie należy go wpisać z wielkich liter, np. „PL”. • State or Province Name (ST) – pole nieobowiązkowe, należy podać nazwę województwa, w którym mieści się siedziba firmy, np. „Zachodniopomorskie”. • Locality Name (L) – pole obowiązkowe, należy podać nazwę miejscowości, w której mieści się siedziba firmy, np. „Szczecin”. • Organization Name (O) – pole obowiązkowe, należy podać pełną i dokładną nazwę firmy. Nazwa firmy musi zgadzać się z nazwą znajdującą się w dokumentach rejestrowych: Regon, EDG lub KRS. • Organizational Unit Name (OU) – pole nieobowiązkowe, należy wpisać w tym polu dział firmy, który jest odpowiedzialny za wdrożenie certyfikatu, np. „Dzial IT” lub „IT Department”. • Common Name (CN) – pole obowiązkowe, dla podmiotów posiadających apteki lub hurtownie farmaceutyczne wpisujemy nazwę (o ile występuje) i adres miejsca prowadzenia działalności (tj. adres apteki lub hurtowni). Dla podmiotów odpowiedzialnych: adres. Uwaga: Pole CN ma ograniczenie do 64 znaków. • Email Address – należy podać adres e-mail osoby odpowiedzialnej za certyfikat. Ważne wskazówki: • podczas generowania CSR nie można używać polskich znaków diakrytycznych (narodowych). • kod kraju musi być wpisany wielkimi literami, np. „PL”. • pole „Organization Unit Name” (jednostka organizacyjna) nie jest wymagane do wypełnienia podczas generowania CSR. Możesz w nim określić dział firmy, np. „Dzial IT”. • należy chronić swój klucz prywatny! Powtórne wygenerowanie takiego samego klucza prywatnego nie jest możliwe, zatem jego utrata automatycznie uniemożliwia zastosowanie certyfikatu na innym serwerze! W takiej sytuacji niezbędne będzie ponowne złożenie zamówienia na podstawie nowego pliku CSR. Przykład: c:\openssl>openssl req -new -sha256 -key systemlokalny.key -out systemlokalny.cs r -outform PEM Enter pass phrase for systemlokalny.key: Loading 'screen' into random state - done You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. 6 There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [AU]:PL State or Province Name (full name) [Some-State]:mazowieckie Locality Name (eg, city) []:Warszawa Organization Name (eg, company) [Internet Widgits Pty Ltd]:Tu wpisz nazwe Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:apteka.com.pl Email Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Weryfikacja pliku CSR openssl req –noout –text –in systemlokalny.csr lub openssl req –noout –verify –in systemlokalny.csr Przykład: c:\openssl>openssl req -noout -text -in systemlokalny.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=PL, ST=mazowieckie, L=Warszawa, O=Tu wpisz nazwe, CN=apteka.c om.pl/[email protected] 7 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:b6:e6:4a:7b:93:d0:68:34:df:95:94:4f:46:3d: f0:a9:11:88:1e:0d:35:59:91:67:a2:e3:4f:14:fc: 03:bd:3a:e7:c0:77:4d:d9:5d:4c:08:dc:64:86:41: 2c:45:a6:49:d8:8f:54:9d:c7:33:69:67:a7:88:f2: 67:62:72:47:37:8a:0d:68:29:7d:92:67:72:e8:cf: 49:4e:a4:94:a0:b7:1d:1b:22:c1:9c:64:b0:52:aa: 63:fa:8b:71:81:e9:9f:bd:39:3b:41:29:ad:80:e1: 53:5d:a9:cd:30:2e:43:33:8b:ee:4c:af:e0:5b:e4: 8d:b3:39:7e:b4:66:c6:5a:4a:f7:df:3c:13:b9:70: 8f:e6:a7:cb:d1:14:9d:c8:ed:11:cd:4e:75:ec:e2: 14:7a:3c:f5:1c:46:cf:f4:f8:ec:f3:ba:19:c6:52: 11:a3:5a:7b:f6:d6:f6:6a:98:98:9b:ba:83:1f:a6: 7e:1b:be:d8:fd:a0:f7:f3:86:5b:43:82:1f:e3:35: f1:d4:26:47:de:2a:9c:dc:f7:52:fd:a8:c4:fc:c9: 64:88:bb:47:70:a7:a2:b2:f2:df:6a:2d:1b:2e:ff: 39:b3:41:81:19:89:47:a1:3e:8a:bd:0e:a4:3e:8b: e8:bb:f7:0d:20:d6:d3:c2:d1:25:d4:81:90:aa:1a: 9e:51 Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha256WithRSAEncryption 7f:b8:03:2e:97:24:79:33:88:01:34:7d:be:ec:8d:bc:e1:a8: ff:00:6a:68:9d:85:c5:53:ea:6b:63:e9:1e:10:5c:7f:d4:24: 33:42:a3:cd:35:a4:2d:ae:ea:fc:d6:b5:af:2b:54:be:0d:5f: 8 ed:68:80:15:91:0f:11:75:4e:2b:26:e3:f0:e5:07:17:e7:48: aa:31:6c:3b:e8:1c:32:60:ae:c0:10:93:ac:de:cf:b6:50:46: eb:0f:1d:99:ff:d0:38:13:db:dd:a3:67:dd:fc:1f:ef:6a:6a: 4e:51:99:e8:9a:82:71:74:a0:70:fe:6d:5c:18:a5:84:6a:e7: 4e:27:8d:73:52:4a:f7:92:e6:85:52:4b:6d:c8:07:0d:13:1c: 87:3c:18:22:a3:19:ed:58:b7:85:4e:32:fa:10:02:d2:e3:82: 26:b1:98:3f:cb:0e:1f:cf:7d:01:19:85:7f:b7:65:c8:92:1b: ac:60:80:7a:ec:86:2b:4e:be:10:e2:4d:b2:dc:4f:d8:28:36: 05:d1:14:6a:b7:2e:ed:66:1d:97:2c:e1:20:4a:74:d4:55:ae: 90:ea:7c:b1:37:f8:db:9a:10:8f:2d:5d:e5:cf:91:b7:27:58: 73:55:e3:64:7a:76:f5:f5:a4:1f:03:31:32:41:24:15:dd:de: 5f:b5:2e:0c c:\openssl>openssl req -noout -verify -in systemlokalny.csr verify OK 3.3. Przesłanie żądania podpisania certyfikatu (CSR) do CC CSIOZ Pliki *.csr należy przesyłać do CSIOZ na adres [email protected] 3.4. Podpisanie CSR przez CC CSIOZ. Odesłanie certyfikatu do administratora systemu lokalnego Podpisane certyfikaty o nazwie zgodnej z przesłanym plikiem CSR zostaną odesłane na adres kontaktowy uzgodniony do celów ewaluacji. Rozszerzenie przesłanego certyfikatu - *.crt Otrzymany certyfikat można zweryfikować za pomocą komendy openssl x509 –noout –text –in systemlokalny.crt Przykład: c:\openssl>openssl x509 -noout -text -in systemlokalny.crt 9 Certificate: Data: Version: 3 (0x2) Serial Number: 2 (0x2) Signature Algorithm: sha256WithRSAEncryption Issuer: C=PL, ST=mazowieckie, L=Warszawa, O=CSIOZ, OU=BZP, CN=CSIOZ CA/e [email protected] Validity Not Before: Aug 12 13:08:05 2016 GMT Not After : May 9 13:08:05 2019 GMT Subject: C=PL, ST=mazowieckie, L=Warszawa, O=Tu wpisz nazwe, CN=apteka.c om.pl Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:b6:e6:4a:7b:93:d0:68:34:df:95:94:4f:46:3d: f0:a9:11:88:1e:0d:35:59:91:67:a2:e3:4f:14:fc: 03:bd:3a:e7:c0:77:4d:d9:5d:4c:08:dc:64:86:41: 2c:45:a6:49:d8:8f:54:9d:c7:33:69:67:a7:88:f2: 67:62:72:47:37:8a:0d:68:29:7d:92:67:72:e8:cf: 49:4e:a4:94:a0:b7:1d:1b:22:c1:9c:64:b0:52:aa: 63:fa:8b:71:81:e9:9f:bd:39:3b:41:29:ad:80:e1: 53:5d:a9:cd:30:2e:43:33:8b:ee:4c:af:e0:5b:e4: 8d:b3:39:7e:b4:66:c6:5a:4a:f7:df:3c:13:b9:70: 8f:e6:a7:cb:d1:14:9d:c8:ed:11:cd:4e:75:ec:e2: 14:7a:3c:f5:1c:46:cf:f4:f8:ec:f3:ba:19:c6:52: 11:a3:5a:7b:f6:d6:f6:6a:98:98:9b:ba:83:1f:a6: 7e:1b:be:d8:fd:a0:f7:f3:86:5b:43:82:1f:e3:35: 10 f1:d4:26:47:de:2a:9c:dc:f7:52:fd:a8:c4:fc:c9: 64:88:bb:47:70:a7:a2:b2:f2:df:6a:2d:1b:2e:ff: 39:b3:41:81:19:89:47:a1:3e:8a:bd:0e:a4:3e:8b: e8:bb:f7:0d:20:d6:d3:c2:d1:25:d4:81:90:aa:1a: 9e:51 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: C7:D0:F1:43:14:5D:F5:B9:96:E4:69:EC:E0:20:B3:12:55:B7:BE:F5 X509v3 Authority Key Identifier: keyid:85:3B:B9:89:F7:B3:74:0D:DA:34:81:F8:D2:BD:1D:5A:53:7B:56:4 2 X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature, Key Encipherment Signature Algorithm: sha256WithRSAEncryption 98:20:bc:dd:31:6d:4b:e5:56:b8:24:1b:40:2a:fc:e9:f1:ff: be:01:1f:e7:76:5c:90:9c:48:79:6f:3e:4a:11:b5:61:e2:af: 98:12:b4:0f:92:29:19:da:65:71:f5:0d:b1:7a:16:14:cf:99: 83:0b:6a:ad:37:df:cf:6f:d8:52:89:f8:74:2d:94:2a:c8:6e: 26:69:26:fb:1a:11:b3:b3:47:de:f7:87:e9:bf:9f:2d:5e:c5: 3d:86:47:90:dd:93:e3:be:ad:e8:15:eb:9c:85:c7:a5:9e:0a: 48:ea:0b:bd:d6:b0:49:3b:f9:f4:11:b4:20:8c:f7:7b:d6:9f: e7:30:0d:07:4f:cc:2f:ad:38:b8:08:18:0d:47:59:32:60:ff: 6f:27:33:2c:1a:94:fe:5f:4e:58:27:ee:2d:73:19:bc:93:b8: 06:19:ec:63:e7:46:da:3c:e8:d0:bb:11:e7:e1:59:31:fc:a7: ea:44:e0:c6:04:60:84:08:09:ce:c5:7b:29:40:4d:22:19:6f: 11 99:4a:22:a7:36:12:25:9e:31:fa:c3:56:3a:51:ff:91:83:19: 44:5b:2d:dd:bb:a4:83:b9:bc:4c:ab:89:5e:21:95:7a:e4:bc: 05:42:ae:8d:f7:11:54:a3:d8:df:76:24:b4:2e:ff:90:ba:8e: be:3b:f0:f0:59:c6:01:03:78:0c:b0:da:9b:50:c1:49:71:80: e8:5c:ed:ba:83:7d:14:aa:3a:93:58:a8:4e:68:d0:99:cf:5b: a5:47:60:01:08:7b:80:21:90:d7:5c:bf:34:5d:9e:31:22:eb: bc:f1:21:4b:bf:8e:71:8f:48:58:f8:a3:de:6a:4b:19:5a:5c: 2e:b8:3a:b4:e8:5b:61:dd:09:6a:0b:dd:8c:34:4c:77:4c:e8: 3b:84:33:23:68:1b:b3:f0:de:82:e8:c1:b1:7c:8f:82:98:df: a6:93:0f:50:f8:12:04:13:90:f3:6d:8b:7a:b3:f9:f1:a6:15: 71:9c:60:04:3e:39:aa:a3:b0:66:ea:d2:73:99:8d:dc:86:4f: 15:4c:b8:3f:86:3c:62:1e:30:48:83:50:af:8b:ad:93:3c:62: 18:ac:c5:3f:7c:d7:ce:15:b3:dd:ee:04:45:73:c9:0f:94:44: bc:29:cc:3c:0f:66:8b:1d:65:8d:cc:9e:9c:25:0c:89:9f:a8: bc:96:5e:67:c0:6d:49:c7:43:32:ca:54:aa:f9:83:3d:b3:e2: 07:10:3e:1f:cf:f5:76:a9:4a:37:49:89:3b:13:5b:01:e5:b1: 51:cc:ba:ba:7c:2c:ec:e3:10:56:bd:e9:b1:12:5a:d2:69:a1: 9d:82:21:0e:f9:c2:ec:f0 Dodatkowo można zweryfikować sumy kontrolne klucza prywatnego, pliku CSR oraz samego certyfikatu. Wykonanie każdego z poniższych 3 poleceń musi zwrócić wynik zgodny z wynikiem pozostałych dwóch. c:\openssl>openssl rsa -in systemlokalny.key -modulus -noout | openssl md5 Enter pass phrase for systemlokalny.key: (stdin)= 472d21b6969370400ddc467d78071265 c:\openssl>openssl req -in systemlokalny.csr -modulus -noout | openssl md5 (stdin)= 472d21b6969370400ddc467d78071265 c:\openssl>openssl x509 -in systemlokalny.crt -modulus -noout | openssl md5 (stdin)= 472d21b6969370400ddc467d78071265 12 4. Wykorzystanie certyfikatu 4.1. Instalacja certyfikatu w ZSMOPL Administrator lokalny dokonuje rejestracji certyfikatów na potrzeby aplikacji wysyłających komunikaty do ZSMOPL zgodnie z procedurą opisaną w dokumencie CSIOZ-SDZSMOPL_PU_Zarządzanie kontami podmiotów raportujących_1.0 4.2. Specyfikacja komunikatu Specyfikacja komunikatu wysyłanego przez system raportujący do ZSMOPL znajduje się na stronie CSIOZ https://www.csioz.gov.pl/interoperacyjnosc/interfejsy/ pod hasłem System Monitorowania Obrotu Produktami Leczniczymi - specyfikacja komunikatów 4.3. Specyfikacja nagłówka komunikatu System podmiotu raportującego wysyła komunikaty z podpisem i certyfikatem użytym do podpisu. Te informacje muszą znajdować się w nagłówku komunikatu (<soapenv:Header>). W nagłówku należy zamieścić element „wsse:Security”, odpowiedzialny za zabezpieczenie w protokole SOAP. W tym elemencie należy zdefiniować przestrzenie nazw przez dodanie poniższych atrybutów: xmlns:wsse=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext1.0.xsd” xmlns:wsu=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility1.0.xsd” Element „wsse:Security” składa się z następujących elementów: element wsse:BinarySecurityToken – w nim zawiera się certyfikat z kluczem publicznym definiujemy atrybut: EncodingType=”http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-soap-message-security1.0#Base64Binary” definiujemy atrybut: ValueType=”http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-x509-token-profile1.0#X509PKIPathv1” definiujemy atrybut wsu:Id z unikalnym identyfikatorem elementu element ds:Signature – zawiera podpis elektroniczny zawartości sekcji <soapenv:Body> 13 o o o definiujemy atrybut przestrzeni nazw: xmlns:ds=”http://www.w3.org/2000/09/xmldsig#” element ds:SignedInfo element ds:CanonicalizationMethod definiujemy atrybut Algorithm=”http://www.w3.org/2001/10/xmlexc-c14n#” element ds:SignatureMethod definiujemy atrybut Algorithm=”http://www.w3.org/2000/09/xmldsig#rsa-sha1” element ds:Reference definiujemy atrybut URI, którego wartość jest referencją na element soapenv:Body (wartości URI ma być identyczna jak wartość atrybutu wsu:Id poprzedzona znakiem hash #) definiujemy element ds:Transforms o definiujemy element ds:Transform definiujemy atrybut Algorithm=”http://www.w3.org/2001/10/xml-excc14n#” definiujemy element ds:DigestMethod o definiujemy atrybut Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” definiujemy element ds:DigestValue element ds:SignatureValue z wartością podpisu element ds:KeyInfo element wsse:SecurityTokenReference element wsse:Reference o definiujemy atrybut URI jako referencję czyli z wartością identyczną jak wartość wsu:Id elementu wsse:BinarySecurityToken poprzedzoną znakiem hash. o 4.4. Test komunikacji z ZSMOPL Adres usługi WebService do komunikacji w ramach ewaluacji to: http://ewa-zsmopl.ezdrowie.gov.pl/cxf/zsmopl/ws/?wsdl W ramach testowania wysyłania komunikatów z certyfikatami, można posłużyć się oprogramowaniem SoapUI (http://www.soapui.org/downloads/soapui/open-source.html). Jest to oprogramowanie do testowania aplikacji posługujących się protokołem SOAP polegającej na 14 wymianie informacji między aplikacjami za pomocą WebService’ów komunikujących się poprzez komunikaty w formacie XML. Do prawidłowej konfiguracji SoapUI wymagane jest wcześniejsze skonfigurowanie Keystore. Do utworzenia pliku Keystore potrzebujemy narzędzia keytool, które jest dostarczane razem z oprogramowaniem javy. Aby korzystać z keytool z linii poleceń w dowolnym katalogu na dysku, należy wcześniej dodać katalog z zainstalowaną javą ([katalog_z_java]/bin) do zmiennej środowiskowej systemu (PATH). Do pliku Keystore należy dodać klucz prywatny użyty do wygenerowania żądania podpisania certyfikatu oraz certyfikat uzyskany z Centrum Certyfikacji CSIOZ, za pomocą poniższych poleceń, gdzie: - aliasKlucza – dowolny ciąg znaków - systemlokalny.crt – plik z certyfikatem uzyskanym z Centrum Certyfikacji - kluczPrywatny.key – plik z kluczem prywatnym - serverkeystore.jks – plik Keystore. openssl pkcs12 -export -name aliasKlucza kluczPrywatny.key -out tymczasowyKeystore.p12 -in systemlokalny.crt keytool -importkeystore -destkeystore systemlokalny.jks tymczasowyKeystore.p12 -srcstoretype pkcs12 -alias aliasKlucza -inkey -srckeystore Następnie należy uzupełnć sekcję podpis (Signature) zgodnie z poniższym widokiem ekranu SoapUI (w poniższym przykładzie plik Keystore ma nazwę MPDAP1000015.jks). 15 Rys. 2. Sposób konfiguracji podpisu w SoapUI W komunikacie zostanie automatycznie odpowiednio wypełniony nagłówek wraz z certyfikatami, w taki sposób aby plik XMLowy był gotowy do wysłania. 5. Dokumenty powiązane CSIOZ-SD-ZSMOPL_PU_Zarządzanie kontami podmiotów raportujących_1.0 Procedura podłączenia do ZSMOPL na środowisku ewaluacyjnym 16