def get_jids(self):
result = []<EOL>if ("<STR_LIT>" in self.alt_names or "<STR_LIT>" in self.alt_names<EOL>or "<STR_LIT>" in self.alt_names):<EOL><INDENT>addrs =  self.alt_names.get("<STR_LIT>", [])<EOL>addrs += [ addr for addr in self.alt_names.get("<STR_LIT>", [])<EOL>if not addr.startswith("<STR_LIT>") ]<EOL>addrs += [ addr.split("<STR_LIT:.>", <NUM_LIT:1>)[<NUM_LIT:1>] for addr<EOL>in self.alt_names.get("<STR_LIT>", [])<EOL>if (addr.startswith("<STR_LIT>")<EOL>or addr.startswith("<STR_LIT>"))]<EOL>warn_bad = True<EOL><DEDENT>elif self.common_names:<EOL><INDENT>addrs = [addr for addr in self.common_names<EOL>if "<STR_LIT:@>" not in addr and "<STR_LIT:/>" not in addr]<EOL>warn_bad = False<EOL><DEDENT>else:<EOL><INDENT>return []<EOL><DEDENT>for addr in addrs:<EOL><INDENT>try:<EOL><INDENT>jid = JID(addr)<EOL>if jid not in result:<EOL><INDENT>result.append(jid)<EOL><DEDENT><DEDENT>except JIDError as err:<EOL><INDENT>if warn_bad:<EOL><INDENT>logger.warning("<STR_LIT>"<EOL>.format(addr, err))<EOL><DEDENT><DEDENT><DEDENT>return result<EOL>
Return JIDs for which this certificate is valid (except the domain
        wildcards).

        :Returtype: `list` of `JID`