Konfiguracja dostawców kryptografii odbywa się w sekcji znacznika <CryptoProviders>. Komunikacja z urządzeniami kryptograficznymi (karta kryptograficzna lub moduł kryptograficzny HSM) odbywa się z wykorzystaniem interfejsu PKCS#11 i stosuje się znacznik <HardwareProvider>. W istniejącej konfiguracji settings_cryptoproviders domyślnie zdefiniowany jest sprzętowy dostawca kryptografii do obsługi kart kryptograficznych CryptoTech Carbon, CryptoTech Graphite oraz CryptoTech CloudSigner: Code Block |
---|
language | xml |
---|
title | JSON configuration |
---|
linenumbers | true |
---|
| <CryptoProviders>
<!-- PKCS11 KIR Carbon -->
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>CCP11s.dll</URI>
</HardwareProvider>
<!-- PKCS11 KIR Graphite -->
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>CCGraphitep11.dll</URI>
</HardwareProvider>
<!-- PKCS11 KIR mSzafir -->
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>file:///c:/Program%20Files/CryptoTech/CryptoCard/CloudSignerP1164.dll</URI>
</HardwareProvider>
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>file:///c:/Program%20Files%20(x86)/CryptoTech/CryptoCard/CloudSignerP11.dll</URI>
</HardwareProvider>
</CryptoProviders> |
Możliwe jest używanie wielu różnych dostawców kryptografii poprzez wskazanie wielu znaczników <HardwareProvider>. Standard kryptografii klucza publicznego PKCS#12 pozwala na użycie plików w formacie .p12 lub .pfx, które przechowują klucz prywatny i certyfikaty. Definicja tego wariantu odbywa się przy pomocy znacznika <SoftwareProvider>. Code Block |
---|
language | xml |
---|
title | JSON configuration |
---|
linenumbers | true |
---|
| <CryptoProviders>
<SoftwareProvider>
<Name>PKCS#12</Name>
<URI>file:///c:/example.p12</URI>
</SoftwareProvider>
</CryptoProviders> |
Elementy URI dostawców kryptografii muszą zawierać wpisy zgodne ze standardem URI. Obecnie dla dostawców kryptografii wspierane są URI wskazujące na pliki lokalne (file:///) oraz zasoby sieciowe (http:// i https://). Możliwe jest używanie URI względnych, należy jednak pamiętać, aby biblioteki umieścić w ścieżce widocznej pod System.getProperty(„java.library.path”) maszyny wirtualnej Java. Dla biblioteki w standardzie PKCS#12 alternatywną formą do podania ścieżki URI jest podanie całego pliku w postaci zakodowanej w Base64. Code Block |
---|
language | xml |
---|
title | JSON configuration |
---|
linenumbers | true |
---|
| <SoftwareProvider>
<Name>PKCS#12</Name>
<Base64Binary>JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRs</Base64Binary>
</SoftwareProvider> |
|