Ignore:
Timestamp:
Jul 7, 2012 5:42:28 PM (12 years ago)
Author:
Ted Faber <faber@…>
Branches:
compt_changes, master
Children:
7718539
Parents:
cd5b279 (diff), d064566 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of tardis.deterlab.net:/var/local/git/fedd

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/federation/proof.py

    rd064566 re062282  
    33
    44import ABAC
     5import Creddy
    56import sys
    67import os, os.path
     
    910from base64 import b64encode, b64decode
    1011from xml.parsers.expat import ParserCreate
     12from tempfile import mkdtemp
     13from shutil import rmtree
    1114
    1215class proof:
     
    2932        ids = set([c.issuer_cert() for c in self.creds])
    3033        attrs = set([c.attribute_cert() for c in self.creds])
    31         return list(ids) + list(attrs)
     34        out_ids = []
     35        d = mkdtemp()
     36        for i, c in enumerate(ids):
     37            try:
     38                der_name = os.path.join(d, 'file%04d.der' % i)
     39                pem_name = os.path.join(d, 'file%04d.pem' % i)
     40                f = open(der_name, 'w')
     41                f.write(c)
     42                f.close()
     43
     44                cid = Creddy.ID(der_name)
     45
     46                tf = open(pem_name, 'w')
     47                cid.write_cert(tf)
     48                tf.close()
     49                tf = open(pem_name, 'r')
     50                out_ids.append(tf.read())
     51                tf.close()
     52            except EnvironmentError, e:
     53                print "Certs to creds Error: %s" % e
     54                pass
     55        rmtree(d)
     56
     57        return out_ids + list(attrs)
    3258
    3359    def __str__(self):
Note: See TracChangeset for help on using the changeset viewer.