Advertisement
Guest User

Untitled

a guest
Feb 5th, 2016
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.79 KB | None | 0 0
  1. CERTCertList *chain = NULL;
  2.  
  3. int main(int argc,char **argv){
  4.         FILE *f;
  5.         SECStatus rv;
  6.         char *pem;
  7.         int i;
  8.         rv = NSS_Initialize("./nss_db","","","secmod.db",0);
  9.         //rv = NSS_NoDB_Init(NULL);
  10.         if(rv != SECSuccess)
  11.                 printf("Wrong Initialization %d \n",PR_GetError());
  12.         if(SECMOD_AddNewModule("Root Certs","../nss-3.21/dist/Linux4.0_x86_64_gcc_glibc_PTH_64_OPT.OBJ/lib/libnssckbi.so",0,0) != SECSuccess)
  13.                     printf("error adding module \n");
  14.         CERTCertificate *end_entity = parse_cert(argv[1]);
  15.         for(i=2;i<argc;i++)
  16.         {
  17.                 if(!chain)
  18.                         chain = CERT_NewCertList();
  19.                 CERT_AddCertToListTail(chain,parse_cert(argv[i]));
  20.         }
  21.         CERTValInParam cvin[3];
  22.         CERTValOutParam cvout[3];
  23.         cvin[0].type = cert_pi_certList;
  24.         cvin[0].value.pointer.chain = chain;
  25.         cvin[1].type = cert_pi_useAIACertFetch;
  26.         cvin[1].value.scalar.b = PR_TRUE;
  27.         cvin[2].type = cert_pi_end;
  28.         cvout[0].type = cert_po_trustAnchor;
  29.         cvout[0].value.pointer.cert = NULL;
  30.         cvout[1].type = cert_po_certList;
  31.         cvout[1].value.pointer.chain = NULL;
  32.         cvout[2].type = cert_po_end;
  33.         //secuPWData pwdata = {PW_NONE,0};
  34.         printf("%d %d \n",cert_pi_max,cert_pi_certList);
  35.         if(CERT_PKIXVerifyCert(end_entity,certificateUsageCheckAllUsages,cvin,cvout,NULL) == SECSuccess)
  36.                 printf("verify ok \n");
  37.         else
  38.                 printf("verify error %d \n",PR_GetError());
  39.         if(CERT_VerifyCertNow(CERT_GetDefaultCertDB(),end_entity,PR_TRUE,certUsageSSLServer,NULL) == SECSuccess || CERT_VerifyCertNow(CERT_GetDefaultCertDB(),end_entity,PR_TRUE,certUsageSSLCA,NULL) == SECSuccess)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement