/* on error  yields NULL; o/w returns a cert */
cert *
cert_read (const char *cert_file) 
{
  int fdcert = open (cert_file, O_RDONLY);
  char *raw_cert = (fdcert == -1) ? NULL : import_from_file (fdcert);
  cert *c = raw_cert ? cert_import (raw_cert) : NULL;  

  return c;
}
示例#2
0
char *
import_sk_from_file (char **raw_sk_p, size_t *raw_len_p, int fdsk)
{
  char *armored_key = import_from_file (fdsk);
  ssize_t dearmored_len = dearmor64len (armored_key);

  if ((-1 == dearmored_len)) {
    /* error when dearmoring */
    
    *raw_sk_p = NULL;
    *raw_len_p = 0;
  }
  else {
    *raw_len_p = (size_t) dearmored_len;
    *raw_sk_p = (char *) malloc (dearmored_len * sizeof (char));
    dearmor64 (*raw_sk_p, armored_key);
  }    

  return (*raw_sk_p);
}