Ik ben bezig met 't schrijven van een daemon waarin ik client authenticatie wil doen met behulp van SSL certificaten. Ik heb de code al zover dat ik werkende SSL verbindingen kan opzetten. Nu wil ik dat de verbinding alleen tot stand komt als een client-certificaat uit een bepaalde CA afkomstig is. Ik gebruik daarvoor de volgende code:
SSL_CTX_load_verify_locations(context, bestand_met_CA_certificaat, NULL);
SSL_CTX_set_verify_depth(context, verify_depth);
SSL_CTX_set_verify(context, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
Deze code heb ik naar aanleiding van de documentatie en de vele voorbeelden die ik ge-googled heb. Echter, soms werkt 't wel en soms niet. De beschikbare documentatie en voorbeelden zijn niet voldoende om 't probleem op te lossen. Ik weet ook niet precies wat en waarom 't fout gaat. Dus ik hoop dat iemand me op weg kan helpen.
SSL_CTX_load_verify_locations(context, bestand_met_CA_certificaat, NULL);
SSL_CTX_set_verify_depth(context, verify_depth);
SSL_CTX_set_verify(context, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
Deze code heb ik naar aanleiding van de documentatie en de vele voorbeelden die ik ge-googled heb. Echter, soms werkt 't wel en soms niet. De beschikbare documentatie en voorbeelden zijn niet voldoende om 't probleem op te lossen. Ik weet ook niet precies wat en waarom 't fout gaat. Dus ik hoop dat iemand me op weg kan helpen.