Changeset 40638


Ignore:
Timestamp:
07/19/17 19:29:35 (5 years ago)
Author:
gost
Message:

[titan] modify some modules

Location:
titan/titan
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/cacc.h

    r40605 r40638  
    44#define xx_debug    0
    55#define yy_debug    0
     6
     7#ifdef CERTIN
     8#include "certs.h"
     9#include <shadow.h>
     10#endif
    611
    712static uint8_t NullPMT[50]={0x9F,0x80,0x32,0x2E,0x03,0x6E,0xA7,0x37,0x00,0x00,0x1B,0x15,0x7D,0x00,0x00,0x03,0x15,0x7E,0x00,0x00,0x03,0x15,0x7F,0x00,0x00,0x06,0x15,0x80,0x00,0x00,0x06,0x15,0x82,0x00,0x00,0x0B,0x08,0x7B,0x00,0x00,0x05,0x09,0x42,0x00,0x00,0x06,0x15,0x81,0x00,0x00};
     
    822827        fp = fopen(filename, "r");
    823828        if (!fp) {
     829#ifndef CERTIN
    824830                fprintf(stderr, "cannot open %s\n", filename);
     831#endif
    825832                return NULL;
    826833        }
     
    843850        fp = fopen(filename, "r");
    844851        if (!fp) {
     852#ifndef CERTIN
    845853                fprintf(stderr, "cannot open %s\n", filename);
     854#endif
    846855                return NULL;
    847856        }
     
    893902
    894903                if (X509_STORE_load_locations(ctx->store, filename, NULL) != 1) {
     904#ifndef CERTIN
    895905                        fprintf(stderr, "load of first certificate (root_ca) failed\n");
    896906                        exit(-1);
     907#else
     908                        return NULL;
     909#endif
    897910                }
    898 
    899                 return NULL;
     911                return (X509 *) 1;
     912                //return NULL;
    900913        }
    901914
     
    914927        /* push into store - create a chain */
    915928        if (X509_STORE_load_locations(ctx->store, filename, NULL) != 1) {
     929#ifndef CERTIN
    916930                fprintf(stderr, "load of certificate failed\n");
     931#endif
    917932                X509_free(cert);
    918933                return NULL;
     
    13651380
    13661381        /* load certificates and device key */
    1367         certificate_load_and_check(ctx, ROOT_CERT);
     1382        if (!certificate_load_and_check(ctx, ROOT_CERT))
     1383        {       
     1384#ifdef CERTIN
     1385        /* internal root certificate handling */
     1386        root_cert_len=strlen(root_cert);
     1387        root_bio = BIO_new(BIO_s_mem());
     1388        BIO_write(root_bio, root_cert, root_cert_len);
     1389        X509* root_certX509 = PEM_read_bio_X509(root_bio, NULL, NULL, NULL);
     1390        if (!root_certX509)
     1391        {
     1392        fprintf(stderr, "FAILED parsing embedded root cert\n");
     1393        }
     1394        if (!ctx->store)
     1395        {
     1396                ctx->store = X509_STORE_new();
     1397                if (!ctx->store)
     1398                {
     1399                        fprintf(stderr, "can not create cert_store\n");
     1400                }
     1401        }
     1402  fprintf(stderr, "EMBEDDED root cert ...\n");
     1403        X509_STORE_add_cert(ctx->store, root_certX509);
     1404#endif
     1405        }
     1406
    13681407        ctx->cust_cert = certificate_load_and_check(ctx, CUSTOMER_CERT);
     1408       
     1409#ifdef CERTIN
     1410        if (!ctx->cust_cert)
     1411        {
     1412                /* internal customer certificate handling */
     1413                customer_cert_len=strlen(customer_cert);
     1414                customer_bio = BIO_new(BIO_s_mem());
     1415                BIO_write(customer_bio, customer_cert, customer_cert_len);
     1416                X509* customer_certX509 = PEM_read_bio_X509(customer_bio, NULL, NULL, NULL);
     1417                if (!customer_certX509)
     1418                {
     1419                        fprintf(stderr, "FAILED parsing embedded customer cert\n");
     1420                }
     1421                fprintf(stderr, "EMBEDDED customer cert ...\n");
     1422                X509_STORE_add_cert(ctx->store, customer_certX509);
     1423                ctx->cust_cert=customer_certX509;
     1424        }
     1425#endif
     1426
    13691427        ctx->device_cert = certificate_load_and_check(ctx, DEVICE_CERT);
     1428
     1429#ifdef CERTIN   
     1430        if (!ctx->device_cert)
     1431        {
     1432                /* internal device certificate handling */
     1433                device_cert_len=strlen(device_cert);
     1434                device_bio = BIO_new(BIO_s_mem());
     1435                BIO_write(device_bio, device_cert, device_cert_len);
     1436                X509* device_certX509 = PEM_read_bio_X509(device_bio, NULL, NULL, NULL);
     1437                if (!device_certX509)
     1438                {
     1439                        fprintf(stderr, "FAILED parsing embedded device cert\n");
     1440                }
     1441                fprintf(stderr, "EMBEDDED device cert ...\n");
     1442                X509_STORE_add_cert(ctx->store, device_certX509);
     1443                ctx->device_cert=device_certX509;
     1444        }
     1445#endif
    13701446
    13711447        if (!ctx->cust_cert || !ctx->device_cert) {
     
    13851461
    13861462        cc_data->rsa_device_key = rsa_privatekey_open(DEVICE_CERT);
    1387         if (!cc_data->rsa_device_key) {
     1463        if (!cc_data->rsa_device_key)
     1464        {
     1465#ifdef CERTIN
     1466                /* internal private key */
     1467                cc_data->rsa_device_key = PEM_read_bio_RSAPrivateKey(device_bio,NULL, NULL, NULL);
     1468                fprintf(stderr, "EMBEDDED private key ...\n");
     1469#else
    13881470                fprintf(stderr, "cannot read private key\n");
    13891471                return -1;
     1472#endif
    13901473        }
    13911474
     
    16631746        if(status.certchecked == 0)
    16641747        {
     1748#ifndef CERTIN         
    16651749                if (access(ROOT_CERT, F_OK) == 0 && access(ROOT_CERT, F_OK) == 0 && access(ROOT_CERT, F_OK) == 0)
     1750#else
     1751                if (access("/mnt/swapextensions/etc/pem/dummy", F_OK) == 0 )
     1752#endif
    16661753                        status.certok = 1;
    16671754                status.certchecked = 1;
Note: See TracChangeset for help on using the changeset viewer.