unsigned char buf[64];
char buf[64];
int rsakey_pubblob(char *filename, void **blob, int *bloblen){    FILE *fp;    unsigned char buf[64];    struct RSAKey key;    int ret;    /* Default return if we fail. */    *blob = NULL;    *bloblen = 0;    ret = 0;    fp = fopen(filename, "rb");    if (!fp)	return 0;		       /* doesn't even exist */    /*     * Read the first line of the file and see if it's a v1 private     * key file.     */    if (fgets(buf, sizeof(buf), fp) && !strcmp(buf, rsa_signature)) {	memset(&key, 0, sizeof(key));	if (loadrsakey_main(fp, &key, TRUE, NULL, NULL)) {	    *blob = rsa_public_blob(&key, bloblen);	    freersakey(&key);	    ret = 1;	}    }    fclose(fp);    return ret;}