Certificaat lezen uit keystore van device in ReactNative

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • mrhoeve
  • Registratie: Augustus 2010
  • Laatst online: 21-08 16:48
Voor een afstudeeropdracht moet ik een app bouwen die gedeployed kan worden naar Android en iOS devices. Hiervoor heb ik, na onderzoek, het framework ReactNative gekozen en inmiddels ben ik al aardig op weg.

Ik loop echter tegen een probleem aan waar ik tot op heden nog geen oplossing voor gevonden heb. De devices worden gemanaged door de organisatie waarvoor ik de app moet ontwikkelen. Deze organisatie plaatst op elk uitgegeven device een aantal certificaten waar bepaalde informatie in zit, zoals bv. de gebruikersnaam van de gebruiker aan wie dat device is verstrekt. Die informatie staat dan in de CN van het certificaat.

Ik moet deze certificaten zien uit te lezen, maar heb hier tot op heden nog geen oplossing voor gevonden. Wanneer ik via google zoek op "reactnative access certificate from device" of soorgelijke termen krijg ik als resultaten van alles terug wat te maken heeft met certificaat pinning, maar dat zoek ik dus niet.

Ten einde raad daarom de vraag: heeft iemand hier ervaring mee en kan die mij op de juiste weg helpen? Ik vind simpelweg geen enkel aanknopingspunt waarmee ik verder kan.

Beste antwoord (via mrhoeve op 20-05-2021 00:36)


  • Deshmir
  • Registratie: Februari 2012
  • Laatst online: 22:42
@mrhoeve voor zover ik kan vinden kunnen apps alleen hun eigen items zien in KeyChain (iOs).

Als je het van de andere kant bekijkt, zou een App in de Appstore komen die de mogelijkheid heeft om de volledige keychain door te spitten op zoek naar usernames die in een certificate staan?

Mogelijke workaround lijkt me dat de managed services/server een certificate specifiek voor jou app mee deployed met de informatie die jij nodig hebt? Zo blijven de gegevens 'sandboxed'..

Alle reacties


Acties:
  • 0 Henk 'm!

  • KoningsGap
  • Registratie: Augustus 2013
  • Laatst online: 01-10 09:22
Ik denk dat je toegang moet krijgen tot respectievelijk de Keystore en de Keychain voor Android en iOS. Misschien dat je met die steekwoorden wat verder komt.

Acties:
  • 0 Henk 'm!

  • mrhoeve
  • Registratie: Augustus 2010
  • Laatst online: 21-08 16:48
KoningsGap schreef op maandag 17 mei 2021 @ 11:29:
Ik denk dat je toegang moet krijgen tot respectievelijk de Keystore en de Keychain voor Android en iOS. Misschien dat je met die steekwoorden wat verder komt.
Dat denk ik ook, maar ik vind daar geen enkele documentatie over. Ik had gehoopt / verwacht dat hiervoor iets generieks zou zijn (zo bijzonder lijkt de functionaliteit mij nou ook niet), maar ik vind dus geen enkele aanwijzing waarmee ik verder kom...

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Deshmir
  • Registratie: Februari 2012
  • Laatst online: 22:42
@mrhoeve voor zover ik kan vinden kunnen apps alleen hun eigen items zien in KeyChain (iOs).

Als je het van de andere kant bekijkt, zou een App in de Appstore komen die de mogelijkheid heeft om de volledige keychain door te spitten op zoek naar usernames die in een certificate staan?

Mogelijke workaround lijkt me dat de managed services/server een certificate specifiek voor jou app mee deployed met de informatie die jij nodig hebt? Zo blijven de gegevens 'sandboxed'..

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:57

Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 03-10 12:34
React Native is een UI framework, het lijkt me niet dat ze allerlei wrappers voor platform API's gaan maken. Je zult dus een Native Module moeten gebruiken.

Op npmjs.com (met keywords:react-native) vind ik vooral wrappers om secure waardes op te slaan, niet direct om een lijst met certificaten op te halen. Maar volgens StackOverflow moet dat met wat Java-code wel kunnen op Android, dus kan je zelf zo'n native module schrijven.

Acties:
  • +1 Henk 'm!

  • mrhoeve
  • Registratie: Augustus 2010
  • Laatst online: 21-08 16:48
Voor zover ik kan zien kun je hiermee geen certificaten lezen uit de keystore/keychain? Lijkt meer bedoelt te zijn om zelf veilig credentials op te kunnen slaan (maar wellicht zie ik iets over het hoofd?)
matthijsln schreef op maandag 17 mei 2021 @ 11:51:
React Native is een UI framework, het lijkt me niet dat ze allerlei wrappers voor platform API's gaan maken. Je zult dus een Native Module moeten gebruiken.

Op npmjs.com (met keywords:react-native) vind ik vooral wrappers om secure waardes op te slaan, niet direct om een lijst met certificaten op te halen. Maar volgens StackOverflow moet dat met wat Java-code wel kunnen op Android, dus kan je zelf zo'n native module schrijven.
Wellicht zou het met het zelf schrijven van een native module kunnen, maar het leek mij dat deze functionaliteit wel beschikbaar zou zijn maar dat ik het niet vond. In ieder geval, een interessante optie maar ik weet niet of dit voor mij nu geschikt is (met name vanwege de tijd die ik nog heb). Wel bedankt!
Deshmir schreef op maandag 17 mei 2021 @ 11:38:
@mrhoeve voor zover ik kan vinden kunnen apps alleen hun eigen items zien in KeyChain (iOs).

Als je het van de andere kant bekijkt, zou een App in de Appstore komen die de mogelijkheid heeft om de volledige keychain door te spitten op zoek naar usernames die in een certificate staan?

Mogelijke workaround lijkt me dat de managed services/server een certificate specifiek voor jou app mee deployed met de informatie die jij nodig hebt? Zo blijven de gegevens 'sandboxed'..
Ik denk dat je wel gelijk hebt inderdaad. Het levert ook een veiligheidsrisico op als elke app elk certificaat kan lezen. Met dat in het achterhoofd heb ik even verder gezocht en ben ik react-native-mdm tegengekomen. Dit lijkt wel iets te zijn waarmee ik verder kom. Dank je voor deze richting!
Pagina: 1