Následuje popis ručního postupu vytvoření chráněného kanálu (dále jen endpoint) pro ČDK agregátor / platí pro distribuci Debian GNU/Linux 11 (Bullseye x64), pro ostatní distribuce se může mírně lišit.
Poznámka: doménu domena.nekde.cz nahradit doménou, pod kterou běží/poběží instance Krameria s příslušným endpointem.
2. Vytvoření lokální certifikační autority (dále jen CA), která bude pak použita pro podepsání certifikátů pro server a ČDK harvester:
`root@stroj:~# pwgen`
příkaz vygeneruje množinu hesel, jedno vybrat, uložit (pro budoucí využití) do:
root@stroj:~# vim /usr/local/etc/ssl/kramerius-ca.cred <- uložit heslo
použít vybrané heslo:
`root@stroj:~# openssl genrsa -des3 -out /usr/local/etc/ssl/private/kramerius-ca.key 2048`
datum expirace nastavit dlouhé (zde 20 let - 7300 dní):
5. Privátní klíč a certifikát klienta, vytvořené v bodu 4, předat bezpečným způsobem správci ČDK (kontakty podchycené v příslušné smlouvě).
6. Fragment konfigurace pro Apache webserver (u proxy modulu případně upravit číslo portu na kterém na backendu poslouchá Tomcat s jádrem Krameria - zde 8080, případně i IP adresu):
7. Upravit konfiguraci jádra Krameria -> povolit autorizační endpoint jádra
odkomentovat v konfiguračním souboru web.xml:
`kramerius@stroj:~$ vim $CATALINA_BASE/webapps/search/WEB-INF/web.xml`
![web xml-00](https://user-images.githubusercontent.com/8750622/223075879-57888136-4e8e-45b3-9c10-883e7125015e.png)
Restart instance Krameria a testování.
Pro K7 bude zřejmě postup stejný/obdobný.
MD
Následuje popis ručního postupu vytvoření chráněného kanálu (dále jen endpoint) pro ČDK agregátor / platí pro distribuci Debian GNU/Linux 11 (Bullseye x64), pro ostatní distribuce se může mírně lišit.
Poznámka: doménu
domena.nekde.cz
nahradit doménou, pod kterou běží/poběží instance Krameria s příslušným endpointem.root@stroj:~# chown -R 0.0 /usr/local/etc/ssl
root@stroj:~# chown -R 0.ssl-cert /usr/local/etc/ssl/private
root@stroj:~# chmod 750 /usr/local/etc/private
root@stroj:~# vim /usr/local/etc/ssl/kramerius-ca.cred <- uložit heslo
root@stroj:~# chmod 600 /usr/local/etc/ssl/kramerius-ca.cred
root@stroj:~# chown 0.0 /usr/local/etc/ssl/kramerius-ca.cred
root@stroj:~# openssl req -x509 -new -nodes -key /usr/local/etc/ssl/private/kramerius-ca.key -sha256 -days 7300 -out /usr/local/etc/ssl/certs/kramerius-ca.crt
root@stroj:~# openssl genrsa -out /usr/local/etc/ssl/private/cdk-auth.domena.nekde.cz.key 2048
root@stroj:~# openssl req -new -key /usr/local/etc/ssl/private/cdk-auth.domena.nekde.cz.key -out /usr/local/etc/ssl/certs/cdk-auth.domena.nekde.cz.csr -addext "subjectAltName = DNS:cdk-auth.domena.nekde.cz"
authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names
[alt_names] DNS.1 = cdk-auth.domena.nekde.cz
root@stroj:~# openssl x509 -req -in /usr/local/etc/ssl/certs/cdk-auth.domena.nekde.cz.csr -CA /usr/local/etc/ssl/certs/kramerius-ca.crt -CAkey /usr/local/etc/ssl/private/kramerius-ca.key -CAcreateserial -out /usr/local/etc/ssl/certs/cdk-auth.domena.nekde.cz.crt -days 5475 -sha256 -extfile /usr/local/etc/ssl/cdk-auth.domena.nekde.cz.ext
root@stroj:~# openssl genrsa -out /usr/local/etc/ssl/private/ceskadigitalniknihovna.cz.key 2048
root@stroj:~# openssl req -new -sha256 -key /usr/local/etc/ssl/private/ceskadigitalniknihovna.cz.key -out /usr/local/etc/ssl/certs/ceskadigitalniknihovna.cz.csr -addext "subjectAltName = DNS:czechdigitallibrary.cz"
subjectAltName = @alt_names
[alt_names] DNS.1 = czechdigitallibrary.cz
root@stroj:~# openssl x509 -req -in /usr/local/etc/ssl/certs/ceskadigitalniknihovna.cz.csr -CA /usr/local/etc/ssl/certs/kramerius-ca.crt -CAkey /usr/local/etc/ssl/private/kramerius-ca.key -CAcreateserial -out /usr/local/etc/ssl/certs/ceskadigitalniknihovna.cz.crt -days 5475 -sha256 -extfile /usr/local/etc/ssl/ceskadigitalniknihovna.cz.ext