void raop_destroy(raop_t *raop) { if (raop) { raop_stop(raop); httpd_destroy(raop->httpd); rsakey_destroy(raop->rsakey); logger_destroy(raop->logger); free(raop); /* Cleanup the network */ netutils_cleanup(); } }
static void test_rsa(const char *pemstr) { char buffer[2048]; int ret; rsakey_t *rsakey; rsakey = rsakey_init_pem(pemstr); if (!rsakey) { printf("Initializing RSA failed\n"); return; } rsakey_sign(rsakey, buffer, sizeof(buffer), CHALLENGE, ipaddr, sizeof(ipaddr), hwaddr, sizeof(hwaddr)); printf("Signature:\n%s\n", buffer); ret = rsakey_decrypt(rsakey, (unsigned char *)buffer, sizeof(buffer), AESENC); printf("Decrypted length: %d\n", ret); rsakey_destroy(rsakey); }