33 #if defined(POLARSSL_X509_CSR_WRITE_C)
39 #if defined(POLARSSL_PEM_WRITE_C)
75 const char *oid,
size_t oid_len,
76 const unsigned char *val,
size_t val_len )
103 unsigned char ns_cert_type )
105 unsigned char buf[4];
124 int (*f_rng)(
void *,
unsigned char *,
size_t),
129 size_t sig_oid_len = 0;
130 unsigned char *c, *c2;
131 unsigned char hash[64];
133 unsigned char tmp_buf[2048];
134 size_t pub_len = 0, sig_and_oid_len = 0, sig_len;
141 c = tmp_buf +
sizeof( tmp_buf );
164 tmp_buf, c - tmp_buf ) );
191 f_rng, p_rng ) ) != 0 ||
193 &sig_oid, &sig_oid_len ) ) != 0 )
203 sig_oid, sig_oid_len, sig, sig_len ) );
206 memcpy( c2, c, len );
208 len += sig_and_oid_len;
215 #define PEM_BEGIN_CSR "-----BEGIN CERTIFICATE REQUEST-----\n"
216 #define PEM_END_CSR "-----END CERTIFICATE REQUEST-----\n"
218 #if defined(POLARSSL_PEM_WRITE_C)
220 int (*f_rng)(
void *,
unsigned char *,
size_t),
224 unsigned char output_buf[4096];
228 f_rng, p_rng ) ) < 0 )
233 if( ( ret = pem_write_buffer( PEM_BEGIN_CSR, PEM_END_CSR,
234 output_buf +
sizeof(output_buf) - ret,
235 ret, buf, size, &olen ) ) != 0 )