]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_keychain/libDER/Tests/parseCert.c
Security-58286.31.2.tar.gz
[apple/security.git] / OSX / libsecurity_keychain / libDER / Tests / parseCert.c
diff --git a/OSX/libsecurity_keychain/libDER/Tests/parseCert.c b/OSX/libsecurity_keychain/libDER/Tests/parseCert.c
deleted file mode 100644 (file)
index 2ad3a91..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2005-2007,2010-2011 Apple Inc. All Rights Reserved.
- *
- * parseCert.c - parse a DER-encoded X509 certificate using libDER. 
- */
-#include <stdlib.h>
-#include <strings.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <libDER/libDER.h>
-#include <libDER/asn1Types.h>
-#include <libDER/DER_CertCrl.h>
-#include <libDER/DER_Keys.h>
-#include <libDERUtils/fileIo.h>
-#include <libDERUtils/libDERUtils.h>
-#include <libDERUtils/printFields.h>
-
-static void usage(char **argv)
-{
-       printf("usage: %s certFile [options]\n", argv[0]);
-       printf("Options:\n");
-       printf("  -v     -- verbose \n");
-       /* etc. */
-       exit(1);
-}
-
-static void    printValidity(
-       DERItem *validity, 
-       int verbose)
-{
-       DERReturn drtn;
-       DERValidity derv;
-       
-       drtn = DERParseSequenceContent(validity,
-               DERNumValidityItemSpecs, DERValidityItemSpecs,
-               &derv, sizeof(derv));
-       if(drtn) {
-               DERPerror("DERParseSequenceContent(validity)", drtn);
-               return;
-       }
-       decodePrintItem("notBefore", IT_Leaf, verbose, &derv.notBefore);
-       decodePrintItem("notAfter",  IT_Leaf, verbose, &derv.notAfter);
-       
-}
-
-int main(int argc, char **argv)
-{
-       unsigned char *certData = NULL;
-       unsigned certDataLen = 0;
-       DERSignedCertCrl signedCert;
-       DERTBSCert tbs;
-       DERReturn drtn;
-       DERItem item;
-       int verbose = 0;
-       extern char *optarg;
-       int arg;
-       extern int optind;
-       
-       if(argc < 2) {
-               usage(argv);
-       }
-       if(readFile(argv[1], &certData, &certDataLen)) {
-               printf("***Error reading cert from %s. Aborting.\n", argv[1]);
-               exit(1);
-       }
-
-       optind = 2;
-       while ((arg = getopt(argc, argv, "vh")) != -1) {
-               switch (arg) {
-                       case 'v':
-                               verbose = 1;
-                               break;
-                       case 'h':
-                               usage(argv);
-               }
-       }
-       if(optind != argc) {
-               usage(argv);
-       }
-
-       /* Top level decode of signed cert into 3 components */
-       item.data = certData;
-       item.length = certDataLen;
-       drtn = DERParseSequence(&item, DERNumSignedCertCrlItemSpecs, DERSignedCertCrlItemSpecs,
-               &signedCert, sizeof(signedCert));
-       if(drtn) {
-               DERPerror("DERParseSequence(SignedCert)", drtn);
-               exit(1);
-       }
-       printItem("TBSCert", IT_Branch, verbose, ASN1_CONSTR_SEQUENCE, &signedCert.tbs);
-       
-       incrIndent();
-       
-       /* decode the TBSCert - it was saved in full DER form */
-       drtn = DERParseSequence(&signedCert.tbs, 
-               DERNumTBSCertItemSpecs, DERTBSCertItemSpecs,
-               &tbs, sizeof(tbs));
-       if(drtn) {
-               DERPerror("DERParseSequenceContent(TBSCert)", drtn);
-               exit(1);
-       }
-       if(tbs.version.data) {
-               /* unwrap the explicitly tagged integer.... */
-               decodePrintItem("version", IT_Leaf, verbose, &tbs.version);
-       }
-       printItem("serialNum", IT_Leaf, verbose, ASN1_INTEGER, &tbs.serialNum);
-       
-       printItem("tbsSigAlg", IT_Branch, verbose, ASN1_CONSTR_SEQUENCE, &tbs.tbsSigAlg);
-       incrIndent();
-       printAlgId(&tbs.tbsSigAlg, verbose);
-       decrIndent();
-       
-       printItem("issuer", IT_Leaf, verbose, ASN1_CONSTR_SEQUENCE, &tbs.issuer);
-       printItem("subject", IT_Leaf, verbose, ASN1_CONSTR_SEQUENCE, &tbs.subject);
-       
-       printItem("validity", IT_Branch, verbose, ASN1_CONSTR_SEQUENCE, &tbs.validity);
-       incrIndent();
-       printValidity(&tbs.validity, verbose);
-       decrIndent();
-       
-       printItem("subjectPubKey", IT_Branch, verbose, ASN1_CONSTR_SEQUENCE, 
-               &tbs.subjectPubKey);
-       incrIndent();
-       printSubjPubKeyInfo(&tbs.subjectPubKey, verbose);
-       decrIndent();
-       
-       if(tbs.issuerID.data) {
-               /* found tag is implicit context specific: tell printItem what it really is */
-               printItem("issuerID", IT_Leaf, verbose, ASN1_BIT_STRING, &tbs.issuerID);
-       }
-       if(tbs.subjectID.data) {
-               printItem("subjectID", IT_Leaf, verbose, ASN1_BIT_STRING, &tbs.subjectID);
-       }
-       if(tbs.extensions.data) {
-               printItem("extensions", IT_Leaf, verbose, ASN1_CONSTRUCTED | ASN1_CONTEXT_SPECIFIC | 3, 
-                       &tbs.extensions);
-       }
-       decrIndent();
-       
-       printItem("sigAlg", IT_Branch, verbose, ASN1_CONSTR_SEQUENCE, &signedCert.sigAlg);
-       incrIndent();
-       printAlgId(&signedCert.sigAlg, verbose);
-       decrIndent();
-
-       printItem("sig", IT_Leaf, verbose, ASN1_BIT_STRING, &signedCert.sig);
-       
-       return 0;
-}