Tag: certificate

Windows 2008R2 CA和OpenSSL CSR:解析CSR ASN1错误值时遇到错误

我正在使用OpenSSL C API来构建CSR。 代码如下: static void seedPRNG() { const int openSSLseedsize = 128; uint8_t *openSSLseed = NULL; openSSLseed = malloc(openSSLseedsize * sizeof(uint8_t)); //printf(“%d\n\n”, openSSLseedsize); // random number generator SecRandomCopyBytes(kSecRandomDefault, openSSLseedsize, openSSLseed); for (unsigned i = 0; i < openSSLseedsize; i++) { printf("%d", openSSLseed[i]); } printf("\n\n\n\n"); //seed openSSL random RAND_seed(openSSLseed, 128); } // Parameter settings for […]

如何以编程方式从证书中提取信息?

我有一个生成的证书,但我希望能够从证书中提取信息,例如国家,有效性,公钥等。 我必须将从证书中重新获得的这些信息与我在C程序中存储的其他信息进行比较。 我知道如果我使用这样的函数,它会打印出证书信息: void print_certificate(const char* cert) { X509 *x509 = NULL; BIO *i = BIO_new(BIO_s_file()); BIO *o = BIO_new_fp(stdout,BIO_NOCLOSE); if((BIO_read_filename(i, cert) <= 0) || ((x509 = PEM_read_bio_X509_AUX(i, NULL, NULL, NULL)) == NULL)) { printf("Bad certificate, unable to read\n"); } X509_print_ex(o, x509, XN_FLAG_COMPAT, X509_FLAG_COMPAT); if(x509) X509_free(x509); } 但我想要的只是信息的某些部分。 怎么做到呢? 谢谢

如何certificateC语句-x,~x + 1和〜(x-1)产生相同的结果?

我想知道这个陈述背后的逻辑,证据。 对于任何x,C表达式-x,~x + 1和〜(x-1)都产生相同的结果。 我可以certificate这对于具体的例子是正确的。 我认为certificate这一点的方法与两个补码的属性有关。 有任何想法吗?