Openssl函数i2d_X509应该注意的地方

这里把一个X509结构体的一个证书转变为DER格式的数据,保存为文件或存储到LDAP中

 
  char *Cert_buf,*byte;
  len = i2d_X509(x, NULL);
  byte = (char*)malloc(len);
  if (byte == NULL)
  {
   BIO_printf(bio_err,"malloc error!/n");
   BIO_free(in);
   goto end;
  }
  Cert_buf = byte;
  i2d_X509(x, &byte);//证书的DER编码二进制格式保存在buf中
 
  i2d_X509函数的byte指针在转换的过程中发生了变化最后变为byte=Cert_buf+len;
 
  这个地方让我载了不小的跟头。

你可能感兴趣的:(null,存储,byte)