Jak wygenerowac pare kluczy JWK?

0

Witam,

Zachodze w glowe i nie mam pojecia jak wygenerowac prywatny i publiczny klucz JWK?? Ktos generowal? Jakas podpowiedz? Zalaczylem przykladowe klucze znalezione w Internetach.

0

Zakładając, że miałeś na myśli JWT: jwt generate keys w Google zwraca całkiem sporo rezultatów - z którym podejściem napotkałeś trudności?

0

@Patryk27: Z każdym. W jednym arcie jest napisane, ze potrzebuje server ssh key, w drugim, ze nie. Juz mnie szlak trafia. Bo nie mam bladego pojecia jak to wygenerowac...

0

Nie kumam zupelnie jak maja byc te klucze wygenerowane. Tak samo co to sa te wszsytkie parametry w dwoch przykladowych plikach, ktore dolaczylem. Bladego pojecia nie mam jak wygenerowac podobne dwa pliki. Zero.

0

Hm, a rozumiesz jak działa współczesna kryptografia i całe te klucze prywatne i publiczne? Jeśli nie, to nic dziwnego, że przeraża Cię nomenklatura czy niejednoznaczne poradniki - i w takiej sytuacji niewiele mogę pomóc ponad poczytaj jak działają te algorytmy.

0
  1. Generujesz parę kluczy (puttygen / ssh-keygen / openssl )
  2. Używasz konwertera PEM to JWK (np. https://8gwifi.org/jwkconvertfunctions.jsp) i gotowe. Do zabawy możesz użyć tego konwertera online.

Lektura RFC wyjaśnia do czego są te atrybuty z załączników.

https://tools.ietf.org/html/rfc7517
https://tools.ietf.org/html/rfc7518
https://tools.ietf.org/html/rfc7519

0

@yarel: Jak wygeneruje klucze RSA, rozumiem, ze one maja zostac na serwerze? Czy one sa dalej uzyte do autoryzacji? Wiec generuje jedna pare kluczy na serwer produkcyjny, testowy oraz na localhost? Pytam o to bo wygenerowalem oba klucze, na ich bazie utworzylem pare kluczy JWT i API dalej nie dziala.

0
poniatowski napisał(a):

@yarel: Jak wygeneruje klucze RSA, rozumiem, ze one maja zostac na serwerze? Czy one sa dalej uzyte do autoryzacji? Wiec generuje jedna pare kluczy na serwer produkcyjny, testowy oraz na localhost?

Pytałeś o to jak wygenerować parę kluczy JWK. Do czego ich będziesz używał, to nie mam pojęcia :-)

Rozsądek podpowiada, że dostęp do prywatnego klucza powinien zostać ograniczony do niezbędnego minimum, np. w Javie jak masz kontener na certyfikaty, to taki kontener jest chroniony hasłem, dodatkowo klucz prywatny może być zaszyfrowany. Jeśli aplikacja chce użyć klucza prywatnego, to musi podać 2 hasła: do kontenera oraz do odszyfrowania klucza.

Do tego możesz dorzucić politykę SELinux, która pozwoli dostać się do keystora tylko procesom javowym użytkownika ziutek.

0

Ok, polaczylem sie z hyperwallet API przez JOSE wiec jest jakis postep w pracy :) Jednakze API zwraca blad: JWK set doesn't contain key with algorithm = RSA-OAEP-256? Czy to jest algorytm w jakim ma by wygenerowany klucz na serwerze czy algorytm jaki ma byc uzyty do wygenerowanai klucza JWK? Wydaje mi sie, ze to drugie. Pytanie jak wygenerowac JWK klucz za pomoca tego alrgorytmu?

0

I dalej walcze... Wygenerowalem RSA PEM klucz prywatny i pubiczny, ale nie udalo mi sie wygenerowac na ich podstawie JWT, JWK. W ogole tego nie kumam. Np. algorytm RSA-OAEP-256 skad ja mam wiedziec co to jest i jak go wygenerowac?

0

Wygląda, ze trzeba ustawić rsa_padding_mode -> https://www.openssl.org/docs/man1.0.2/man1/pkeyutl.html

openssl pkeyutl -encrypt -inkey key.pem -pkeyopt rsa_padding_mode:oaep

1 użytkowników online, w tym zalogowanych: 0, gości: 1