예제 #1
0
파일: raop.c 프로젝트: mk01/shairplay
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();
    }
}
예제 #2
0
파일: main.c 프로젝트: 26597925/shairplay
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);
}