Move more comments that confuse indent
[openssl.git] / crypto / x509 / x_all.c
index de516f8fd4849265188e7c1a8d6dbd5b65f232b9..b1fe3028fce447e9a0988195739b924945562918 100644 (file)
  */
 
 #include <stdio.h>
-#undef SSLEAY_MACROS
 #include <openssl/stack.h>
 #include "cryptlib.h"
 #include <openssl/buffer.h>
 #include <openssl/asn1.h>
 #include <openssl/evp.h>
 #include <openssl/x509.h>
+#include <openssl/ocsp.h>
 #ifndef OPENSSL_NO_RSA
 #include <openssl/rsa.h>
 #endif
@@ -73,6 +73,8 @@
 
 int X509_verify(X509 *a, EVP_PKEY *r)
        {
+       if (X509_ALGOR_cmp(a->sig_alg, a->cert_info->signature))
+               return 0;
        return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF),a->sig_alg,
                a->signature,a->cert_info,r));
        }
@@ -91,16 +93,37 @@ int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
 
 int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
        {
+       x->cert_info->enc.modified = 1;
        return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), x->cert_info->signature,
                x->sig_alg, x->signature, x->cert_info,pkey,md));
        }
 
+int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx)
+       {
+       x->cert_info->enc.modified = 1;
+       return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CINF),
+               x->cert_info->signature,
+               x->sig_alg, x->signature, x->cert_info, ctx);
+       }
+
+int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert)
+       {
+       return OCSP_REQ_CTX_nbio_d2i(rctx,
+                               (ASN1_VALUE **)pcert, ASN1_ITEM_rptr(X509));
+       }
+
 int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
        {
        return(ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO),x->sig_alg, NULL,
                x->signature, x->req_info,pkey,md));
        }
 
+int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx)
+       {
+       return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_REQ_INFO),
+               x->sig_alg, NULL, x->signature, x->req_info, ctx);
+       }
+
 int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
        {
        x->crl->enc.modified = 1;
@@ -108,13 +131,27 @@ int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
                x->sig_alg, x->signature, x->crl,pkey,md));
        }
 
+int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx)
+       {
+       x->crl->enc.modified = 1;
+       return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CRL_INFO),
+               x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx);
+       }
+
+int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl)
+       {
+       return OCSP_REQ_CTX_nbio_d2i(rctx,
+                               (ASN1_VALUE **)pcrl, ASN1_ITEM_rptr(X509_CRL));
+       }
+
+
 int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md)
        {
        return(ASN1_item_sign(ASN1_ITEM_rptr(NETSCAPE_SPKAC), x->sig_algor,NULL,
                x->signature, x->spkac,pkey,md));
        }
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 X509 *d2i_X509_fp(FILE *fp, X509 **x509)
        {
        return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509);
@@ -136,7 +173,7 @@ int i2d_X509_bio(BIO *bp, X509 *x509)
        return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509);
        }
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl)
        {
        return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl);
@@ -158,7 +195,7 @@ int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl)
        return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl);
        }
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
        {
        return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7);
@@ -180,7 +217,7 @@ int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
        return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7);
        }
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req)
        {
        return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req);
@@ -204,7 +241,7 @@ int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req)
 
 #ifndef OPENSSL_NO_RSA
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa)
        {
        return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa);
@@ -272,7 +309,7 @@ int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
 #endif
 
 #ifndef OPENSSL_NO_DSA
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa)
        {
        return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSAPrivateKey,fp,dsa);
@@ -318,7 +355,7 @@ int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
 #endif
 
 #ifndef OPENSSL_NO_EC
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey)
        {
        return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,fp,eckey);
@@ -402,7 +439,7 @@ int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *
        }
 
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8)
        {
        return ASN1_d2i_fp_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,fp,p8);
@@ -424,7 +461,7 @@ int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8)
        return ASN1_i2d_bio_of(X509_SIG,i2d_X509_SIG,bp,p8);
        }
 
-#ifndef OPENSSL_NO_FP_API
+#ifndef OPENSSL_NO_STDIO
 PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,
                                                 PKCS8_PRIV_KEY_INFO **p8inf)
        {