예제 #1
0
    def execute(self):
        text, binary = self._readFileTextAndBinary(self.argRemainder[0])
        fileType     = None

        try:
            if text:
                decoder = PEMDecoder(text)
                if decoder.containsEncoded("TACK PRIVATE KEY"):
                    fileType = "Private Key"
                    kf       = TackKeyFile.createFromPem(text, None)
                    sys.stdout.write(str(kf))
                    return
                elif decoder.containsEncoded("TACK"):
                    fileType = "Tack"
                    tack     = Tack.createFromPem(text)
                    sys.stdout.write(str(tack))
                    return
                elif decoder.containsEncoded("TACK EXTENSION"):
                    fileType = "TACK Extension"
                    tackExt = TackExtension.createFromPem(text, True)
                    sys.stdout.write(str(tackExt))
                    return
                elif decoder.containsEncoded( "CERTIFICATE"):
                    fileType = "Certificate"
                    sslc = TlsCertificate.createFromPem(text)
                    sys.stdout.write(str(sslc))
                    return
                    # Is it a certificate?
            try:
                sslc = TlsCertificate(binary)
                sys.stdout.write(str(sslc))
            except SyntaxError:
                self.printError("Unrecognized file type")
        except SyntaxError as e:
            self.printError("Error parsing %s: %s" % (fileType, e))
예제 #2
0
 def getTackExtension(self, extenderFormat=False):
     fileName = self.argRemainder[0]
     try:
         contents = open(fileName, "r").read()
         return TackExtension.createFromPem(contents, extenderFormat)
     except IOError as e:
         self.printError("Error opening extension: %s\n%s" % (fileName, e))
     except SyntaxError as e:
         self.printError("Error parsing extension: %s\n%s" % (fileName, e))
예제 #3
0
 def getTackExtension(self, mandatory):
     fileName = self._getOptionValue("-E")
     if fileName is None:
         if mandatory:
             self.printError("-E missing (TACK Extension)")
         else:
             return None
     try:
         contents = open(fileName, "r").read()
         return TackExtension.createFromPem(contents)
     except IOError:
         self.printError("Error opening extension: %s" % fileName)
     except SyntaxError:
         self.printError("Error parsing extension: %s" % fileName)