fedmsg-0.7.1/0000755000175000017500000000000012221366312014676 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/PKG-INFO0000644000175000017500000000213612221366312015775 0ustar threebeanthreebean00000000000000Metadata-Version: 1.0 Name: fedmsg Version: 0.7.1 Summary: Fedora Messaging Client API Home-page: http://github.com/fedora-infra/fedmsg/ Author: Ralph Bean Author-email: rbean@redhat.com License: LGPLv2+ Description: Utilities used around Fedora Infrastructure to send and receive messages. Please see ``doc/`` or http://fedmsg.rtfd.org for more info. Build Status ------------ .. |master| image:: https://secure.travis-ci.org/fedora-infra/fedmsg.png?branch=master :alt: Build Status - master branch :target: http://travis-ci.org/#!/fedora-infra/fedmsg .. |develop| image:: https://secure.travis-ci.org/fedora-infra/fedmsg.png?branch=develop :alt: Build Status - develop branch :target: http://travis-ci.org/#!/fedora-infra/fedmsg +----------+-----------+ | Branch | Status | +==========+===========+ | master | |master| | +----------+-----------+ | develop | |develop| | +----------+-----------+ Platform: UNKNOWN fedmsg-0.7.1/logrotate0000644000175000017500000000016412207656441016633 0ustar threebeanthreebean00000000000000/var/log/fedmsg/*.log { weekly missingok compress delaycompress copytruncate minsize 100k } fedmsg-0.7.1/README.rst0000644000175000017500000000143512207656441016401 0ustar threebeanthreebean00000000000000fedmsg -- Fedora Messaging Client API ===================================== .. split here Utilities used around Fedora Infrastructure to send and receive messages. Please see ``doc/`` or http://fedmsg.rtfd.org for more info. Build Status ------------ .. |master| image:: https://secure.travis-ci.org/fedora-infra/fedmsg.png?branch=master :alt: Build Status - master branch :target: http://travis-ci.org/#!/fedora-infra/fedmsg .. |develop| image:: https://secure.travis-ci.org/fedora-infra/fedmsg.png?branch=develop :alt: Build Status - develop branch :target: http://travis-ci.org/#!/fedora-infra/fedmsg +----------+-----------+ | Branch | Status | +==========+===========+ | master | |master| | +----------+-----------+ | develop | |develop| | +----------+-----------+ fedmsg-0.7.1/setup.cfg0000644000175000017500000000013512221366312016516 0ustar threebeanthreebean00000000000000[nosetests] where = fedmsg/tests [egg_info] tag_build = tag_date = 0 tag_svn_revision = 0 fedmsg-0.7.1/fedmsg.d/0000755000175000017500000000000012221366312016365 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg.d/relay.py0000644000175000017500000000274112207656441020070 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # config = dict( endpoints={ # This is the output side of the relay to which all other # services can listen. "relay_outbound": [ "tcp://127.0.0.1:4001", ], }, # This is the address of an active->passive relay. It is used for the # fedmsg-logger command which requires another service with a stable # listening address for it to send messages to. # It is also used by the git-hook, for the same reason. # It is also used by the mediawiki php plugin which, due to the oddities of # php, can't maintain a single passive-bind endpoint of it's own. relay_inbound=[ "tcp://127.0.0.1:2003", ], ) fedmsg-0.7.1/fedmsg.d/ircbot.py0000644000175000017500000000305712212110512020213 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # config = dict( irc=[ dict( network='irc.freenode.net', port=6667, nickname='fedmsg-dev', channel='my-fedmsg-channel', timeout=120, make_pretty=True, make_terse=True, # Don't show the heartbeat... gross. filters=dict( topic=[], body=['lub-dub'], ), ), ], irc_color_lookup={ "fas": "light blue", "bodhi": "green", "git": "red", "tagger": "brown", "wiki": "purple", "logger": "orange", "pkgdb": "teal", "buildsys": "yellow", "planet": "light green", }, irc_method='notice', # Either 'msg' or 'notice' ) fedmsg-0.7.1/fedmsg.d/ssl.py0000644000175000017500000000443412212155216017544 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import os import socket SEP = os.path.sep here = os.getcwd() config = dict( sign_messages=False, validate_signatures=True, ssldir="/etc/pki/fedmsg", crl_location="https://fedoraproject.org/fedmsg/crl.pem", crl_cache="/var/run/fedmsg/crl.pem", crl_cache_expiry=10, ca_cert_location="https://fedoraproject.org/fedmsg/ca.crt", ca_cert_cache="/var/run/fedmsg/ca.crt", ca_cert_cache_expiry=0, # Never expires certnames={ # In prod/stg, map hostname to the name of the cert in ssldir. # Unfortunately, we can't use socket.getfqdn() #"app01.stg": "app01.stg.phx2.fedoraproject.org", }, # A mapping of fully qualified topics to a list of cert names for which # a valid signature is to be considered authorized. Messages on topics not # listed here are considered automatically authorized. routing_policy={ # Only allow announcements from production if they're signed by a # certain certificate. "org.fedoraproject.prod.announce.announcement": [ "announce-lockbox.phx2.fedoraproject.org", ], }, # Set this to True if you want messages to be dropped that aren't # explicitly whitelisted in the routing_policy. # When this is False, only messages that have a topic in the routing_policy # but whose cert names aren't in the associated list are dropped; messages # whose topics do not appear in the routing_policy are not dropped. routing_nitpicky=False, ) fedmsg-0.7.1/fedmsg.d/tweet.py0000644000175000017500000000160612207656441020103 0ustar threebeanthreebean00000000000000config = dict( tweet_intermessage_pause=1, # seconds tweet_hibernate_duration=60 * 3, # seconds tweet_endpoints=[ # Actually using twitter.com is unlikely due to their daily # tweet limit. #dict( # base_url="http://api.twitter.com", # consumer_key="get", # consumer_secret="these", # access_token_key="from", # access_token_secret="dev.twitter.com", #), # However, statusnet seems to be more permissive. dict( base_url="http://identi.ca/api", consumer_key="get this from", consumer_secret="http://identi.ca/", access_token_key="generate these with", access_token_secret="https://gist.github.com/4070630", ), ], bitly_settings=dict( api_user="get this from", api_key="http://bit.ly/" ), ) fedmsg-0.7.1/fedmsg.d/gateway.py0000644000175000017500000000047212207656441020414 0ustar threebeanthreebean00000000000000config = { # This is the port for a special, outbound ZMQ pub socket on which we'll # rebroadcast everything on the fedmsg bus. 'fedmsg.consumers.gateway.port': 9940, # Set this number to near, but not quite the fs.file-limit. Try 160000. 'fedmsg.consumers.gateway.high_water_mark': 10000, } fedmsg-0.7.1/fedmsg.d/logging.py0000644000175000017500000000162512212110512020356 0ustar threebeanthreebean00000000000000# Setup fedmsg logging. # See the following for constraints on this format http://bit.ly/Xn1WDn config = dict( logging=dict( version=1, formatters=dict( bare={ "datefmt": "%Y-%m-%d %H:%M:%S", "format": "[%(asctime)s][%(name)10s %(levelname)7s] %(message)s" }, ), handlers=dict( console={ "class": "logging.StreamHandler", "formatter": "bare", "level": "INFO", "stream": "ext://sys.stdout", } ), loggers=dict( fedmsg={ "level": "INFO", "propagate": False, "handlers": ["console"], }, moksha={ "level": "INFO", "propagate": False, "handlers": ["console"], }, ), ), ) fedmsg-0.7.1/fedmsg.d/base.py0000644000175000017500000000364412212110512017645 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # config = dict( # Set this to dev if you're hacking on fedmsg or an app. # Set to stg or prod if running in the Fedora Infrastructure environment="dev", # Default is 0 high_water_mark=0, io_threads=1, ## For the fedmsg-hub and fedmsg-relay. ## # We almost always want the fedmsg-hub to be sending messages with zmq as # opposed to amqp or stomp. zmq_enabled=True, # When subscribing to messages, we want to allow splats ('*') so we tell # the hub to not be strict when comparing messages topics to subscription # topics. zmq_strict=False, # Number of seconds to sleep after initializing waiting for sockets to sync post_init_sleep=0.5, # Wait a whole second to kill all the last io threads for messages to # exit our outgoing queue (if we have any). This is in milliseconds. zmq_linger=1000, # See the following # - http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html # - http://api.zeromq.org/3-2:zmq-setsockopt zmq_tcp_keepalive=1, zmq_tcp_keepalive_cnt=3, zmq_tcp_keepalive_idle=60, zmq_tcp_keepalive_intvl=5, ) fedmsg-0.7.1/fedmsg.d/endpoints.py0000644000175000017500000000350112212155234020740 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import socket hostname = socket.gethostname().split('.', 1)[0] config = dict( # This is a dict of possible addresses from which fedmsg can send # messages. fedmsg.init(...) requires that a 'name' argument be passed # to it which corresponds with one of the keys in this dict. endpoints={ # These are here so your local box can listen to the upstream # infrastructure's bus. Cool, right? :) "fedora-infrastructure": [ "tcp://hub.fedoraproject.org:9940", #"tcp://stg.fedoraproject.org:9940", ], # For other, more 'normal' services, fedmsg will try to guess the # name of it's calling module to determine which endpoint definition # to use. This can be overridden by explicitly providing the name in # the initial call to fedmsg.init(...). #"bodhi.%s" % hostname: ["tcp://127.0.0.1:3001"], #"fas.%s" % hostname: ["tcp://127.0.0.1:3002"], #"fedoratagger.%s" % hostname: ["tcp://127.0.0.1:3003"], }, ) fedmsg-0.7.1/extras/0000755000175000017500000000000012221366312016204 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/extras/koji/0000755000175000017500000000000012221366312017140 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/extras/koji/fedmsg_koji.py0000644000175000017500000000441512207656441022010 0ustar threebeanthreebean00000000000000# Koji callback for sending notifications about events to the fedmsg messagebus # Copyright (c) 2009-2012 Red Hat, Inc. # # Authors: # Ralph Bean # Mike Bonnet from koji.plugin import callbacks from koji.plugin import callback from koji.plugin import ignore_error import fedmsg import kojihub import re # Talk to the fedmsg-relay fedmsg.init(name='relay_inbound', cert_prefix='koji', active=True) MAX_KEY_LENGTH = 255 def camel_to_dots(name): s1 = re.sub('(.)([A-Z][a-z]+)', r'\1.\2', name) return re.sub('([a-z0-9])([A-Z])', r'\1.\2', s1).lower() def get_message_body(topic, *args, **kws): msg = {} if topic == 'package.list.change': msg['tag'] = kws['tag']['name'] msg['package'] = kws['package']['name'] elif topic == 'task.state.change': msg['method'] = kws['info']['method'] msg['attribute'] = kws['attribute'] msg['old'] = kws['old'] msg['new'] = kws['new'] msg['owner'] = kojihub.get_user(kws['info']['owner'])['name'] msg['id'] = kws['info']['id'] elif topic == 'build.state.change': info = kws['info'] msg['name'] = info['name'] msg['version'] = info['version'] msg['release'] = info['release'] msg['attribute'] = kws['attribute'] msg['old'] = kws['old'] msg['new'] = kws['new'] elif topic == 'import': msg['type'] = kws['type'] elif topic in ('tag', 'untag'): msg['tag'] = kws['tag']['name'] build = kws['build'] msg['name'] = build['name'] msg['version'] = build['version'] msg['release'] = build['release'] msg['user'] = kws['user']['name'] elif topic == 'repo.init': msg['tag'] = kws['tag']['name'] elif topic == 'repo.done': msg['tag'] = kws['repo']['tag_name'] return msg # This callback gets run for every koji event that starts with "post" @callback(*[c for c in callbacks.keys() if c.startswith('post')]) @ignore_error def send_message(cbtype, *args, **kws): if cbtype.startswith('post'): msgtype = cbtype[4:] else: msgtype = cbtype[3:] topic = camel_to_dots(msgtype) body = get_message_body(topic, *args, **kws) fedmsg.publish(topic=topic, msg=body, modname='koji') fedmsg-0.7.1/extras/stress/0000755000175000017500000000000012221366312017527 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/extras/stress/mass-sub.py0000755000175000017500000000233412207656441021651 0ustar threebeanthreebean00000000000000#!/usr/bin/env python """ Subscribe to the public gateway N times. It echoes a command to watch a count of file descriptors. Run it. When its maxxed out, that's when its time to echo a message remotely. scp this to remote worker nodes and launch them all at the same time with "./master.sh" """ import sys import os import time import zmq import socket import threading # this is dumb! N = 63 prefix = '[' + socket.gethostname().center(15) + ']' ctx = zmq.Context() start = time.time() class ThreadedJob(threading.Thread): def run(self): self.ctx = ctx self.s = self.ctx.socket(zmq.SUB) connect_to = "tcp://hub.fedoraproject.org:9940" self.s.connect(connect_to) self.s.setsockopt(zmq.SUBSCRIBE, '') topic, msg = self.s.recv_multipart() sys.stdout.flush() threads = [ThreadedJob() for i in range(N)] for thread in threads: thread.start() pid = os.getpid() print prefix, "Checking pid", pid target = 200 length = 0 while length <= target: length = len(os.listdir("/proc/%i/fd/" % os.getpid())) print prefix, length, "is less than", target time.sleep(1) print prefix, "ready to receive..." for thread in threads: thread.join() print prefix, "Done." fedmsg-0.7.1/extras/stress/launcher.sh0000755000175000017500000000035512207656441021703 0ustar threebeanthreebean00000000000000#!/bin/bash # Just an intermediary script to make invocation from xargs easier. echo "SSHing to $1" ssh -tt $1 "bash -c 'source ~/fedmsg/bin/activate; (echo 1;echo 2;echo 3;echo 4;echo 5;echo 6;echo 7) | xargs -rP8 -L1 ./mass-sub.py'" fedmsg-0.7.1/extras/stress/master.sh0000755000175000017500000000054612207656441021377 0ustar threebeanthreebean00000000000000#!/bin/bash # scp the 'mass-sub' script to worker nodes before running this. # When you run this, wait until all the worker nodes stop counting their file # descriptors and report "ready to receive" # The max number of ssh connections to launch in parallel N=50 # Do it. ( echo host1; echo host2; echo host3; ) | xargs -rP$N -L1 ./launcher.sh fedmsg-0.7.1/extras/git-hooks/0000755000175000017500000000000012221366312020110 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/extras/git-hooks/README.rst0000644000175000017500000000021012207656441021601 0ustar threebeanthreebean00000000000000fedmsg/git-hooks ================ These hooks are to be copied to repo locations so that events on the repos are broadcast to the bus. fedmsg-0.7.1/extras/git-hooks/post-receive0000755000175000017500000000314112216715076022453 0ustar threebeanthreebean00000000000000#!/usr/bin/env python import getpass import git import itertools import os import sys import fedmsg import fedmsg.config # Read in all the rev information git-receive-pack hands us. lines = [line.split() for line in sys.stdin.readlines()] # Use $GIT_DIR to determine where this repo is. abspath = os.path.abspath(os.environ['GIT_DIR']) repo_name = '.'.join(abspath.split(os.path.sep)[-1].split('.')[:-1]) username = getpass.getuser() repo = git.repo.Repo(abspath) def _build_commit(rev): old, new, branch = rev branch = '/'.join(branch.split('/')[2:]) commits = repo.iter_commits('{0}..{1}'.format(old, new)) return [dict( name=commit.author.name, email=commit.author.email, username=username, summary=commit.summary, message=commit.message, stats=dict( files=commit.stats.files, total=commit.stats.total, ), rev=rev, path=abspath, repo=repo_name, branch=branch, agent=os.getlogin(), ) for commit in commits if not isinstance(commit, git.TagObject)] commits = map(_build_commit, lines) print "Emitting a message to the fedmsg bus." config = fedmsg.config.load_config([], None) config['active'] = True config['endpoints']['relay_inbound'] = config['relay_inbound'] fedmsg.init(name='relay_inbound', cert_prefix='scm', **config) for commit in itertools.chain(*commits): if commit is None: continue fedmsg.publish( # Expect this to change to just "receive" in the future. topic="receive", msg=dict(commit=commit), modname="git", ) fedmsg-0.7.1/extras/collectd/0000755000175000017500000000000012221366312017775 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/extras/collectd/collection.conf0000644000175000017500000004252312212110512022772 0ustar threebeanthreebean00000000000000DataDir "/var/lib/collectd/rrd" GraphWidth 400 #UnixSockAddr "/var/run/collectd-unixsock" DataSources count DSName "count Bytes/s" RRDTitle "Apache Traffic" RRDVerticalLabel "Bytes/s" RRDFormat "%5.1lf%s" Color count 0000ff DataSources count DSName "count Requests/s" RRDTitle "Apache Traffic" RRDVerticalLabel "Requests/s" RRDFormat "%5.2lf" Color count 00d000 Module GenericStacked DataSources count RRDTitle "Apache scoreboard on {hostname}" RRDVerticalLabel "Slots" RRDFormat "%6.2lf" DSName closing Closing DSName dnslookup DNS lookup DSName finishing Finishing DSName idle_cleanup Idle cleanup DSName keepalive Keep alive DSName logging Logging DSName open Open (empty) DSName reading Reading DSName sending Sending DSName starting Starting DSName waiting Waiting Order open closing dnslookup finishing idle_cleanup keepalive logging open reading sending starting waiting Color closing 000080 Color dnslookup ff0000 Color finishing 008080 Color idle_cleanup ffff00 Color keepalive 0080ff Color logging a000a0 Color open e0e0e0 Color reading 0000ff Color sending 00e000 Color starting ff00ff Color waiting ffb000 Module ArcCounts RRDTitle "ARC {type_instance} on {hostname}" # RRDOptions ... Module GenericIO DataSources read write DSName "read Read " DSName "write Written" RRDTitle "L2ARC traffic" RRDVerticalLabel "Bytes per second" # RRDOptions ... RRDFormat "%5.1lf%s" RRDTitle "L2ARC size on {hostname}" RRDVerticalLabel "Size" RRDFormat "%4.0lf%s" RRDOptions -b 1024 DSName "value Current size" Color value 00e000 DataSources "current target minlimit maxlimit" RRDTitle "ARC size on {hostname}" RRDVerticalLabel "Size" RRDFormat "%4.0lf%s" RRDOptions -b 1024 DSName "current Current size" DSName "target Target size " DSName "maxlimit Max size " DSName "minlimit Min size " Color current 00e000 Color target 0000ff Color minlimit ff0000 Color maxlimit ff00ff DataSources value RRDTitle "{type_instance}ARC ratio on {hostname}" RRDVerticalLabel "Ratio" RRDFormat "%4.1lf" RRDOptions -l 0 DSName "value Hit ratio" DataSources value DSName value Percent RRDTitle "Cache hit ratio for {plugin_instance} {type_instance}" RRDVerticalLabel "Percent" RRDFormat "%5.1lf %%" Module GenericStacked DataSources value RRDTitle "CPU {plugin_instance} usage" RRDVerticalLabel "Jiffies" RRDFormat "%5.2lf" DSName idle Idle DSName nice Nice DSName user User DSName wait Wait-IO DSName system System DSName softirq SoftIRQ DSName interrupt IRQ DSName steal Steal Order idle nice user wait system softirq interrupt steal Color idle e8e8e8 Color nice 00e000 Color user 0000ff Color wait ffb000 Color system ff0000 Color softirq ff00ff Color interrupt a000a0 Color steal 000000 DataSources value DSName value Current RRDTitle "Current ({type_instance})" RRDVerticalLabel "Ampere" RRDFormat "%4.1lfA" Color value ffb000 Module Df DataSources free used Module GenericStacked DataSources value RRDTitle "disk usage on {plugin_instance}" RRDVerticalLabel "Byte" RRDFormat "%6.2lf%s" DSName "snap_used used for snapshots" DSName "snap_reserved snapshot reserve " DSName "used in use " DSName "free free " DSName "sis_saved sis_saved " Order free snap_used snap_reserved sis_saved used Color snap_reverse ff8000 Color used ff0000 Color snap_used 000080 Color snap_reserved ff8000 Color free 00ff00 Color sis_saved 00e0e0 Module GenericIO DataSources read write DSName "read Read " DSName write Write RRDTitle "Disk Latency for {plugin_instance}" RRDVerticalLabel "seconds" Scale 0.000001 RRDFormat "%5.1lf %ss" Module GenericIO DataSources read write DSName "read Read " DSName write Written RRDTitle "Disk Traffic ({instance})" RRDVerticalLabel "Bytes per second" # RRDOptions ... RRDFormat "%5.1lf%s" Module GenericIO DataSources read write DSName "read Read " DSName write Written RRDTitle "Disk Operations ({instance})" RRDVerticalLabel "Operations per second" # RRDOptions ... RRDFormat "%5.1lf" Module GenericStacked DataSources value RRDTitle "Netapp disc ops on {plugin_instance}" RRDVerticalLabel "Ops" RRDFormat "%6.2lf" DSName fcp_ops FCP-Ops DSName nfs_ops NFS-Ops DSName http_ops HTTP-Ops DSName cifs_ops CIFS-Ops DSName dafs_ops DAFS-Ops DSName iscsi_ops iSCSI-Ops Order fcp_ops nfs_ops http_ops cifs_ops dafs_ops iscsi_ops Color fcp_ops 000080 Color nfs_ops ff0000 Color http_ops ffb000 Color cifs_ops 00e0a0 Color dafs_ops 00e000 Color iscsi_ops 00e0ff Module GenericIO DataSources read write DSName "read Read " DSName write Written RRDTitle "Disk Merged Operations ({instance})" RRDVerticalLabel "Merged operations/s" # RRDOptions ... RRDFormat "%5.1lf" Module GenericIO DataSources read write DSName "read Read " DSName write Written RRDTitle "Disk time per operation ({instance})" RRDVerticalLabel "Avg. Time/Op" # RRDOptions ... RRDFormat "%5.1lf%ss" Scale 0.001 DataSources value DSName "value Queries/s" RRDTitle "DNS Opcode {type_instance}" RRDVerticalLabel "Queries/s" RRDFormat "%6.1lf" DataSources conntrack DSName conntrack Conntrack count RRDTitle "nf_conntrack connections on {hostname}" RRDVerticalLabel "Count" RRDFormat "%4.0lf" DataSources entropy DSName entropy Entropy bits RRDTitle "Available entropy on {hostname}" RRDVerticalLabel "Bits" RRDFormat "%4.0lf" DataSources value DSName value RPM RRDTitle "Fanspeed ({instance})" RRDVerticalLabel "RPM" RRDFormat "%6.1lf" Color value 00b000 DataSources frequency DSName frequency Frequency RRDTitle "Frequency ({type_instance})" RRDVerticalLabel "Hertz" RRDFormat "%4.1lfHz" Color frequency a000a0 DataSources value DSName value Humitidy RRDTitle "Humitidy ({instance})" RRDVerticalLabel "Percent" RRDFormat "%4.1lf%%" Color value 00e000 Module GenericIO DataSources rx tx DSName rx RX DSName tx TX RRDTitle "Interface Errors ({type_instance})" RRDVerticalLabel "Errors per second" # RRDOptions ... RRDFormat "%.3lf" Module GenericStacked DataSources value RRDTitle "Interface receive errors ({plugin_instance})" RRDVerticalLabel "Erorrs/s" RRDFormat "%.1lf" Color length f00000 Color over 00e0ff Color crc 00e000 Color frame ffb000 Color fifo f000c0 Color missed 0000f0 Module GenericStacked DataSources value RRDTitle "Interface transmit errors ({plugin_instance})" RRDVerticalLabel "Erorrs/s" RRDFormat "%.1lf" Color aborted f00000 Color carrier 00e0ff Color fifo 00e000 Color heartbeat ffb000 Color window f000c0 Module GenericIO DataSources rx tx DSName rx RX DSName tx TX RRDTitle "Interface Traffic ({instance})" RRDVerticalLabel "Bits per second" # RRDOptions ... RRDFormat "%5.1lf%s" Scale 8 Module GenericIO DataSources rx tx DSName rx RX DSName tx TX RRDTitle "Interface Packets ({type_instance})" RRDVerticalLabel "Packets per second" # RRDOptions ... RRDFormat "%5.1lf%s" DataSources value DSName "value Invocations/s" RRDTitle "Invocations ({instance})" RRDVerticalLabel "Invocations/s" RRDFormat "%5.1lf" Module GenericIO DataSources rx tx DSName "rx Read " DSName "tx Written" RRDTitle "IO Traffic ({instance})" RRDVerticalLabel "Bytes per second" # RRDOptions ... RRDFormat "%5.1lf%s" DataSources value DSName value Bytes/s RRDTitle "Traffic ({type_instance})" RRDVerticalLabel "Bytes per second" # RRDOptions ... RRDFormat "%5.1lf%s" DataSources value DSName value Packets/s RRDTitle "Packets ({type_instance})" RRDVerticalLabel "Packets per second" # RRDOptions ... RRDFormat "%5.1lf" Module GenericStacked DataSources value RRDTitle "Interrupts on {hostname}" RRDVerticalLabel "IRQs/s" RRDFormat "%5.1lf" Module Load Module JavaMemory DataSources value Module GenericStacked DataSources value RRDTitle "Physical memory utilization on {hostname}" RRDVerticalLabel "Bytes" RRDFormat "%5.1lf%s" RRDOptions -b 1024 -l 0 DSName "free Free " DSName "cached Cached " DSName "buffered Buffered" DSName "locked Locked " DSName "used Used " #Order used buffered cached free Order free cached buffered used Color free 00e000 Color cached 0000ff Color buffered ffb000 Color locked ff00ff Color used ff0000 Module GenericStacked DataSources value RRDTitle "MySQL commands ({plugin_instance})" RRDVerticalLabel "Invocations" RRDFormat "%6.2lf" DSName admin_commands admin_commands DSName alter_table alter_table DSName begin begin DSName change_db change_db DSName check check DSName commit commit DSName create_db create_db DSName create_table create_table DSName delete delete DSName drop_db drop_db DSName drop_table drop_table DSName flush flush DSName grant grant DSName insert insert DSName insert_select insert_select DSName lock_tables lock_tables DSName optimize optimize DSName rename_table rename_table DSName replace replace DSName revoke revoke DSName select select DSName set_option set_option DSName show_create_table show_create_table DSName show_databases show_databases DSName show_fields show_fields DSName show_keys show_keys DSName show_master_status show_master_status DSName show_processlist show_processlist DSName show_slave_hosts show_slave_hosts DSName show_status show_status DSName show_tables show_tables DSName show_triggers show_triggers DSName show_variables show_variables DSName unlock_tables unlock_tables DSName update update DSName update_multi update_multi Order admin_commands alter_table begin change_db check commit create_db create_table delete drop_db drop_table flush grant insert insert_select lock_tables optimize rename_table replace revoke select set_option show_create_table show_databases show_fields show_keys show_master_status show_processlist show_slave_hosts show_status show_tables show_triggers show_variables unlock_tables update update_multi Color admin_commands ff0000 Color alter_table ff002a Color begin ff0055 Color change_db ff007f Color check ff00aa Color commit ff00d4 Color create_db ff00ff Color create_table d400ff Color delete aa00ff Color drop_db 7f00ff Color drop_table 5400ff Color flush 2a00ff Color grant 0000ff Color insert 002aff Color insert_select 0055ff Color lock_tables 007fff Color optimize 00a9ff Color rename_table 00d4ff Color replace 00ffff Color revoke 00ffd4 Color select 00ffa9 Color set_option 00ff7f Color show_create_table 00ff55 Color show_databases 00ff2a Color show_fields 00ff00 Color show_keys 2aff00 Color show_master_status 54ff00 Color show_processlist 7fff00 Color show_slave_hosts aaff00 Color show_status d4ff00 Color show_tables ffff00 Color show_triggers ffd400 Color show_variables ffaa00 Color unlock_tables ff7f00 Color update ff5400 Color update_multi ff2a00 Module GenericStacked DataSources value RRDTitle "MySQL handler ({plugin_instance})" RRDVerticalLabel "Invocations" RRDFormat "%6.2lf" DSName commit commit DSName delete delete DSName read_first read_first DSName read_key read_key DSName read_next read_next DSName read_prev read_prev DSName read_rnd read_rnd DSName read_rnd_next read_rnd_next DSName update update DSName write write Order commit delete read_first read_key read_next read_prev read_rnd read_rnd_next update write Color commit ff0000 Color delete ff0099 Color read_first cc00ff Color read_key 3200ff Color read_next 0065ff Color read_prev 00ffff Color read_rnd 00ff65 Color read_rnd_next 33ff00 Color update cbff00 Color write ff9800 Module GenericIO DataSources rx tx DSName rx RX DSName tx TX RRDTitle "MySQL Traffic ({plugin_instance})" RRDVerticalLabel "Bits per second" RRDFormat "%5.1lf%s" Scale 8 DataSources percent DSName percent Percent RRDTitle "Percent ({type_instance})" RRDVerticalLabel "Percent" RRDFormat "%4.1lf%%" Color percent 0000ff DataSources ping DSName "ping Latency" RRDTitle "Network latency ({type_instance})" RRDVerticalLabel "Milliseconds" RRDFormat "%5.2lfms" DataSources value DSName value Watts RRDTitle "Power ({type_instance})" RRDVerticalLabel "Watts" RRDFormat "%6.2lf%sW" Color value 008080 Module PsCputime DataSources value DSName value RSS RRDTitle "Resident Segment Size ({instance})" RRDVerticalLabel "Bytes" RRDFormat "%6.2lf%s" Module GenericStacked DataSources value RRDTitle "Processes on {hostname}" RRDVerticalLabel "Processes" RRDFormat "%5.1lf" DSName running Running DSName sleeping Sleeping DSName paging Paging DSName zombies Zombies DSName blocked Blocked DSName stopped Stopped Order paging blocked zombies stopped running sleeping Color running 00e000 Color sleeping 0000ff Color paging ffb000 Color zombies ff0000 Color blocked ff00ff Color stopped a000a0 Module GenericStacked DataSources value RRDTitle "Swap utilization on {hostname}" RRDVerticalLabel "Bytes" RRDFormat "%5.1lf%s" RRDOptions -b 1024 -l 0 DSName "free Free " DSName "cached Cached " DSName "used Used " #Order used cached free Order free cached used Color free 00e000 Color cached 0000ff Color used ff0000 Module TableSize DataSources value DSName value Bytes RRDTitle "Table size ({instance})" RRDVerticalLabel "Size [Bytes]" # RRDOptions ... RRDFormat "%5.1lf%s" Module GenericStacked DataSources value RRDTitle "TCP connections ({plugin_instance})" RRDVerticalLabel "Connections" RRDFormat "%5.1lf" Order LISTEN CLOSING LAST_ACK CLOSE_WAIT CLOSE TIME_WAIT FIN_WAIT2 FIN_WAIT1 SYN_RECV SYN_SENT ESTABLISHED CLOSED Color ESTABLISHED 00e000 Color SYN_SENT 00e0ff Color SYN_RECV 00e0a0 Color FIN_WAIT1 f000f0 Color FIN_WAIT2 f000a0 Color TIME_WAIT ffb000 Color CLOSE 0000f0 Color CLOSE_WAIT 0000a0 Color LAST_ACK 000080 Color LISTEN ff0000 Color CLOSING 000000 Color CLOSED 0000f0 DataSources value DSName value Temp RRDTitle "Temperature ({instance})" RRDVerticalLabel "°Celsius" RRDFormat "%4.1lf°C" DataSources value DSName "value Threads" RRDTitle "Threads ({instance})" RRDVerticalLabel "Threads" RRDFormat "%5.2lf" DataSources value DSName "value Requests/s" RRDTitle "Requests ({instance})" RRDVerticalLabel "Requests/s" RRDFormat "%6.2lf" DataSources value DSName "value Time" RRDTitle "Time {instance}" RRDVerticalLabel "Seconds" RRDFormat "%6.2lf %ss" Scale 0.001 DataSources users DSName users Users RRDTitle "Users ({type_instance}) on {hostname}" RRDVerticalLabel "Users" RRDFormat "%.1lf" Color users 0000f0 DataSources value DSName value Volts RRDTitle "Voltage ({type_instance})" RRDVerticalLabel "Volts" RRDFormat "%4.1lfV" Color value f00000 Module Wirkleistung DataSources kWh DSName value Wh RRDTitle "Watt" RRDVerticalLabel "W" RRDFormat "%4.1lfW" # This is added for fedmsg Module GenericStacked DataSources count RRDTitle "fedmsg messages on {hostname}" RRDVerticalLabel "Messages" DSName wiki Wiki DSName compose Compose DSName meetbot MeetBot DSName fas FAS DSName bodhi Bodhi DSName git git DSName fedoratagger Tagger DSName unhandled Other DSName logger fedmsg-logger Order wiki compose meetbot fas bodhi git fedoratagger unhandled logger Color git ff0000 Color wiki 00ff00 Color bodhi 0000ff Color meetbot ffff00 Color fas ff00ff Color logger 00ffff Color fedoratagger 000000 Color compose ff0000 Color unhandled 00ff00 # vim: set sw=2 sts=2 et syntax=apache fileencoding=utf-8 : fedmsg-0.7.1/extras/collectd/fedmsg.conf0000644000175000017500000000016012212110512022073 0ustar threebeanthreebean00000000000000LoadPlugin exec Exec "fedmsg" "/usr/bin/fedmsg-collectd" "--collectd-interval" "10" fedmsg-0.7.1/extras/collectd/fedmsg-types.db0000644000175000017500000000004612212110512022700 0ustar threebeanthreebean00000000000000fedmsg_wallboard count:ABSOLUTE:0:U fedmsg-0.7.1/extras/mediawiki/0000755000175000017500000000000012221366312020147 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/extras/mediawiki/fedmsg-emit.php0000644000175000017500000001606612213656177023106 0ustar threebeanthreebean00000000000000getSocket(ZMQ::SOCKET_PUB, "pub-a-dub-dub"); $queue->setSockOpt(ZMQ::SOCKOPT_LINGER, $config['zmq_linger']); if (is_array($config['relay_inbound'])) { // API for fedmsg >= 0.5.2 // TODO - be more robust here and if connecting to the first one fails, try // the next, and the next, and etc... $queue->connect($config['relay_inbound'][0]); } else { // API for fedmsg <= 0.5.1 $queue->connect($config['relay_inbound']); } return true; } # Register our hooks with mediawiki $wgHooks['ArticleSaveComplete'][] = 'article_save'; $wgHooks['UploadComplete'][] = 'upload_complete'; # This is a reimplementation of the python code in fedmsg/crypto.py # That file is authoritative. Changes there should be reflected here. function sign_message($message_obj) { global $config; # This is required so that the string we sign is identical in python and in # php. Ordereddict is used there; ksort here. ksort($message_obj); $message = json_encode($message_obj); # Step 0) - Find our cert. $fqdn = gethostname(); $tokens = explode('.', $fqdn); $hostname = $tokens[0]; $ssldir = $config['ssldir']; $certname = $config['certnames']['mediawiki.'.$hostname]; # Step 1) - Load and encode the X509 cert $cert_obj = openssl_x509_read(file_get_contents( $ssldir.'/'.$certname.".crt" )); $cert = ""; openssl_x509_export($cert_obj, $cert); $cert = base64_encode($cert); # Step 2) - Load and sign the jsonified message with the RSA private key $rsa_private = openssl_get_privatekey(file_get_contents( $ssldir.'/'.$certname.".key" )); $signature = ""; openssl_sign($message, $signature, $rsa_private); $signature = base64_encode($signature); # Step 3) - Stuff it back in the message and return $message_obj['signature'] = $signature; $message_obj['certificate'] = $cert; return $message_obj; } function emit_message($subtopic, $message) { global $config, $queue; # Re-implement some of the logc from fedmsg/core.py # We'll have to be careful to keep this up to date. $prefix = "org.fedoraproject." . $config['environment'] . ".wiki."; $topic = $prefix . $subtopic; $message_obj = array( "topic" => $topic, "msg" => $message, "timestamp" => round(time(), 3), # TODO -> we don't have a good way to increment this counter from php yet. "i" => 1, ); if (array_key_exists('sign_messages', $config) and to_bool($config['sign_messages'])) { $message_obj = sign_message($message_obj); } $envelope = json_encode($message_obj); $queue->send($topic, ZMQ::MODE_SNDMORE | ZMQ::MODE_NOBLOCK); $queue->send($envelope, ZMQ::MODE_NOBLOCK); } function article_save( &$article, &$user, $text, $summary, $minoredit, $watchthis, $sectionanchor, &$flags, $revision, &$status, $baseRevId ) { # If for some reason or another we can't create our socket, then bail. if (!initialize()) { return false; } $topic = "article.edit"; $title = $article->getTitle(); if ( $title->getNsText() ) { $titletext = $title->getNsText() . ":" . $title->getText(); } else { $titletext = $title->getText(); } if ( is_object($revision) ) { $url = $title->getFullURL('diff=prev&oldid=' . $revision->getId()); } else { $url = $title->getFullURL(); } # Just send on all the information we can... change the attr names to be # more pythonic in style, though. $msg = array( "title" => $titletext, "user" => $user->getName(), "summary" => $summary, "minor_edit" => $minoredit, "watch_this" => $watchthis, "section_anchor" => $sectionanchor, "revision" => $revision, "base_rev_id" => $baseRevId, "url" => $url, #"text" => $text, # We *could* send this, but it's a lot of spam. # TODO - flags? # TODO - status? ); emit_message($topic, $msg); return true; } function upload_complete(&$image) { # If for some reason or another we can't create our socket, then bail. if (!initialize()) { return false; } $topic = "upload.complete"; $msg = array( "file_exists" => $image->getLocalFile()->fileExists, // 1 or 0 "media_type" => $image->getLocalFile()->media_type, // examples: "AUDIO", "VIDEO", ... "mime" => $image->getLocalFile()->mime, // example: audio/mp3 "major_mime" => $image->getLocalFile()->major_mime, // e.g. audio "minor_mime" => $image->getLocalFile()->minor_mime, // e.g. mp3 "size" => $image->getLocalFile()->size, //in bytes, e.g. 2412586 "user_id" => $image->getLocalFile()->user, // int userId "user_text" => $image->getLocalFile()->user_text, // the username "description" => $image->getLocalFile()->description, "url" => $image->getLocalFile()->url, // gives the relavive url for direct access of the uploaded media "title" => $image->getLocalFile()->getTitle(), // gives a title object for the current media ); emit_message($topic, $msg); return true; } ?> fedmsg-0.7.1/scripts/0000755000175000017500000000000012221366312016365 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/scripts/fedmsg-config0000755000175000017500000000012512207656441021032 0ustar threebeanthreebean00000000000000#!/usr/bin/env python import fedmsg.commands.config fedmsg.commands.config.config() fedmsg-0.7.1/setup.py0000644000175000017500000001101412221366310016403 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # try: from setuptools import setup except ImportError: from ez_setup import use_setuptools use_setuptools() from setuptools import setup import sys f = open('README.rst') long_description = f.read().strip() long_description = long_description.split('split here', 1)[1] f.close() # Ridiculous as it may seem, we need to import multiprocessing and # logging here in order to get tests to pass smoothly on python 2.7. try: import multiprocessing import logging except Exception: pass install_requires = [ 'pyzmq', 'kitchen', 'moksha.hub>=1.2.0', 'requests', 'pygments', #'daemon', # These are "optional" for now to make installation from pypi easier. #'M2Crypto', #'m2ext', ] tests_require = [ 'nose', 'mock', 'sqlalchemy', # For the persistent-store test(s). 'six', # In the future, we'll use this across fedmsg proper for py3. ] if sys.version_info[0] == 2 and sys.version_info[1] <= 6: install_requires.extend([ 'argparse', 'ordereddict', 'logutils', ]) tests_require.extend([ 'unittest2', ]) setup( name='fedmsg', version='0.7.1', description="Fedora Messaging Client API", long_description=long_description, author='Ralph Bean', author_email='rbean@redhat.com', url='http://github.com/fedora-infra/fedmsg/', license='LGPLv2+', install_requires=install_requires, tests_require=tests_require, test_suite='nose.collector', packages=[ 'fedmsg', 'fedmsg.encoding', 'fedmsg.commands', 'fedmsg.consumers', # fedmsg.text is deprecated in favor of fedmsg.meta, but we'll leave it # around for backwards compatibility. It's a symlink, for now. 'fedmsg.text', 'fedmsg.meta', 'fedmsg.replay', 'fedmsg.tests', 'fedmsg.crypto' ], include_package_data=True, zip_safe=False, scripts=[ # This is separate from the other console scripts just for efficiency's # sake. It gets called over and over and over again by our mediawiki # plugin/mod_php. By making it *not* a setuptools console_script it # does a lot less IO work to stand up. # Before: # $ strace fedmsg-config 2>&1 | wc -l # 34843 # After: # $ strace fedmsg-config 2>&1 | wc -l # 13288 'scripts/fedmsg-config', ], entry_points={ 'console_scripts': [ "fedmsg-logger=fedmsg.commands.logger:logger", "fedmsg-tail=fedmsg.commands.tail:tail", "fedmsg-hub=fedmsg.commands.hub:hub", "fedmsg-relay=fedmsg.commands.relay:relay", "fedmsg-gateway=fedmsg.commands.gateway:gateway", #"fedmsg-config=fedmsg.commands.config:config", "fedmsg-irc=fedmsg.commands.ircbot:ircbot", "fedmsg-collectd=fedmsg.commands.collectd:collectd", "fedmsg-tweet=fedmsg.commands.tweet:tweet", "fedmsg-announce=fedmsg.commands.announce:announce", "fedmsg-trigger=fedmsg.commands.trigger:trigger", ], 'moksha.consumer': [ "fedmsg-dummy=fedmsg.consumers.dummy:DummyConsumer", "fedmsg-relay=fedmsg.consumers.relay:RelayConsumer", "fedmsg-gateway=fedmsg.consumers.gateway:GatewayConsumer", "fedmsg-ircbot=fedmsg.consumers.ircbot:IRCBotConsumer", "fedmsg-tweet=fedmsg.consumers.tweet:TweetBotConsumer", ], 'moksha.producer': [ ], # fedmsg core only provides one metadata provider. 'fedmsg.meta': [ "logger=fedmsg.meta.logger:LoggerProcessor", "announce=fedmsg.meta.announce:AnnounceProcessor", ], } ) fedmsg-0.7.1/fedmsg/0000755000175000017500000000000012221366312016143 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/meta/0000755000175000017500000000000012221366312017071 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/meta/announce.py0000644000175000017500000000246112207656441021265 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # from fedmsg.meta.base import BaseProcessor class AnnounceProcessor(BaseProcessor): __name__ = "announce" __description__ = "Official Fedora Announcements" __link__ = "http://fedoraproject.org/" __docs__ = "http://fedoraproject.org/" __obj__ = "Announcements" def subtitle(self, msg, **config): return msg['msg']['message'] def link(self, msg, **config): return msg['msg']['link'] def usernames(self, msg, **config): return set([msg['username']]) fedmsg-0.7.1/fedmsg/meta/logger.py0000644000175000017500000000317512212110512020715 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # from fedmsg.meta.base import BaseProcessor class LoggerProcessor(BaseProcessor): __name__ = "logger" __description__ = "miscellaneous Fedora Infrastructure shell scripts" __link__ = "http://fedoraproject.org/wiki/Infrastructure" __docs__ = "http://fedoraproject.org/wiki/Infrastructure" __obj__ = "System Logs" def subtitle(self, msg, **config): if 'logger.log' in msg['topic']: if 'log' in msg['msg']: return msg['msg']['log'] else: return self._("") else: raise NotImplementedError def usernames(self, msg, **config): if 'username' in msg: return set([msg['username']]) else: # *OLD* messages in datanommer's db don't have a username. return set() fedmsg-0.7.1/fedmsg/meta/__init__.py0000644000175000017500000001731612212110512021177 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # Luke Macken # """ :mod:`fedmsg.meta` handles the conversion of fedmsg messages (dict-like json objects) into internationalized human-readable strings: strings like ``"nirik voted on a tag in tagger"`` and ``"lmacken commented on a bodhi update."`` The intent is to use the module 1) in the ``fedmsg-irc`` bot and 2) in the gnome-shell desktop notification widget. The sky is the limit, though. The primary entry point is :func:`fedmsg.meta.msg2repr` which takes a dict and returns the string representation. Portions of that string are in turn produced by :func:`fedmsg.meta.msg2title`, :func:`fedmsg.meta.msg2subtitle`, and :func:`fedmsg.meta.msg2link`. Message processing is handled by a list of MessageProcessors (instances of :class:`fedmsg.meta.base.BaseProcessor`) which are discovered on a setuptools **entry-point**. Messages for which no MessageProcessor exists are handled gracefully. The original deployment of fedmsg in `Fedora Infrastructure` uses metadata providers/message processors from a plugin called `fedmsg_meta_fedora_infrastructure `_. If you'd like to add your own processors for your own deployment, you'll need to extend :class:`fedmsg.meta.base.BaseProcessor` and override the appropriate methods. If you package up your processor and expose it on the ``fedmsg.meta`` entry-point, your new class will need to be added to the :data:`fedmsg.meta.processors` list at runtime. End users can have multiple plugin sets installed simultaneously. """ # gettext is used for internationalization. I have tested that it can produce # the correct files, but I haven't submitted it to anyone for translation. import gettext t = gettext.translation('fedmsg', 'locale', fallback=True) _ = t.ugettext from fedmsg.meta.default import DefaultProcessor import pkg_resources import logging class ProcessorsNotInitialized(Exception): def __iter__(self): raise self __len__ = __iter__ processors = ProcessorsNotInitialized("You must first call " "fedmsg.meta.make_processors(**config)") def make_processors(**config): """ Initialize all of the text processors. You'll need to call this once before using any of the other functions in this module. >>> import fedmsg.config >>> import fedmsg.meta >>> config = fedmsg.config.load_config([], None) >>> fedmsg.meta.make_processors(**config) >>> text = fedmsg.meta.msg2repr(some_message_dict, **config) """ global processors processors = [] for processor in pkg_resources.iter_entry_points('fedmsg.meta'): try: processors.append(processor.load()(_, **config)) except Exception as e: log = logging.getLogger("fedmsg") log.warn("Failed to load %r processor." % processor.name) log.warn(str(e)) # This should always be last processors.append(DefaultProcessor(_, **config)) def msg2processor(msg, **config): """ For a given message return the text processor that can handle it. This will raise a :class:`fedmsg.meta.ProcessorsNotInitialized` exception if :func:`fedmsg.meta.make_processors` hasn't been called yet. """ for processor in processors: if processor.handle_msg(msg, **config) is not None: return processor else: return processors[-1] # DefaultProcessor def legacy_condition(cls): def _wrapper(f): def __wrapper(msg, legacy=False, **config): try: return f(msg, **config) except KeyError: if legacy: return cls() else: raise __wrapper.__doc__ = f.__doc__ __wrapper.__name__ = f.__name__ return __wrapper return _wrapper def with_processor(): def _wrapper(f): def __wrapper(msg, processor=None, **config): if not processor: processor = msg2processor(msg, **config) return f(msg, processor=processor, **config) __wrapper.__doc__ = f.__doc__ __wrapper.__name__ = f.__name__ return __wrapper return _wrapper @legacy_condition(unicode) @with_processor() def msg2repr(msg, processor, **config): """ Return a human-readable or "natural language" representation of a dict-like fedmsg message. Think of this as the 'top-most level' function in this module. """ fmt = u"{title} -- {subtitle} {link}" title = msg2title(msg, **config) subtitle = processor.subtitle(msg, **config) link = processor.link(msg, **config) return fmt.format(**locals()) @legacy_condition(unicode) @with_processor() def msg2title(msg, processor, **config): """ Return a 'title' or primary text associated with a message. """ return processor.title(msg, **config) @legacy_condition(unicode) @with_processor() def msg2subtitle(msg, processor, **config): """ Return a 'subtitle' or secondary text associated with a message. """ return processor.subtitle(msg, **config) @legacy_condition(unicode) @with_processor() def msg2link(msg, processor, **config): """ Return a URL associated with a message. """ return processor.link(msg, **config) @legacy_condition(unicode) @with_processor() def msg2icon(msg, processor, **config): """ Return a primary icon associated with a message. """ return processor.icon(msg, **config) @legacy_condition(unicode) @with_processor() def msg2secondary_icon(msg, processor, **config): """ Return a secondary icon associated with a message. """ return processor.secondary_icon(msg, **config) @legacy_condition(set) @with_processor() def msg2usernames(msg, processor=None, legacy=False, **config): """ Return a set of FAS usernames associated with a message. """ return processor.usernames(msg, **config) @legacy_condition(set) @with_processor() def msg2packages(msg, processor, **config): """ Return a set of package names associated with a message. """ return processor.packages(msg, **config) @legacy_condition(set) @with_processor() def msg2objects(msg, processor, **config): """ Return a set of objects associated with a message. "objects" here is the "objects" from english grammar.. meaning, the thing in the message upon which action is being done. The "subject" is the user and the "object" is the packages, or the wiki articles, or the blog posts. Where possible, use slash-delimited names for objects (as in wiki URLs). """ return processor.objects(msg, **config) @legacy_condition(dict) @with_processor() def msg2emails(msg, processor, **config): """ Return a dict mapping of usernames to email addresses. """ return processor.emails(msg, **config) @legacy_condition(dict) @with_processor() def msg2avatars(msg, processor, **config): """ Return a dict mapping of usernames to avatar URLs. """ return processor.avatars(msg, **config) fedmsg-0.7.1/fedmsg/meta/default.py0000644000175000017500000000215312207656441021101 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # from fedmsg.meta.base import BaseProcessor class DefaultProcessor(BaseProcessor): __name__ = "unhandled" __description__ = "fedmsg doesn't know how to handle this message" __link__ = "http://github.com/fedora-infra/fedmsg" __docs__ = "http://fedmsg.rtfd.org" __obj__ = "Everything Else" fedmsg-0.7.1/fedmsg/meta/base.py0000644000175000017500000001052112212110512020341 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # Luke Macken import re class BaseProcessor(object): """ Base Processor. Without being extended, this doesn't actually handle any messages. Processors require that an ``internationalization_callable`` be passed to them at instantiation. Internationalization is often done at import time, but we handle it at runtime so that a single process may translate fedmsg messages into multiple languages. Think: an IRC bot that runs #fedora-fedmsg, #fedora-fedmsg-es, #fedora-fedmsg-it. Or: a twitter bot that posts to multiple language-specific accounts. That feature is currently unused, but fedmsg.meta supports future internationalization (there may be bugs to work out). """ # These six properties must be overridden by child-classes. # They can be used by applications to give more context to messages. If # the BodhiProcessor can handle a message, then our caller's code can use # these attributes to say "btw, this message is from Bodhi, the Fedora # update system. It lives at https://admin.fedoraproject.org/updates/ # and you can read more about it at http://fedoraproject.org/wiki/Bodhi" __name__ = None __description__ = None __link__ = None __docs__ = None __obj__ = None __icon__ = None # An automatically generated regex to match messages for this processor __prefix__ = None def __init__(self, internationalization_callable, **config): self._ = internationalization_callable if not self.__name__: raise ValueError("Must declare a __name__") if not self.__description__: raise ValueError("Must declare a __description__") if not self.__link__: raise ValueError("Must declare a __link__") if not self.__docs__: raise ValueError("Must declare a __docs__") if not self.__obj__: raise ValueError("Must declare a __obj__") # Build a regular expression used to match message topics for us self.__prefix__ = re.compile('^%s\.(%s)\.?(.*)$' % ( config['topic_prefix_re'], self.__name__.lower())) def handle_msg(self, msg, **config): """ If we can handle the given message, return the remainder of the topic. """ match = self.__prefix__.match(msg['topic']) if match: return match.groups()[-1] def title(self, msg, **config): return '.'.join(msg['topic'].split('.')[3:]) def subtitle(self, msg, **config): """ Return a "subtitle" for the message. """ return "" def link(self, msg, **config): """ Return a "link" for the message. """ return "" def icon(self, msg, **config): """ Return a "icon" for the message. """ return self.__icon__ def secondary_icon(self, msg, **config): """ Return a "secondary icon" for the message. """ def usernames(self, msg, **config): """ Return a set of FAS usernames associated with a message. """ return set() def packages(self, msg, **config): """ Return a set of package names associated with a message. """ return set() def objects(self, msg, **config): """ Return a set of objects associated with a message. """ return set() def emails(self, msg, **config): """ Return a dict of emails associated with a message. """ return dict() def avatars(self, msg, **config): """ Return a dict of avatar URLs associated with a message. """ return dict() fedmsg-0.7.1/fedmsg/utils.py0000644000175000017500000000714712212110512017653 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import zmq import logging import inspect _log = logging.getLogger('fedmsg') def set_high_water_mark(socket, config): """ Set a high water mark on the zmq socket. Do so in a way that is cross-compatible with zeromq2 and zeromq3. """ if config['high_water_mark']: if hasattr(zmq, 'HWM'): # zeromq2 socket.setsockopt(zmq.HWM, config['high_water_mark']) else: # zeromq3 socket.setsockopt(zmq.SNDHWM, config['high_water_mark']) socket.setsockopt(zmq.RCVHWM, config['high_water_mark']) # TODO -- this should be in kitchen, not fedmsg def guess_calling_module(default=None): # Iterate up the call-stack and return the first new top-level module for frame in (f[0] for f in inspect.stack()): modname = frame.f_globals['__name__'].split('.')[0] if modname != "fedmsg": return modname # Otherwise, give up and just return the default. return default def set_tcp_keepalive(socket, config): """ Set a series of TCP keepalive options on the socket if and only if 1) they are specified explicitly in the config and 2) the version of pyzmq has been compiled with support We ran into a problem in FedoraInfrastructure where long-standing connections between some hosts would suddenly drop off the map silently. Because PUB/SUB sockets don't communicate regularly, nothing in the TCP stack would automatically try and fix the connection. With TCP_KEEPALIVE options (introduced in libzmq 3.2 and pyzmq 2.2.0.1) hopefully that will be fixed. See the following - http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html - http://api.zeromq.org/3-2:zmq-setsockopt """ keepalive_options = { # Map fedmsg config keys to zeromq socket constants 'zmq_tcp_keepalive': 'TCP_KEEPALIVE', 'zmq_tcp_keepalive_cnt': 'TCP_KEEPALIVE_CNT', 'zmq_tcp_keepalive_idle': 'TCP_KEEPALIVE_IDLE', 'zmq_tcp_keepalive_intvl': 'TCP_KEEPALIVE_INTVL', } for key, const in keepalive_options.items(): if key in config: attr = getattr(zmq, const, None) if attr: _log.debug("Setting %r %r" % (const, config[key])) socket.setsockopt(attr, config[key]) def load_class(location): """ Take a string of the form 'fedmsg.consumers.ircbot:IRCBotConsumer' and return the IRCBotConsumer class. """ mod_name, cls_name = location = location.strip().split(':') tokens = mod_name.split('.') fromlist = '[]' if tokens > 1: fromlist='.'.join(tokens[:-1]) module = __import__(mod_name, fromlist=fromlist) try: return getattr(module, cls_name) except AttributeError as e: raise ImportError("%r not found in %r" % (cls_name, mod_name)) fedmsg-0.7.1/fedmsg/replay/0000755000175000017500000000000012221366312017437 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/replay/__init__.py0000644000175000017500000001136412212110512021542 0ustar threebeanthreebean00000000000000# This file is part of fedmsg # Copyright (C) 2013 Simon Chopin # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Simon Chopin # import fedmsg.encoding import fedmsg.utils import socket import zmq class ReplayContext(object): def __init__(self, **config): ''' This will initiate a Context that just waits for clients to connect and proxies their queries to the store and back. To start the listening, use the listen() method. ''' self.config = config # No point of a replay context without message store if not config.get('persistent_store', None): raise ValueError("No valid persistent_store config value found.") self.store = config['persistent_store'] self.hostname = socket.gethostname().split('.', 1)[0] if not config.get("name", None): # Try to guess an appropriate name # It is however probably better if the name is explicitly defined. module_name = fedmsg.utils.guess_calling_module(default="fedmsg") config["name"] = module_name + '.' + self.hostname self.context = zmq.Context(config['io_threads']) self.publisher = self.context.socket(zmq.REP) # If there's a Key error, let if fail. endpoint = "tcp://*:{port}".format( port=config['replay_endpoints'][config['name']].rsplit(':')[-1] ) try: self.publisher.bind(endpoint) fedmsg.utils.set_high_water_mark(self.publisher, self.config) fedmsg.utils.set_tcp_keepalive(self.publisher, self.config) except zmq.ZMQError: raise IOError("The replay endpoint cannot be bound.") # Put this in a separate method to ease testing. def _req_rep_cycle(self): res = self.publisher.poll(1000) if res > 0: query = fedmsg.encoding.loads(self.publisher.recv()) try: self.publisher.send_multipart([ fedmsg.encoding.dumps(m) for m in self.store.get(query) ]) except ValueError as e: self.publisher.send("error: '{0}'".format(e.message)) def listen(self): try: while True: self._req_rep_cycle() finally: self.publisher.close() def get_replay(name, query, config, context=None): endpoint = config.get('replay_endpoints', {}).get(name, None) if not endpoint: raise IOError("No appropriate replay endpoint " "found for {0}".format(name)) if not context: context = zmq.Context(config['io_threads']) # A replay endpoint isn't PUB/SUB but REQ/REP, as it allows # for bidirectional communication socket = context.socket(zmq.REQ) try: socket.connect(endpoint) except zmq.ZMQError as e: raise IOError("Error when connecting to the " "replay endpoint: '{0}'".format(str(e))) # REQ/REP dance socket.send(fedmsg.encoding.dumps(query)) msgs = socket.recv_multipart() socket.close() for m in msgs: try: yield fedmsg.encoding.loads(m) except ValueError: # We assume that if it isn't JSON then it's an error message raise ValueError(m) def check_for_replay(name, names_to_seq_id, msg, config, context=None): prev_seq_id = names_to_seq_id.get(name, None) cur_seq_id = msg.get("seq_id", None) if prev_seq_id is None or cur_seq_id is None: return [msg] if cur_seq_id <= prev_seq_id: # Might have been delayed by network lag or something, in which case # we assume the replay has already been asked for and we dismiss it return [] if cur_seq_id == prev_seq_id+1 or prev_seq_id < 0: ret = [msg] else: ret = list(get_replay(name, { "seq_id_range": (prev_seq_id, cur_seq_id) }, config, context)) if len(ret) == 0 or ret[-1]['seq_id'] < msg['seq_id']: ret.append(msg) names_to_seq_id[name] = cur_seq_id return ret fedmsg-0.7.1/fedmsg/replay/sqlstore.py0000644000175000017500000000740512212110512021660 0ustar threebeanthreebean00000000000000# This file is part of fedmsg # Copyright (C) 2013 Simon Chopin # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Simon Chopin # from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() from sqlalchemy import Column, Integer, String, Text, DateTime, or_ from sqlalchemy.orm import sessionmaker from datetime import datetime import json class SqlMessage(Base): # This should probably be customizeable? __tablename__ = "fedmsg_messages" seq_id = Column(Integer, primary_key=True) uuid = Column(String(36)) topic = Column(String) timestamp = Column(DateTime) # The raw message, including the metadata (signature, topic, etc) msg = Column(Text) class SqlStore(object): def __init__(self, engine): self.engine = engine self.session_class = sessionmaker(bind=engine) Base.metadata.create_all(engine) def add(self, msg): session = self.session_class() msg_object = SqlMessage( uuid=msg['msg_id'], timestamp=datetime.fromtimestamp(msg['timestamp']), topic=msg['topic'], # We still have to add the seq_id field msg="" ) session.add(msg_object) session.commit() msg['seq_id'] = msg_object.seq_id msg_object.msg = json.dumps(msg) session.commit() session.close() return msg def _query_seq_ids(self, arg): return SqlMessage.seq_id.in_(arg) def _query_seq_id(self, arg): return SqlMessage.seq_id == arg def _query_seq_id_range(self, arg): try: sid_beg, sid_end = arg except (TypeError, ValueError): raise ValueError('Ill-format "sed_id_range" field') return SqlMessage.sed_id.between(sid_beg, sid_end) def _query_msg_ids(self, arg): return SqlMessage.uuid.in_(arg) def _query_msg_id(self, arg): return SqlMessage.uuid == arg def _query_time(self, arg): try: time_beg, time_end = arg except (TypeError, ValueError): raise ValueError('Ill-format "time" field') return SqlMessage.timestamp.between( datetime.fromtimestamp(time_beg), datetime.fromtimestamp(time_end) ) def get(self, query): predicates = [] for key, value in query.iteritems(): fn = getattr(self, '_query_{0}'.format(key), None) if not fn: raise ValueError('Unsupported field: "key"') try: predicates.append(fn(value)) except ValueError: raise except Exception: raise ValueError('Something went wrong when processing ' 'the field "{0}"'.format(key)) session = self.session_class() ret = [json.loads(m[0]) for m in session.query(SqlMessage.msg) .filter(or_(*predicates)).all()] session.close() if len(ret) == 0: raise ValueError('There was no match for the given query') return ret fedmsg-0.7.1/fedmsg/consumers/0000755000175000017500000000000012221366312020161 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/consumers/relay.py0000644000175000017500000000410512212110512021634 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import fedmsg import logging from fedmsg.consumers import FedmsgConsumer log = logging.getLogger(__name__) class RelayConsumer(FedmsgConsumer): config_key = 'fedmsg.consumers.relay.enabled' def __init__(self, hub): self.hub = hub self.DBSession = None # The consumer should pick up *all* messages. self.topic = self.hub.config.get('topic_prefix', 'org.fedoraproject') if not self.topic.endswith('*'): self.topic += '*' super(RelayConsumer, self).__init__(hub) self.validate_signatures = False def consume(self, msg): ## FIXME - for some reason twisted is screwing up fedmsg. #fedmsg.__context.publisher.send_multipart( # [msg['topic'], fedmsg.encoding.dumps(msg['body'])] #) # # We have to do this instead. This works for the fedmsg-relay service # since it doesn't need to do any formatting of the message. It just # forwards raw messages. # # This isn't scalable though. It needs to be solved for future # consumers to use the nice fedmsg.send_message interface we use # everywhere else. log.debug("Got message %r" % msg) self.hub.send_message(topic=msg['topic'], message=msg['body']) fedmsg-0.7.1/fedmsg/consumers/dummy.py0000644000175000017500000000270012212110512021652 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import fedmsg from fedmsg.consumers import FedmsgConsumer import logging class DummyConsumer(FedmsgConsumer): config_key = 'fedmsg.consumers.dummy.enabled' def __init__(self, hub): self.hub = hub self.DBSession = None # The consumer should pick up *all* messages. self.topic = self.hub.config.get('topic_prefix', 'org.fedoraproject') if not self.topic.endswith('*'): self.topic += '*' return super(DummyConsumer, self).__init__(hub) def consume(self, msg): # Do nothing. log = logging.getLogger("moksha.hub") log.debug("Duhhhh... got: %r" % msg) fedmsg-0.7.1/fedmsg/consumers/ircbot.py0000644000175000017500000002253512212110512022011 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # # -*- coding; utf-8 -*- # Author: Ryan Brown # Author: Ralph Bean # Description: A bot that takes a config and puts messages matching given # regexes in specified IRC channels import fedmsg import fedmsg.encoding import fedmsg.meta from fedmsg.meta import _ import copy import re import time import pygments import pygments.lexers import pygments.formatters from fedmsg.consumers import FedmsgConsumer from twisted.words.protocols import irc from twisted.internet import protocol from twisted.internet import reactor from twisted.internet import defer import logging log = logging.getLogger(__name__) mirc_colors = { "white": 0, "black": 1, "blue": 2, "green": 3, "red": 4, "brown": 5, "purple": 6, "orange": 7, "yellow": 8, "light green": 9, "teal": 10, "light cyan": 11, "light blue": 12, "pink": 13, "grey": 14, "light grey": 15, } def ircprettify(title, subtitle, link="", config=None): def markup(s, color): return "\x03%i%s\x03" % (mirc_colors[color], s) config = config or {} if link: link = markup(link, "teal") color_lookup = config.get('irc_color_lookup', {}) title_color = color_lookup.get(title.split('.')[0], "light grey") title = markup(title, title_color) fmt = u"{title} -- {subtitle} {link}" return fmt.format(title=title, subtitle=subtitle, link=link) class FedMsngr(irc.IRCClient): # The 0.6 seconds here is empircally guessed so we don't get dropped by # freenode. FIXME - this should be pulled from the config. lineRate = 0.6 sourceURL = "http://github.com/fedora-infra/fedmsg" def __init__(self, *args, **kw): super(FedMsgnr, self).__init__(*args, **kw) def _get_nickname(self): return self.factory.nickname nickname = property(_get_nickname) def __init__(self, *args, **kwargs): self._modecallback = {} def signedOn(self): self.join(self.factory.channel) log.info("Signed on as %s." % (self.nickname,)) def joined(self, channel): log.info("Joined %s." % (channel,)) self.factory.parent_consumer.add_irc_client(self) def got_modes(modelist): modes = ''.join(modelist) if 'c' in modes: log.info("%s has +c is on. No prettiness" % channel) self.factory.pretty = False self.modes(channel).addCallback(got_modes) def modes(self, channel): channel = channel.lower() d = defer.Deferred() if channel not in self._modecallback: self._modecallback[channel] = ([], []) self._modecallback[channel][0].append(d) self.sendLine("MODE %s" % channel) return d def irc_RPL_CHANNELMODEIS(self, prefix, params): """ Handy reference for IRC mnemonics www.irchelp.org/irchelp/rfc/chapter4.html#c4_2_3 """ channel = params[1].lower() modes = params[2] if channel not in self._modecallback: return n = self._modecallback[channel][1] n.append(modes) callbacks, modelist = self._modecallback[channel] for cb in callbacks: cb.callback(modelist) del self._modecallback[channel] class FedMsngrFactory(protocol.ClientFactory): protocol = FedMsngr def __init__(self, channel, nickname, filters, pretty, terse, parent_consumer): self.channel = channel self.nickname = nickname self.filters = filters self.pretty = pretty self.terse = terse self.parent_consumer = parent_consumer self.log = logging.getLogger("moksha.hub") def clientConnectionLost(self, connector, reason): self.log.warning("Lost connection (%s), reconnecting." % (reason,)) self.parent_consumer.del_irc_clients(factory=self) connector.connect() def clientConnectionFailed(self, connector, reason): self.log.error("Could not connect: %s" % (reason,)) class IRCBotConsumer(FedmsgConsumer): validate_signatures = False config_key = 'fedmsg.consumers.ircbot.enabled' def __init__(self, hub): self.hub = hub self.DBSession = None self.irc_clients = [] # The consumer should pick up *all* messages. self.topic = self.hub.config.get('topic_prefix', 'org.fedoraproject') if not self.topic.endswith('*'): self.topic += '*' super(IRCBotConsumer, self).__init__(hub) fedmsg.meta.make_processors(**hub.config) if not getattr(self, '_initialized', False): return irc_settings = hub.config.get('irc') for settings in irc_settings: network = settings.get('network', 'irc.freenode.net') port = settings.get('port', 6667) channel = settings.get('channel', None) if not channel: self.log.error("No channel specified. Ignoring entry.") continue if not channel.startswith("#"): channel = "#" + channel nickname = settings.get('nickname', "fedmsg-bot") pretty = settings.get('make_pretty', False) terse = settings.get('make_terse', False) timeout = settings.get('timeout', 120) filters = self.compile_filters(settings.get('filters', None)) factory = FedMsngrFactory(channel, nickname, filters, pretty, terse, self) reactor.connectTCP(network, port, factory, timeout=timeout) def add_irc_client(self, client): self.irc_clients.append(client) def del_irc_clients(self, client=None, factory=None): if factory: self.irc_clients = [ c for c in self.irc_clients if c.factory != factory ] if client and client in self.irc_clients: self.irc_clients.remove(client) def compile_filters(self, filters): compiled_filters = dict(topic=[], body=[]) for tag, flist in filters.items(): for f in flist: compiled_filters[tag].append(re.compile(f)) return compiled_filters def apply_filters(self, filters, topic, msg): for f in filters.get('topic', []): if f and re.search(f, topic): return False for f in filters.get('body', []): type(msg) if f and re.search(f, str(msg)): return False return True def prettify(self, topic, msg, pretty=False, terse=False): if terse: if pretty: title = fedmsg.meta.msg2title(msg, **self.hub.config) if 'signature' not in msg: title += " " + _("(unsigned)") elif self.hub.config.get('validate_signatures'): if not fedmsg.crypto.validate(msg, **self.hub.config): title += " " + _("(invalid signature!)") return ircprettify( title=title, subtitle=fedmsg.meta.msg2subtitle(msg, **self.hub.config), link=fedmsg.meta.msg2link(msg, **self.hub.config), config=self.hub.config, ) else: return fedmsg.meta.msg2repr(msg, **self.hub.config) msg = copy.deepcopy(msg) if msg.get('topic', None): msg.pop('topic') if msg.get('timestamp', None): msg['timestamp'] = time.ctime(msg['timestamp']) if pretty: msg = pygments.highlight( fedmsg.encoding.pretty_dumps(msg), pygments.lexers.JavascriptLexer(), pygments.formatters.TerminalFormatter() ).strip().encode('UTF-8') return "{0:<30} {1}".format(topic, msg) def consume(self, msg): """ Forward on messages from the bus to all IRC connections. """ log.debug("Got message %r" % msg) topic, body = msg.get('topic'), msg.get('body') for client in self.irc_clients: if not client.factory.filters or ( client.factory.filters and self.apply_filters(client.factory.filters, topic, body) ): raw_msg = self.prettify( topic=topic, msg=body, pretty=client.factory.pretty, terse=client.factory.terse, ) raw_msg = raw_msg.encode('utf-8') getattr(client, self.hub.config['irc_method'], 'notice')( client.factory.channel, raw_msg, ) fedmsg-0.7.1/fedmsg/consumers/tweet.py0000644000175000017500000000722012212110512021651 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2013 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import bitlyapi import twitter as twitter_api import time import fedmsg.meta from fedmsg.consumers import FedmsgConsumer class TweetBotConsumer(FedmsgConsumer): validate_signatures = False config_key = 'fedmsg.consumers.tweetbot.enabled' def __init__(self, hub): self.hub = hub self.DBSession = None # The consumer should pick up *all* messages. self.topic = self.hub.config.get('topic_prefix', 'org.fedoraproject') if not self.topic.endswith('*'): self.topic += '*' super(TweetBotConsumer, self).__init__(hub) self.config = hub.config # Set up fedmsg.meta fedmsg.meta.make_processors(**self.config) # Set up twitter and statusnet.. multiple accounts if configured settings = self.config.get('tweet_endpoints', []) self.apis = [twitter_api.Api(**endpoint) for endpoint in settings] # Set up bitly settings = self.config['bitly_settings'] self.bitly = bitlyapi.BitLy( settings['api_user'], settings['api_key'], ) # How long to sleep if we spew too fast. hibernate_duration = self.config['tweet_hibernate_duration'] # Sleep a second or two inbetween messages to try and avoid # the hibernate self.intermessage_pause = self.config['tweet_intermessage_pause'] def _post_to_api(api, message): try: api.PostUpdate(message) except Exception as e: if 'Too many notices too fast;' in str(e): # Cool our heels then try again. self.log.info("Sleeping for %i" % hibernate_duration) time.sleep(hibernate_duration) _post_to_api(api, message) elif 'json decoding' in str(e): # Let it slide ... no idea what this one is. pass elif 'duplicate' in str(e): # Let it slide ... pass else: raise self._post_to_api = _post_to_api def consume(self, msg): msg = msg['body'] message = fedmsg.meta.msg2subtitle(msg, **self.config) link = fedmsg.meta.msg2link(msg, **self.config) if link: try: link = self.bitly.shorten(longUrl=link)['url'] except Exception: self.log.warn("Bad URI for bitly %r" % link) link = "" message = message[:137 - len(link)] + " " + link else: message = message[:139] if not message: self.log.info("Not tweeting blank message.") return self.log.info("Tweeting %r" % message) for api in self.apis: self._post_to_api(api, message) time.sleep(self.intermessage_pause) fedmsg-0.7.1/fedmsg/consumers/__init__.py0000644000175000017500000001261312212110512022262 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import inspect import fedmsg.crypto import moksha.hub.api.consumer import json import logging from fedmsg.replay import check_for_replay class FedmsgConsumer(moksha.hub.api.consumer.Consumer): """ Base class for fedmsg consumers. The fedmsg consumption API is really just a thin wrapper over moksha. Moksha expects consumers to: * Declare themselves on the moksha.consumers python entry-point. * Declare a ``consume(...)`` method. * Specify a ``topic``. All this class does in addition to moksha is: * Provide a mechanism for disabling/enabling consumers by configuration in a consistent way (namely, by use of ``config_key``). If you set ``validate_signatures = False`` on your consumer, it will be exempt from global validation rules. Messages will not be checked for authenticity before being handed off to your consume method. This is handy if you're developing or building a special-case consumer. The consumer used by ``fedmsg-relay`` (described in :doc:`commands`) sets ``validate_signatures = False`` so that it can transparently forward along everything and let the terminal endpoints decide whether or not to consume particular messages. * Provide a mechanism for automatically validating fedmsg messages with :mod:`fedmsg.crypto`. * Provide a mechanism to play back messages that haven't been received by the hub even though emitted. To make use of this feature, you have to set ``replay_name`` to some string corresponding to an endpoint in the ``replay_endpoints`` dict in the configuration. You must set ``config_key`` to some string. A config value by that name must be True in the config parsed by :mod:`fedmsg.config` in order for the consumer to be activated. """ validate_signatures = False config_key = None def __init__(self, hub): module = inspect.getmodule(self).__name__ name = self.__class__.__name__ self.log = logging.getLogger("fedmsg") if not self.config_key: raise ValueError("%s:%s must declare a 'config_key'" % ( module, name)) self.log.debug("%s is %r" % ( self.config_key, hub.config.get(self.config_key) )) if not hub.config.get(self.config_key, False): self.log.info('* disabled by config - %s:%s' % (module, name)) return self.log.info(' enabled by config - %s:%s' % (module, name)) # This call "completes" registration of this consumer with the hub. super(FedmsgConsumer, self).__init__(hub) # Now, re-get our logger to override the one moksha assigns us. self.log = logging.getLogger("fedmsg") if self.validate_signatures: self.validate_signatures = self.hub.config['validate_signatures'] if hasattr(self, "replay_name"): self.name_to_seq_id = {} if self.replay_name in self.hub.config.get("replay_endpoints", {}): self.name_to_seq_id[self.replay_name] = -1 def validate(self, message): """ This needs to raise an exception, caught by moksha. """ if hasattr(message, '__json__'): message = message.__json__() if isinstance(message['body'], basestring): message['body'] = json.loads(message['body']) # We assume these match inside fedmsg.crypto, so we should enforce it. if not message['topic'] == message['body']['topic']: raise RuntimeWarning("Topic envelope mismatch.") # If we're not validating, then everything is valid. # If this is turned on globally, our child class can override it. if not self.validate_signatures: return if not fedmsg.crypto.validate(message['body'], **self.hub.config): raise RuntimeWarning("Failed to authn message.") def _consume(self, message): try: self.validate(message) except RuntimeWarning as e: self.log.warn("Received invalid message {}".format(e)) return if hasattr(self, "replay_name"): for m in check_for_replay( self.replay_name, self.name_to_seq_id, message, self.hub.config): try: self.validate(m) self.consume(m) except RuntimeWarning as e: self.log.warn("Received invalid message {}".format(e)) else: self.consume(message) fedmsg-0.7.1/fedmsg/consumers/gateway.py0000644000175000017500000000637012212110512022167 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import fedmsg import threading import weakref import zmq from fedmsg.consumers import FedmsgConsumer class GatewayConsumer(FedmsgConsumer): config_key = 'fedmsg.consumers.gateway.enabled' jsonify = False def __init__(self, hub): self.hub = hub # The consumer should pick up *all* messages. self.topic = self.hub.config.get('topic_prefix', 'org.fedoraproject') if not self.topic.endswith('*'): self.topic += '*' super(GatewayConsumer, self).__init__(hub) # If fedmsg doesn't think we should be enabled, then we should quit # before setting up all the extra special zmq machinery. # _initialized is set in moksha.api.hub.consumer if not getattr(self, "_initialized", False): return self.port = hub.config['fedmsg.consumers.gateway.port'] self.validate_signatures = False self._setup_special_gateway_socket() # Register a destructor? This might be a bad idea inside Twisted. weakref.ref(threading.current_thread(), self.destroy) def _setup_special_gateway_socket(self): self.log.info("Setting up special gateway socket on " + "port %r" % self.port) self._context = zmq.Context(1) self.gateway_socket = self._context.socket(zmq.PUB) # Set this to an absurdly high number to increase the number of clients # we can serve. To be effective, also increase nofile for fedmsg in # /etc/security/limits.conf to near fs.file-limit. Try 160000. hwm = self.hub.config['fedmsg.consumers.gateway.high_water_mark'] if hasattr(zmq, 'HWM'): # zeromq2 self.gateway_socket.setsockopt(zmq.HWM, hwm) else: # zeromq3 self.gateway_socket.setsockopt(zmq.SNDHWM, hwm) self.gateway_socket.setsockopt(zmq.RCVHWM, hwm) self.gateway_socket.bind("tcp://*:{port}".format(port=self.port)) self.log.info("Gateway socket established.") def destroy(self): self.log.info("Destroying GatewayConsumer") if getattr(self, 'gateway_socket', None): self.gateway_socket.close() self.gateway_socket = None if getattr(self, '_context', None): self._context.term() self._context = None def consume(self, msg): self.log.debug("Gateway: %r" % msg.topic) self.gateway_socket.send_multipart([msg.topic, msg.body]) fedmsg-0.7.1/fedmsg/core.py0000644000175000017500000003537012213656177017471 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import getpass import inspect import socket import threading import datetime import time import uuid import warnings import weakref import zmq from kitchen.iterutils import iterate from kitchen.text.converters import to_bytes import fedmsg.encoding import fedmsg.crypto from fedmsg.utils import ( set_high_water_mark, guess_calling_module, set_tcp_keepalive, ) from fedmsg.replay import check_for_replay import logging class FedMsgContext(object): # A counter for messages sent. _i = 0 def __init__(self, **config): super(FedMsgContext, self).__init__() self.log = logging.getLogger("fedmsg") self.c = config self.hostname = socket.gethostname().split('.', 1)[0] # Prepare our context and publisher self.context = zmq.Context(config['io_threads']) method = ['bind', 'connect'][config['active']] # If no name is provided, use the calling module's __name__ to decide # which publishing endpoint to use. if not config.get("name", None): module_name = guess_calling_module(default="fedmsg") config["name"] = module_name + '.' + self.hostname if any(map(config["name"].startswith, ['fedmsg'])): config["name"] = None # Find my message-signing cert if I need one. if self.c.get('sign_messages', False) and config.get("name"): if not config.get("crypto_backend") == "gpg": if 'cert_prefix' in config: cert_index = "%s.%s" % (config['cert_prefix'], self.hostname) else: cert_index = config['name'] if cert_index == 'relay_inbound': cert_index = "shell.%s" % self.hostname self.c['certname'] = self.c['certnames'][cert_index] else: self.c['gpg_signing_key'] = self.c['gpg_keys'][cert_index] # Do a little special-case mangling. We never want to "listen" to the # relay_inbound address, but in the special case that we want to emit # our messages there, we add it to the :term:`endpoints` dict so that # the code below where we "Actually set up our publisher" can be # simplified. See Issue #37 - http://bit.ly/KN6dEK if config.get('active', False): # If the user has called us with "active=True" then presumably they # have given us a "name" as well. name = config.get("name", "relay_inbound") config['endpoints'][name] = config[name] # Actually set up our publisher if ( not config.get("mute", False) and config.get("name", None) and config.get("endpoints", None) and config['endpoints'].get(config['name']) ): # Construct it. self.publisher = self.context.socket(zmq.PUB) set_high_water_mark(self.publisher, config) set_tcp_keepalive(self.publisher, config) # Set a zmq_linger, thus doing a little bit more to ensure that our # message gets to the fedmsg-relay (*if* we're talking to the relay # which is the case when method == 'connect'). if method == 'connect': self.publisher.setsockopt(zmq.LINGER, config['zmq_linger']) # "Listify" our endpoints. If we're given a list, good. If we're # given a single item, turn it into a list of length 1. config['endpoints'][config['name']] = list(iterate( config['endpoints'][config['name']])) # Try endpoint after endpoint in the list of endpoints. If we # succeed in establishing one, then stop. *That* is our publishing # endpoint. _established = False for endpoint in config['endpoints'][config['name']]: if method == 'bind': endpoint = "tcp://*:{port}".format( port=endpoint.rsplit(':')[-1] ) try: # Call either bind or connect on the new publisher. # This will raise an exception if there's another process # already using the endpoint. getattr(self.publisher, method)(endpoint) # If we can do this successfully, then stop trying. _established = True break except zmq.ZMQError: # If we fail to bind or connect, there's probably another # process already using that endpoint port. Try the next # one. pass # If we make it through the loop without establishing our # connection, then there are not enough endpoints listed in the # config for the number of processes attempting to use fedmsg. if not _established: raise IOError( "Couldn't find an available endpoint " "for name %r" % config.get("name", None)) elif config.get('mute', False): # Our caller doesn't intend to send any messages. Pass silently. pass else: # Something is wrong. warnings.warn( "fedmsg is not configured to send any messages " "for name %r" % config.get("name", None)) # Cleanup. See http://bit.ly/SaGeOr for discussion. weakref.ref(threading.current_thread(), self.destroy) # Sleep just to make sure that the socket gets set up before anyone # tries anything. This is a documented zmq 'feature'. time.sleep(config['post_init_sleep']) def destroy(self): """ Destroy a fedmsg context """ if getattr(self, 'publisher', None): self.publisher.close() self.publisher = None if getattr(self, 'context', None): self.context.term() self.context = None def send_message(self, topic=None, msg=None, modname=None): warnings.warn(".send_message is deprecated.", DeprecationWarning) return self.publish(topic, msg, modname) def publish(self, topic=None, msg=None, modname=None): """ Send a message over the publishing zeromq socket. >>> import fedmsg >>> fedmsg.publish(topic='testing', modname='test', msg={ ... 'test': "Hello World", ... }) The above snippet will send the message ``'{test: "Hello World"}'`` over the ``.dev.test.testing`` topic. This function (and other API functions) do a little bit more heavy lifting than they let on. If the "zeromq context" is not yet initialized, :func:`fedmsg.init` is called to construct it and store it as :data:`fedmsg.__local.__context` before anything else is done. The ``modname`` argument will be omitted in most use cases. By default, ``fedmsg`` will try to guess the name of the module that called it and use that to produce an intelligent topic. Specifying ``modname`` explicitly overrides this behavior. The fully qualified topic of a message is constructed out of the following pieces: <:term:`topic_prefix`>.<:term:`environment`>.<``modname``>.<``topic``> ---- **An example from Fedora Tagger -- SQLAlchemy encoding** Here's an example from `fedora-tagger `_ that sends the information about a new tag over ``org.fedoraproject.{dev,stg,prod}.fedoratagger.tag.update``:: >>> import fedmsg >>> fedmsg.publish(topic='tag.update', msg={ ... 'user': user, ... 'tag': tag, ... }) Note that the `tag` and `user` objects are SQLAlchemy objects defined by tagger. They both have ``.__json__()`` methods which :func:`fedmsg.publish` uses to encode both objects as stringified JSON for you. Under the hood, specifically, ``.publish`` uses :mod:`fedmsg.encoding` to do this. ``fedmsg`` has also guessed the module name (``modname``) of it's caller and inserted it into the topic for you. The code from which we stole the above snippet lives in ``fedoratagger.controllers.root``. ``fedmsg`` figured that out and stripped it down to just ``fedoratagger`` for the final topic of ``org.fedoraproject.{dev,stg,prod}.fedoratagger.tag.update``. ---- **Shell Usage** You could also use the ``fedmsg-logger`` from a shell script like so:: $ echo "Hello, world." | fedmsg-logger --topic testing $ echo '{"foo": "bar"}' | fedmsg-logger --json-input """ topic = topic or 'unspecified' msg = msg or dict() # If no modname is supplied, then guess it from the call stack. modname = modname or guess_calling_module(default="fedmsg") topic = '.'.join([modname, topic]) if topic[:len(self.c['topic_prefix'])] != self.c['topic_prefix']: topic = '.'.join([ self.c['topic_prefix'], self.c['environment'], topic, ]) if type(topic) == unicode: topic = to_bytes(topic, encoding='utf8', nonstring="passthru") year = datetime.datetime.now().year self._i += 1 msg = dict( topic=topic, msg=msg, timestamp=round(time.time(), 3), msg_id=str(year) + '-' + str(uuid.uuid4()), i=self._i, username=getpass.getuser(), ) if self.c.get('sign_messages', False): msg = fedmsg.crypto.sign(msg, **self.c) store = self.c.get('persistent_store', None) if store: # Add the seq_id field msg = store.add(msg) self.publisher.send_multipart( [topic, fedmsg.encoding.dumps(msg)], flags=zmq.NOBLOCK, ) def tail_messages(self, topic="", passive=False, **kw): """ Tail messages on the bus. Generator that yields tuples of the form: ``(name, endpoint, topic, message)`` """ # TODO -- do the zmq_strict logic dance with "topic" here. # It is buried in moksha.hub, but we need it to work the same way # here. # TODO -- the 'passive' here and the 'active' are ambiguous. They # don't actually mean the same thing. This should be resolved. method = passive and 'bind' or 'connect' failed_hostnames = [] subs = {} watched_names = {} for _name, endpoint_list in self.c['endpoints'].iteritems(): # Listify endpoint_list in case it is a single string endpoint_list = iterate(endpoint_list) for endpoint in endpoint_list: # First, some sanity checking. zeromq will potentially # segfault if we don't do this check. hostname = endpoint.split(':')[1][2:] if hostname in failed_hostnames: continue if hostname != '*': try: socket.gethostbyname_ex(hostname) except: failed_hostnames.append(hostname) self.log.warn("Couldn't resolve %r" % hostname) continue # OK, sanity checks pass. Create the subscriber and connect. subscriber = self.context.socket(zmq.SUB) subscriber.setsockopt(zmq.SUBSCRIBE, topic) set_high_water_mark(subscriber, self.c) set_tcp_keepalive(subscriber, self.c) getattr(subscriber, method)(endpoint) subs[subscriber] = (_name, endpoint) if _name in self.c.get("replay_endpoints", {}): # At first we don't know where the sequence is at. watched_names[_name] = -1 # Register the sockets we just built with a zmq Poller. poller = zmq.Poller() for subscriber in subs: poller.register(subscriber, zmq.POLLIN) # TODO -- what if user wants to pass in validate_signatures in **kw? validate = self.c.get('validate_signatures', False) # Poll that poller. This is much more efficient than it used to be. try: while True: sockets = dict(poller.poll()) for s in sockets: _name, ep = subs[s] _topic, message = s.recv_multipart() msg = fedmsg.encoding.loads(message) if not validate or fedmsg.crypto.validate(msg, **self.c): # If there is even a slight change of replay, use # check_for_replay if len(self.c.get('replay_endpoints', {})) > 0: for m in check_for_replay( _name, watched_names, msg, self.c, self.context): # Revalidate all the replayed messages. if not validate or \ fedmsg.crypto.validate(m, **self.c): yield _name, ep, m['topic'], m else: warnings.warn("!! invalid message " + "received: %r" % msg) else: yield _name, ep, _topic, msg else: # Else.. we are supposed to be validating, but the # message failed validation. # Warn, but don't throw an exception. Keep tailing. warnings.warn("!! invalid message received: %r" % msg) finally: for subscriber in subs: subscriber.close() fedmsg-0.7.1/fedmsg/text/0000755000175000017500000000000012221366312017127 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/text/announce.py0000644000175000017500000000000012207656441027566 1fedmsg-0.7.1/fedmsg/meta/announce.pyustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/text/logger.py0000644000175000017500000000000012212110512026664 1fedmsg-0.7.1/fedmsg/meta/logger.pyustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/text/__init__.py0000644000175000017500000000000012212110512027424 1fedmsg-0.7.1/fedmsg/meta/__init__.pyustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/text/default.py0000644000175000017500000000000012207656441027222 1fedmsg-0.7.1/fedmsg/meta/default.pyustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/text/base.py0000644000175000017500000000000012212110512025752 1fedmsg-0.7.1/fedmsg/meta/base.pyustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/config.py0000644000175000017500000002527012216715076020001 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ :mod:`fedmsg.config` handles loading, processing and validation of all configuration. The configuration values used at runtime are determined by checking in the following order - Built-in defaults - Config file (/etc/fedmsg-config.py) - Command line arguments For example, if a config value does not appear in either the config file or on the command line, then the built-in default is used. If a value appears in both the config file and as a command line argument, then the command line value is used. You can print the runtime configuration to the terminal by using the ``fedmsg-config`` command implemented by :func:`fedmsg.commands.config.config`. """ import argparse import collections import copy import os import sys import textwrap import warnings from fedmsg.encoding import pretty_dumps VALID_ENVIRONMENTS = ['dev', 'stg', 'prod'] defaults = dict( topic_prefix="org.fedoraproject", environment="dev", io_threads=1, post_init_sleep=0.5, timeout=2, print_config=False, high_water_mark=0, # zero means no limit zmq_linger=1000, # Wait one second before timing out on fedmsg-relay active=False, # generally only true for fedmsg-logger persistent_store=None, # an object. See the fedmsg.replay module. logging=dict( version=1, formatters=dict( bare={ "datefmt": "%Y-%m-%d %H:%M:%S", "format": "[%(asctime)s][%(name)10s %(levelname)7s] %(message)s" }, ), handlers=dict( console={ "class": "logging.StreamHandler", "formatter": "bare", "level": "INFO", "stream": "ext://sys.stdout", } ), loggers=dict( fedmsg={ "level": "INFO", "propagate": False, "handlers": ["console"], }, moksha={ "level": "INFO", "propagate": False, "handlers": ["console"], }, ), ), ) __cache = {} def load_config(extra_args=None, doc=None, filenames=None, invalidate_cache=False, fedmsg_command=False): """ Setup a runtime config dict by integrating the following sources (ordered by precedence): - defaults - config file - command line arguments If the ``fedmsg_command`` argument is False, no command line arguments are checked. """ global __cache if invalidate_cache: __cache = {} if __cache: return __cache # Coerce defaults if arguments are not supplied. extra_args = extra_args or [] doc = doc or "" config = copy.deepcopy(defaults) config.update(_process_config_file(filenames=filenames)) # This is optional (and defaults to false) so that only 'fedmsg-*' commands # are required to provide these arguments. # For instance, the moksha-hub command takes a '-v' argument and internally # makes calls to fedmsg. We don't want to impose all of fedmsg's CLI # option constraints on programs that use fedmsg, so we make it optional. if fedmsg_command: config.update(_process_arguments(extra_args, doc, config)) # If the user specified a config file on the command line, then start over # but read in that file instead. if not filenames and config.get('config_filename', None): return load_config(extra_args, doc, filenames=[config['config_filename']]) # Just a little debug option. :) if config['print_config']: print pretty_dumps(config) sys.exit(0) if config['environment'] not in VALID_ENVIRONMENTS: raise ValueError("%r not one of %r" % ( config['environment'], VALID_ENVIRONMENTS)) if 'endpoints' not in config: raise ValueError("No config value 'endpoints' found.") if not isinstance(config['endpoints'], dict): raise ValueError("The 'endpoint' config value must be a dict.") if 'srv_endpoints' in config and len(config['srv_endpoints']) > 0: from dns.resolver import query, NXDOMAIN, Timeout, NoNameservers for e in config['srv_endpoints']: urls = [] try: records = query('_fedmsg._tcp.{0}'.format(e), 'SRV') except NXDOMAIN: warnings.warn("There is no appropriate SRV records " + "for {0}".format(e)) continue except Timeout: warnings.warn("The DNS query for the SRV records of" + " {0} timed out.".format(e)) continue except NoNameservers: warnings.warn("No name server is available, please " + "check the configuration") break for rec in records: urls.append('tcp://{hostname}:{port}'.format( hostname=rec.target.to_text(), port=rec.port )) config['endpoints'][e] = urls if 'topic_prefix_re' not in config: # Turn "org.fedoraproject" into "org\.fedoraproject\.(dev|stg|prod)" config['topic_prefix_re'] = config['topic_prefix'].replace('.', '\.')\ + '\.(%s)' % '|'.join(VALID_ENVIRONMENTS) __cache = config return config def build_parser(declared_args, doc, config=None, prog=None): """ Return the global :class:`argparse.ArgumentParser` used by all fedmsg commands. Extra arguments can be supplied with the `declared_args` argument. """ config = config or copy.deepcopy(defaults) prog = prog or sys.argv[0] parser = argparse.ArgumentParser( description=textwrap.dedent(doc), formatter_class=argparse.RawDescriptionHelpFormatter, prog=prog, ) parser.add_argument( '--io-threads', dest='io_threads', type=int, help="Number of io threads for 0mq to use", default=config['io_threads'], ) parser.add_argument( '--topic-prefix', dest='topic_prefix', type=str, help="Prefix for the topic of each message sent.", default=config['topic_prefix'], ) parser.add_argument( '--post-init-sleep', dest='post_init_sleep', type=float, help="Number of seconds to sleep after initializing.", default=config['post_init_sleep'], ) parser.add_argument( '--config-filename', dest='config_filename', help="Config file to use.", default=None, ) parser.add_argument( '--print-config', dest='print_config', help='Simply print out the configuration and exit. No action taken.', default=False, action='store_true', ) parser.add_argument( '--timeout', dest='timeout', help="Timeout in seconds for any blocking zmq operations.", type=float, default=config['timeout'], ) parser.add_argument( '--high-water-mark', dest='high_water_mark', help="Limit on the number of messages in the queue before blocking.", type=int, default=config['high_water_mark'], ) parser.add_argument( '--linger', dest='zmq_linger', help="Number of milliseconds to wait before timing out connections.", type=int, default=config['zmq_linger'], ) for args, kwargs in declared_args: # Replace the hard-coded extra_args default with the config file value # (if it exists) if all([k in kwargs for k in ['dest', 'default']]): kwargs['default'] = config.get( kwargs['dest'], kwargs['default']) # Having slurped smart defaults from the config file, add the CLI arg. parser.add_argument(*args, **kwargs) return parser def _process_arguments(declared_args, doc, config): parser = build_parser(declared_args, doc, config) args = parser.parse_args() return dict(args._get_kwargs()) def _gather_configs_in(directory): """ Return list of fully qualified python filenames in the given dir """ try: return [ os.path.join(directory, fname) for fname in os.listdir(directory) if fname.endswith('.py') ] except OSError: return [] def _recursive_update(d1, d2): """ Little helper function that does what d1.update(d2) does, but works nice and recursively with dicts of dicts of dicts. It's not necessarily very efficient. """ for k in set(d1).intersection(d2): if isinstance(d1[k], dict) and isinstance(d2[k], dict): d1[k] = _recursive_update(d1[k], d2[k]) else: d1[k] = d2[k] for k in set(d2).difference(d1): d1[k] = d2[k] return d1 def _process_config_file(filenames=None): filenames = filenames or [] # Validate that these files are really files for fname in filenames: if not os.path.isfile(fname): raise ValueError("%r is not a file." % fname) # If nothing specified, look in the default locations if not filenames: filenames = [ '/etc/fedmsg-config.py', os.path.expanduser('~/.fedmsg-config.py'), os.getcwd() + '/fedmsg-config.py', ] filenames = sum(map(_gather_configs_in, [ "/etc/fedmsg.d/", os.path.expanduser('~/.fedmsg.d/'), os.getcwd() + '/fedmsg.d/', ]), []) + filenames # Each .ini file should really be a python module that # builds a config dict. config = {} for fname in filenames: if os.path.isfile(fname): variables = {} try: execfile(fname, variables) config = _recursive_update(config, variables['config']) except IOError as e: warnings.warn(str(e)) return config fedmsg-0.7.1/fedmsg/commands/0000755000175000017500000000000012221366312017744 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/commands/announce.py0000644000175000017500000000524112207656441022137 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import sys import fedmsg from fedmsg.commands import BaseCommand class AnnounceCommand(BaseCommand): """ Emit an announcement message to the FI bus. Example:: $ echo "Fedora Core 4 has been declared GOLD" | fedmsg-announce \ --link http://fedoraproject.org/news Technically this command is a simpler version of fedmsg-logger that emits on a special topic. It is expected that :term:`routing_policy` is specified such that only restricted parties can issue fedmsg announcements. This command expects its message to come from stdin. """ name = "fedmsg-announce" extra_args = [ (['--link'], { 'dest': 'link', 'metavar': "URL", 'default': None, 'help': "Specify a link to go along with the announcement.", }), ] def run(self): # This specifies that a special certificate should be used to sign this # message. At the sysadmin level, you are responsible for taking care # of two things: # 1) That the announce cert is readable only by appropriate persons. # 2) That the routing_policy is setup so that "announce.announcement" # messages are valid only if signed by such a certificate. self.config['cert_prefix'] = "announce" # This just specifies that we should be talking to the fedmsg-relay. self.config['active'] = True self.config['name'] = 'relay_inbound' fedmsg.init(**self.config) # Read in and setup our message. Include --link, even if it is None. message = "\n".join(map(str.strip, sys.stdin.readlines())) msg = dict(message=message, link=self.config['link']) # Fire! fedmsg.publish(modname="announce", topic="announcement", msg=msg) def announce(): command = AnnounceCommand() command.execute() fedmsg-0.7.1/fedmsg/commands/logger.py0000644000175000017500000000711712212110512021570 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import sys import fedmsg import fedmsg.encoding from fedmsg.commands import BaseCommand class LoggerCommand(BaseCommand): """ Emit log messages to the FI bus. If the fedmsg-relay service is not running at the address specified in the config, then this command will *hang* until that service becomes available. If --message is not specified, this command accepts messages from stdin. Some examples:: $ echo '{"a": 1}; | fedmsg-logger --json-input $ echo "Hai there." | fedmsg-logger --modname=git --topic=repo.update $ fedmsg-logger --message="This is a message." $ fedmsg-logger --message='{"a": 1}' --json-input Note that the python JSON parser is picky about the format of messages if you're using the --json-input option. Double-quotes must be on the "inside" of the string and single quotes must be on the outside:: '{"a": 1}' is good. "{'a': 1}" is bad. """ name = 'fedmsg-logger' extra_args = [ (['--message'], { 'dest': 'logger_message', 'help': "The message to send.", }), (['--json-input'], { 'dest': 'json_input', 'action': 'store_true', 'default': False, 'help': "Take each line of input as JSON.", }), (['--topic'], { 'dest': 'topic', 'metavar': "TOPIC", 'default': "log", 'help': "Think org.fedoraproject.dev.logger.TOPIC", }), (['--modname'], { 'dest': 'modname', 'metavar': "MODNAME", 'default': "logger", 'help': "More control over the topic. Think org.fp.MODNAME.TOPIC.", }), (['--cert-prefix'], { 'dest': 'cert_prefix', 'metavar': "CERT_PREFIX", 'default': "shell", 'help': "Specify a different cert from /etc/pki/fedmsg", }), ] def _log_message(self, kw, message): if kw['json_input']: msg = fedmsg.encoding.loads(message) else: msg = {'log': message} fedmsg.publish( topic=kw['topic'], msg=msg, modname=kw['modname'], ) def __init__(self): super(LoggerCommand, self).__init__() def run(self): self.config['active'] = True self.config['name'] = 'relay_inbound' fedmsg.init(**self.config) if self.config.get('logger_message'): self._log_message(self.config, self.config.get('logger_message')) else: line = sys.stdin.readline() while line: self._log_message(self.config, line.strip()) line = sys.stdin.readline() def logger(): command = LoggerCommand() return command.execute() fedmsg-0.7.1/fedmsg/commands/tail.py0000644000175000017500000002135312212110512021240 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean import itertools import os import pprint import re import urllib import time import math import pygments import pygments.lexers import pygments.formatters import fedmsg import fedmsg.encoding import fedmsg.meta from fedmsg.commands import BaseCommand def _cache_avatar(username, url, directory): """ Utility to grab avatars from outerspace for the --gource option. """ fname = os.path.join(directory, "%s.jpg" % username) if os.path.exists(fname): # We already have it cached. Just chill. pass else: # Make sure we have a place to write it if os.path.isdir(directory): # We've been here before... that's good. pass else: os.makedirs(directory) # Grab it from the net and write to local cache on disk. try: urllib.urlretrieve(url, fname) except IOError: # If we can't talk to gravatar.com, try not to crash. pass class TailCommand(BaseCommand): """ Watch all endpoints on the bus and print each message to stdout. """ name = "fedmsg-tail" extra_args = [ (['--topic'], { 'dest': 'topic', 'help': 'The topic pattern to listen for. Everything by default.', 'default': '', }), (['--pretty'], { 'dest': 'pretty', 'help': 'Pretty print the JSON messages.', 'default': False, 'action': 'store_true', }), (['--really-pretty'], { 'dest': 'really_pretty', 'help': 'Extra-pretty print the JSON messages.', 'default': False, 'action': 'store_true', }), (['--gource'], { 'dest': 'gource', 'help': 'Print a live "git log" of the bus suitable for ' 'piping into the "gource" tool.', 'default': False, 'action': 'store_true', }), (['--gource-user-image-dir'], { 'dest': 'gource_user_image_dir', 'help': 'Directory to store user avatar images for --gource', 'default': os.path.expanduser("~/.cache/avatar"), }), (['--terse'], { 'dest': 'terse', 'help': 'Print "english" representations of messages only.', 'default': False, 'action': 'store_true', }), (['--exclude'], { 'dest': 'exclusive_regexp', 'metavar': 'REGEXP', 'help': 'Only show topics that do not match the supplied regexp.', 'default': '_heartbeat', }), (['--include'], { 'dest': 'inclusive_regexp', 'metavar': 'REGEXP', 'help': 'Only show topics that match the supplied regexp.', 'default': '^((?!_heartbeat).)*$', }), (['--users'], { 'dest': 'users', 'metavar': 'USERS', 'default': None, 'help': 'A comma-separated list of usernames. Show only messages' 'related to these users.', }), (['--packages'], { 'dest': 'packages', 'metavar': 'PACKAGES', 'default': None, 'help': 'A comma-separated list of packages. Show only messages' 'related to these packages.', }), ] def run(self): # Disable sending self.config['publish_endpoint'] = None # Disable timeouts. We want to tail forever! self.config['timeout'] = 0 # Even though fedmsg-tail won't be sending any messages, give it a # name to conform with the other commands. self.config['name'] = 'relay_inbound' # Tail is never going to send any messages, so we suppress warnings # about having no publishing sockets established. self.config['mute'] = True fedmsg.init(**self.config) fedmsg.meta.make_processors(**self.config) # Build a message formatter formatter = lambda d: d if self.config['pretty']: def formatter(d): d['timestamp'] = time.ctime(d['timestamp']) d = fedmsg.crypto.strip_credentials(d) return "\n" + pprint.pformat(d) if self.config['really_pretty']: def formatter(d): d = fedmsg.crypto.strip_credentials(d) fancy = pygments.highlight( fedmsg.encoding.pretty_dumps(d), pygments.lexers.JavascriptLexer(), pygments.formatters.TerminalFormatter() ).strip() return "\n" + fancy if self.config['terse']: formatter = lambda d: "\n" + fedmsg.meta.msg2repr(d, **self.config) if self.config['gource']: # Output strings suitable for consumption by the "gource" tool. # We have 8 colors here and an unknown number of message types. # (There were 14 message types at the time this code was written). # Here we build a dict that maps message type names (a.k.a modnames # or services) to hex colors for usage in the gource graph. We # wrap-around that dict if there are more message types than # there are colors (which there almost certainly are). procs = [proc.__name__.lower() for proc in fedmsg.meta.processors] colors = ["FFFFFF", "008F37", "FF680A", "CC4E00", "8F0058", "8F7E00", "37008F", "7E008F"] n_wraps = 1 + int(math.ceil(len(colors) / float(len(procs)))) colors = colors * n_wraps color_lookup = dict(zip(procs, colors)) cache_directory = self.config['gource_user_image_dir'] # After all that color trickiness, here is our formatter we'll use. def formatter(message): """ Use this like:: $ fedmsg-tail --gource | gource \ -i 0 \ --user-image-dir ~/.cache/avatar/ \ --log-format custom - """ proc = fedmsg.meta.msg2processor(message, **self.config) avatars = fedmsg.meta.msg2avatars(message, **self.config) objs = fedmsg.meta.msg2objects(message, **self.config) name = proc.__name__.lower() lines = [] for user, obj in itertools.product(avatars.keys(), objs): _cache_avatar(user, avatars[user], cache_directory) lines.append("%i|%s|A|%s|%s" % ( message['timestamp'], user, name + "/" + obj, color_lookup[name], )) return "\n".join(lines) # Build regular expressions for use in our loop. exclusive_regexp = re.compile(self.config['exclusive_regexp']) inclusive_regexp = re.compile(self.config['inclusive_regexp']) # Build username and package filter sets for use in our loop. users, packages = set(), set() if self.config['users']: users = set(map(str.strip, self.config['users'].split(','))) if self.config['packages']: packages = set(map(str.strip, self.config['packages'].split(','))) # Spin up a zmq.Poller and yield messages for name, ep, topic, message in fedmsg.tail_messages(**self.config): if exclusive_regexp.search(topic): continue if not inclusive_regexp.search(topic): continue actual_users = fedmsg.meta.msg2usernames(message, **self.config) if users and not users.intersection(actual_users): continue actual_packages = fedmsg.meta.msg2packages(message, **self.config) if packages and not packages.intersection(actual_packages): continue self.log.info(formatter(message)) def tail(): command = TailCommand() return command.execute() fedmsg-0.7.1/fedmsg/commands/config.py0000644000175000017500000000202312207656441021571 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import fedmsg.config import fedmsg.encoding def config(): __doc__ = "Simply print out the fedmsg-config as a JSON." config = fedmsg.config.load_config([], __doc__) print fedmsg.encoding.pretty_dumps(config) fedmsg-0.7.1/fedmsg/commands/relay.py0000644000175000017500000000565512212110512021432 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ """ import zmq.core.error from fedmsg.commands import BaseCommand from fedmsg.consumers.relay import RelayConsumer from kitchen.iterutils import iterate class RelayCommand(BaseCommand): """ Relay connections from active loggers to the bus. ``fedmsg-relay`` is a service which binds to two ports, listens for messages on one and emits them on the other. ``fedmsg-logger`` requires that an instance of ``fedmsg-relay`` be running *somewhere* and that it's inbound address be listed in the config as one of the entries in :term:`relay_inbound`. ``fedmsg-relay`` becomes a necessity for integration points that cannot bind consistently to and serve from a port. See :doc:`topology` for the mile-high view. More specifically, ``fedmsg-relay`` is a SUB.bind()->PUB.bind() relay. """ daemonizable = True name = 'fedmsg-relay' def run(self): # Do just like in fedmsg.commands.hub and mangle fedmsg.d/ to work # with moksha's expected configuration. moksha_options = dict( zmq_subscribe_endpoints=",".join(list(iterate( self.config['relay_inbound'] ))), zmq_subscribe_method="bind", ) self.config.update(moksha_options) # Flip the special bit that allows the RelayConsumer to run self.config[RelayConsumer.config_key] = True from moksha.hub import main for publish_endpoint in self.config['endpoints']['relay_outbound']: self.config['zmq_publish_endpoints'] = publish_endpoint try: return main( # Pass in our config dict options=self.config, # Only run this *one* consumer consumers=[RelayConsumer], # Tell moksha to quiet its logging. framework=False, ) except zmq.ZMQError: self.log.debug("Failed to bind to %r" % publish_endpoint) raise IOError("Failed to bind to any outbound endpoints.") def relay(): command = RelayCommand() return command.execute() fedmsg-0.7.1/fedmsg/commands/ircbot.py0000644000175000017500000000424512212110512021572 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # Ryan Brown # # -*- coding; utf-8 -*- """ Description: A bot that takes a config and puts messages matching given regexes in specified IRC channels. See :term:`irc` for options. Think of it like a one-way firehose that spews fedmsg messages to IRC. """ from fedmsg.commands import BaseCommand from fedmsg.consumers.ircbot import IRCBotConsumer class IRCCommand(BaseCommand): """ Relay messages from the bus to any number of IRC channels. This is highly configurable by way of the :term:`irc` config value. """ name = "fedmsg-irc" extra_args = [] daemonizable = True def run(self): # Do just like in fedmsg.commands.hub and mangle fedmsg-config.py to # work with moksha's expected configuration. moksha_options = dict( zmq_subscribe_endpoints=','.join( ','.join(bunch) for bunch in self.config['endpoints'].values() ), ) self.config.update(moksha_options) self.config[IRCBotConsumer.config_key] = True from moksha.hub import main main( # Pass in our config dict options=self.config, # Only run this *one* consumer consumers=[IRCBotConsumer], # Tell moksah to quiet its logging framework=False, ) def ircbot(): command = IRCCommand() command.execute() fedmsg-0.7.1/fedmsg/commands/hub.py0000644000175000017500000000655512212110512021074 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import fedmsg from fedmsg.utils import load_class from fedmsg.commands import BaseCommand class HubCommand(BaseCommand): """ Run the fedmsg hub. ``fedmsg-hub`` is the all-purpose daemon. This should be run on every host that has services which declare their own consumers. ``fedmsg-hub`` will listen to every endpoint discovered by :mod:`fedmsg.config` and forward messages in-process to the locally-declared consumers. It is a thin wrapper over a moksha-hub. Other commands like ``fedmsg-irc`` are just specialized, restricted versions of ``fedmsg-hub``. ``fedmsg-hub`` is the most general/abstract. ``fedmsg-hub`` also houses the functions to run a websocket server. """ name = 'fedmsg-hub' daemonizable = True extra_args = [ (['--with-consumers'], { 'dest': 'explicit_hub_consumers', 'type': str, 'help': 'A comma-delimited list of conumers to run.', 'default': None, }), (['--websocket-server-port'], { 'dest': 'moksha.livesocket.websocket.port', 'type': int, 'help': 'Port on which to host the websocket server.', 'default': None, }), ] def run(self): # Check if the user wants the websocket server to run if self.config['moksha.livesocket.websocket.port']: self.config['moksha.livesocket.backend'] = 'websocket' # If the user wants to override any consumers installed on the system # and *only* run the ones they want to, they can do that. consumers = None if self.config['explicit_hub_consumers']: locations = self.config['explicit_hub_consumers'].split(',') locations = [load_class(location) for location in locations] # Rephrase the fedmsg-config.py config as moksha *.ini format. # Note that the hub we kick off here cannot send any message. You # should use fedmsg.publish(...) still for that. moksha_options = dict( zmq_subscribe_endpoints=','.join( ','.join(bunch) for bunch in self.config['endpoints'].values() ), ) self.config.update(moksha_options) from moksha.hub import main main( # Pass in our config dict options=self.config, # Only run the specified consumers if any are so specified. consumers=consumers, # Tell moksha to quiet its logging. framework=False, ) def hub(): command = HubCommand() command.execute() fedmsg-0.7.1/fedmsg/commands/tweet.py0000644000175000017500000000465112212110512021441 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import time import traceback import twitter as twitter_api import bitlyapi import fedmsg import fedmsg.meta from fedmsg.commands import BaseCommand from fedmsg.consumers.tweet import TweetBotConsumer class TweetCommand(BaseCommand): """ Rebroadcast messages to twitter and statusnet New values in the fedmsg configuration are needed for this to work. Lists and dicts of authentication credentials such as: - :term:`tweet_endpoints` - :term:`bitly_settings` And scalars to help with rate limiting such as: - :term:`tweet_hibernate_duration` - :term:`tweet_intermessage_pause` """ name = "fedmsg-tweet" extra_args = [] daemonizable = True def run(self): # First, sanity checking. if not self.config.get('tweet_endpoints', None): raise ValueError("Not configured to tweet.") # Do just like in fedmsg.commands.hub and mangle fedmsg-config.py to # work with moksha's expected configuration. moksha_options = dict( zmq_subscribe_endpoints=','.join( ','.join(bunch) for bunch in self.config['endpoints'].values() ), ) self.config.update(moksha_options) self.config[TweetBotConsumer.config_key] = True from moksha.hub import main main( # Pass in our config dict options=self.config, # Only run this *one* consumer consumers=[TweetBotConsumer], # Tell moksha to quiet its logging. framework=False, ) def tweet(): command = TweetCommand() command.execute() fedmsg-0.7.1/fedmsg/commands/__init__.py0000644000175000017500000000573712211410575022071 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import fedmsg import fedmsg.config import warnings import sys import logging try: # Python2.7 and later from logging.config import dictConfig except ImportError: # For Python2.6, we rely on a third party module. from logutils.dictconfig import dictConfig class BaseCommand(object): daemonizable = False extra_args = None def __init__(self): if not self.extra_args: self.extra_args = [] if self.daemonizable: self.extra_args.append( (['--daemon'], { 'dest': 'daemon', 'help': 'Run in the background as a daemon.', 'action': 'store_true', 'default': False, }) ) self.config = self.get_config() dictConfig(self.config.get('logging', {'version': 1})) self.log = logging.getLogger("fedmsg") def get_config(self): return fedmsg.config.load_config( self.extra_args, self.__doc__, fedmsg_command=True, ) def _handle_signal(self, signum, stackframe): from moksha.hub.reactor import reactor from moksha.hub import hub from twisted.internet.error import ReactorNotRunning if hub._hub: hub._hub.stop() try: reactor.stop() except ReactorNotRunning, e: warnings.warn(str(e)) def _daemonize(self): from daemon import DaemonContext try: from daemon.pidfile import TimeoutPIDLockFile as PIDLockFile except: from daemon.pidlockfile import PIDLockFile pidlock = PIDLockFile('/var/run/fedmsg/%s.pid' % self.name) output = file('/var/log/fedmsg/%s.log' % self.name, 'a') daemon = DaemonContext(pidfile=pidlock, stdout=output, stderr=output) daemon.terminate = self._handle_signal with daemon: return self.run() def execute(self): if self.daemonizable and self.config['daemon'] is True: return self._daemonize() else: try: return self.run() except KeyboardInterrupt: print fedmsg-0.7.1/fedmsg/commands/trigger.py0000644000175000017500000000710212212110512021746 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean import re import subprocess import sys import fedmsg import fedmsg.encoding from fedmsg.commands import BaseCommand class TriggerCommand(BaseCommand): """ Run a command whenever certain messages arrive. Feed the message to the given command over stdin. """ name = "fedmsg-trigger" extra_args = [ (['--topic'], { 'dest': 'topic', 'help': 'The topic pattern to listen for. Everything by default.', 'default': '', }), (['--exclude'], { 'dest': 'exclusive_regexp', 'metavar': 'REGEXP', 'help': 'Only show topics that do not match the supplied regexp.', 'default': '_heartbeat', }), (['--include'], { 'dest': 'inclusive_regexp', 'metavar': 'REGEXP', 'help': 'Only show topics that match the supplied regexp.', 'default': '^((?!_heartbeat).)*$', }), (['--command'], { 'dest': 'command', 'metavar': 'COMMAND', 'help': 'Command to run when a message matches our criteria.', 'default': None, }), ] def run_command(self, command, message): """ Use subprocess; feed the message to our command over stdin """ proc = subprocess.Popen([ 'echo \'%s\' | %s' % (fedmsg.encoding.dumps(message), command) ], shell=True, executable='/bin/bash') return proc.wait() def run(self): # This is a "required" option... :P if not self.config['command']: self.log.error("You must provide a --command to run.") sys.exit(1) # Disable sending self.config['publish_endpoint'] = None # Disable timeouts. We want to tail forever! self.config['timeout'] = 0 # Even though fedmsg-trigger won't be sending any messages, give it a # name to conform with the other commands. self.config['name'] = 'relay_inbound' # Tail is never going to send any messages, so we suppress warnings # about having no publishing sockets established. self.config['mute'] = True fedmsg.init(**self.config) exclusive_regexp = re.compile(self.config['exclusive_regexp']) inclusive_regexp = re.compile(self.config['inclusive_regexp']) for name, ep, topic, message in fedmsg.tail_messages(**self.config): if exclusive_regexp.search(topic): continue if not inclusive_regexp.search(topic): continue result = self.run_command(self.config['command'], message) if result != 0: self.log.info("Command returned error code %r" % result) def trigger(): command = TriggerCommand() return command.execute() fedmsg-0.7.1/fedmsg/commands/gateway.py0000644000175000017500000000467712212110512021762 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ """ import fedmsg from fedmsg.commands import BaseCommand from fedmsg.consumers.gateway import GatewayConsumer class GatewayCommand(BaseCommand): """ Rebroadcast messages to a special zmq endpoint. A repeater that rebroadcasts all messages received to a special zmq endpoint. This is used to get messages from inside Fedora Infrastructure out to users. Its communication is uni-directional. It does not relay messages from "outside the bus" back in. The special zmq endpoint is specified by the presence of :term:`fedmsg.consumers.gateway.port` in the config. This service is what makes using ":doc:`consuming`" outside the VPN/firewalled bus environment possible. """ name = 'fedmsg-gateway' daemonizable = True extra_args = [] def run(self): # Do just like in fedmsg.commands.hub and mangle fedmsg-config.py # to work with moksha's expected configuration. moksha_options = dict( zmq_subscribe_endpoints=','.join( ','.join(bunch) for bunch in self.config['endpoints'].values() ), ) self.config.update(moksha_options) # Flip the special bit that allows the GatewayConsumer to run self.config[GatewayConsumer.config_key] = True from moksha.hub import main main( # Pass in our config dict options=self.config, # Only run this *one* consumer consumers=[GatewayConsumer], # Tell moksha to quiet its logging. framework=False, ) def gateway(): command = GatewayCommand() command.execute() fedmsg-0.7.1/fedmsg/commands/collectd.py0000644000175000017500000001033312212110512022074 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import datetime import logging import socket import time import sys import pygments import pygments.lexers import pygments.formatters import fedmsg import fedmsg.encoding import fedmsg.meta from fedmsg.commands import BaseCommand from fedmsg.consumers import FedmsgConsumer from moksha.hub.api import PollingProducer from kitchen.iterutils import iterate class CollectdConsumer(FedmsgConsumer): config_key = "fedmsg.commands.collectd.enabled" validate_messages = False def __init__(self, hub): self.hub = hub # The consumer should pick up *all* messages. self.topic = self.hub.config.get('topic_prefix', 'org.fedoraproject') if not self.topic.endswith('*'): self.topic += '*' super(CollectdConsumer, self).__init__(hub) self._dict = dict([ (p.__name__.lower(), 0) for p in fedmsg.meta.processors ]) self.host = socket.gethostname().split('.')[0] def consume(self, msg): processor = fedmsg.meta.msg2processor(msg, **self.hub.config) modname = processor.__name__.lower() self._dict[modname] += 1 def dump(self): """ Called by CollectdProducer every `n` seconds. """ # Print out the collectd feedback. # This is sent to stdout while other log messages are sent to stderr. for k, v in sorted(self._dict.items()): print self.formatter(k, v) # Reset each entry to zero for k, v in sorted(self._dict.items()): self._dict[k] = 0 def formatter(self, key, value): """ Format messages for collectd to consume. """ template = "PUTVAL {host}/fedmsg/fedmsg_wallboard-{key} " +\ "interval={interval} {timestamp}:{value}" timestamp = int(time.time()) interval = self.hub.config['collectd_interval'] return template.format( host=self.host, timestamp=timestamp, value=value, interval=interval, key=key, ) class CollectdProducer(PollingProducer): # "Frequency" is set later at runtime. def poll(self): self.hub.consumers[0].dump() class CollectdCommand(BaseCommand): """ Print machine-readable information for collectd to monitor the bus. """ name = "fedmsg-collectd" extra_args = [ (['--collectd-interval'], { 'dest': 'collectd_interval', 'type': int, 'help': 'Number of seconds to sleep between collectd updates.', 'default': 2, }), ] def run(self): # Initialize the processors before CollectdConsumer is instantiated. fedmsg.meta.make_processors(**self.config) # Do just like in fedmsg.commands.hub and mangle fedmsg-config.py # to work with moksha's expected configuration. moksha_options = dict( mute=True, # Disable some warnings. zmq_subscribe_endpoints=','.join( ','.join(bunch) for bunch in self.config['endpoints'].values() ), ) self.config.update(moksha_options) self.config[CollectdConsumer.config_key] = True CollectdProducer.frequency = datetime.timedelta( seconds=self.config['collectd_interval'] ) from moksha.hub import main main(self.config, [CollectdConsumer], [CollectdProducer], framework=False) def collectd(): command = CollectdCommand() command.execute() fedmsg-0.7.1/fedmsg/doc_utilities.py0000644000175000017500000001231012212110512021337 0ustar threebeanthreebean00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ Code to generate doc/topics.rst during 'sphinx-build'. This code: - Uses :mod:`nose` to find all the fedmsg.meta unittests. - Extracts all the metadata and docstrings from those tests. - Uses all that to generate a giant .rst document of all the fedmsg topics and what they are about with example messages. """ import os import nose import pprint import textwrap header = """ List of Message Topics ====================== .. DO NOT EDIT THIS DOCUMENT. .. It is autogenerated from extras/topics-doc/make-topics-doc.py This document lists all the topics coming out the Fedora Infrastructure fedmsg bus. Example messages are included as well as descriptions and sample output from ``fedmsg.meta``. .. note:: All topics from Fedora Infrastructure are prefixed with ``org.fedoraproject.prod.``, but the :term:`topic_prefix` is omitted here for brevity. For instance, the item listed as ``git.branch`` will actually be broadcast as ``org.fedoraproject.prod.git.branch``. .. note:: Message bodies can contain some useful information, but be wary. We have done as good a job as we can *securing* fedmsg, but it is still a new system. If you receive a message from pkgdb claiming that "ralph" is the new owner of the kernel, you should still *check* with the *actual* pkgdb service that this is the case. Write code against fedmsg messages as a tip, but always check the authoritative source before taking any programmatic action. """ metadata_template = """ The example message above, when passed to various routines in the :mod:`fedmsg.meta` module, will produce the following outputs: - :func:`fedmsg.meta.msg2title` - {title} - :func:`fedmsg.meta.msg2subtitle` - {subtitle} - :func:`fedmsg.meta.msg2link` - {link} - :func:`fedmsg.meta.msg2icon` - {icon} - :func:`fedmsg.meta.msg2secondary_icon` - {secondary_icon} - :func:`fedmsg.meta.msg2usernames` - ``{usernames}`` - :func:`fedmsg.meta.msg2packages` - ``{packages}`` - :func:`fedmsg.meta.msg2objects` - ``{objects}`` """ outfile = None def write(fname, s=''): global outfile if not outfile: outfile = open(fname, 'w') outfile.write(s + '\n') def load_classes(folder): return list(list( nose.loader.defaultTestLoader().loadTestsFromDir(folder) )[0]) def make_topics_doc(output_dir): fname = output_dir + "/topics.rst" global outfile import fedmsg_meta_fedora_infrastructure filename = fedmsg_meta_fedora_infrastructure.__file__ folder = os.path.sep + os.path.join(*filename.split('/')[:-1]) test_classes = load_classes(folder) # TODO -- get the logger and announce messages #import fedmsg #filename = fedmsg.__file__ #folder = os.path.sep + os.path.join(*filename.split('/')[:-1]) #test_classes = load_classes(folder) write(fname, header) for cls in test_classes: if cls.context.msg: # Adjust {stg,dev} to prod. cls.context.msg['topic'] = cls.context.msg['topic']\ .replace('.stg.', '.prod.')\ .replace('.dev.', '.prod.') cls.context.expected_title = cls.context.expected_title\ .replace('.stg.', '.prod.')\ .replace('.dev.', '.prod.') topic = '.'.join(cls.context.msg['topic'].split('.')[3:]) cls.__topic = topic else: cls.__topic = None comparator = lambda a, b: cmp(a.__topic, b.__topic) test_classes = sorted(test_classes, comparator) seen = [] for cls in test_classes: if cls.context.msg: topic = cls.__topic # Ignore tests that check old messages. if 'Legacy' in cls.context.__name__: continue modname = topic.split('.')[0] if not modname in seen: seen.append(modname) write(fname, modname) write(fname, "-" * len(modname)) write(fname) write(fname, topic) write(fname, "~" * len(topic)) write(fname) # I would use __doc__ here, but something that nose is doing is # stripping the __doc__ from my original unit tests. Instead, # we'll use our own 'doc' attribute which is a little clumsy. if getattr(cls.context, 'doc', None): write(fname, textwrap.dedent(" " + cls.context.doc.strip())) write(fname) write(fname, ".. code-block:: python") write(fname, '\n ' + pprint.pformat(cls.context.msg, indent=2) .replace('\n', '\n ')) write(fname) write(fname, metadata_template.format( link=cls.context.expected_link, title=cls.context.expected_title, subtitle=cls.context.expected_subti, usernames=cls.context.expected_usernames, packages=cls.context.expected_packages, objects=cls.context.expected_objects, icon=cls.context.expected_icon, secondary_icon=cls.context.expected_secondary_icon, )) write(fname) outfile.close() if __name__ == '__main__': make_topics_doc() fedmsg-0.7.1/fedmsg/__init__.py0000644000175000017500000000540712207656441020273 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ Fedora Messaging Client API """ import threading import fedmsg.core import fedmsg.config __local = threading.local() __all__ = [ 'init', 'send_message', 'publish', 'subscribe', 'destroy', '__local', ] def init(**kw): """ Initialize an instance of :class:`fedmsg.core.FedMsgContext`. The config is loaded with :func:`fedmsg.config.load_config` and updated by any keyword arguments. This config is used to initialize the context object. The object is stored in a thread local as :data:`fedmsg.__local.__context`. """ if getattr(__local, '__context', None): raise ValueError("fedmsg already initialized") # Read config from CLI args and a config file config = fedmsg.config.load_config([], None) # Override the defaults with whatever the user explicitly passes in. config.update(kw) __local.__context = fedmsg.core.FedMsgContext(**config) return __local.__context def API_function(doc=None): def api_function(func): def _wrapper(*args, **kw): if not hasattr(__local, '__context'): init(**kw) assert(__local.__context) return func(*args, **kw) if not doc: _wrapper.__doc__ = func.__doc__ else: _wrapper.__doc__ = doc _wrapper.__name__ = func.__name__ return _wrapper return api_function @API_function(doc=fedmsg.core.FedMsgContext.publish.__doc__) def publish(topic=None, msg=None, **kw): return __local.__context.publish(topic, msg, **kw) # This is old-school, and deprecated. send_message = publish @API_function(doc=fedmsg.core.FedMsgContext.destroy.__doc__) def destroy(**kw): if hasattr(__local, '__context'): __local.__context.destroy() __local.__context = None @API_function(doc=fedmsg.core.FedMsgContext.tail_messages.__doc__) def tail_messages(**kw): for item in __local.__context.tail_messages(**kw): yield item fedmsg-0.7.1/fedmsg/crypto/0000755000175000017500000000000012221366312017463 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/crypto/gpg.py0000644000175000017500000001363012212110512020602 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2013 Simon Chopin # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Author: Simon Chopin import os import os.path import tempfile import shutil import subprocess import logging log = logging.getLogger(__name__) class GpgBinaryError(Exception): pass class Context(object): def __init__(self, keyrings=None, homedir=None): self.homedir = homedir or os.path.expanduser(u'~/.gnupg/') self.keyrings = keyrings or [] def _get_keyrings_cl(self, keyrings): cl = [] if keyrings: keyrings = self.keyrings + keyrings else: keyrings = self.keyrings for k in keyrings: cl.extend(["--keyring", k]) return cl def verify(self, data, signature=None, keyrings=None, homedir=None): ''' `data` the data to verify. `signature` The signature, if detached from the data. `keyrings` Additional keyrings to search in. `homedir` Override the configured homedir. ''' tmpdir = tempfile.mkdtemp() data_file, data_path = tempfile.mkstemp(dir=tmpdir) data_file = os.fdopen(data_file, 'w') data_file.write(data) data_file.close() if signature: sig_file, sig_path = tempfile.mkstemp(dir=tmpdir) sig_file = os.fdopen(sig_file, 'w') sig_file.write(signature) sig_file.close() else: sig_path = None try: return self.verify_from_file( data_path, sig_path=sig_path, keyrings=keyrings, homedir=homedir ) finally: shutil.rmtree(tmpdir) def verify_from_file(self, data_path, sig_path=None, keyrings=None, homedir=None): ''' `data_path` The path to the data to verify. `sig_path` The signature file, if detached from the data. `keyrings` Additional keyrings to search in. `homedir` Override the configured homedir. ''' cmd_line = ['gpg', '--homedir', homedir or self.homedir] cmd_line.extend(self._get_keyrings_cl(keyrings)) cmd_line.append('--verify') if sig_path: cmd_line.extend([sig_path, data_path]) else: cmd_line.append(data_path) p = subprocess.Popen(cmd_line, stderr=subprocess.PIPE) stdout, stderr = p.communicate() if p.returncode: raise GpgBinaryError(stderr) return True def clearsign(self, data, fingerprint, keyrings=None, homedir=None): cmd_line = ['gpg', '--homedir', homedir or self.homedir] cmd_line.extend(self._get_keyrings_cl(keyrings)) cmd_line.extend(['--local-user', fingerprint, '--clearsign']) p = subprocess.Popen( cmd_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) stdout, stderr = p.communicate(data) if p.returncode: raise GpgBinaryError(stderr) return stdout def sign(self, data, fingerprint, keyrings=None, homedir=None): cmd_line = ['gpg', '--homedir', homedir or self.homedir] cmd_line.extend(self._get_keyrings_cl(keyrings)) cmd_line.extend(['--local-user', fingerprint, '--detach-sign']) p = subprocess.Popen( cmd_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) stdout, stderr = p.communicate(data) if p.returncode: raise GpgBinaryError(stderr) return stdout # Here comes the part actually relevent to fedmsg """ ``fedmsg.crypto.gpg`` - GnuPG backend for :mod:`fedmsg.crypto` """ import fedmsg.encoding _ctx = Context() def sign(message, gpg_home=None, gpg_signing_key=None, **config): """ Insert a new field into the message dict and return it. The new field is: - 'signature' - the computed GPG message digest of the JSON repr of the `msg` field. """ if gpg_home is None or gpg_signing_key is None: raise ValueError("You must set the gpg_home \ and gpg_signing_key keyword arguments.") signature = _ctx.sign( fedmsg.encoding.dumps(message['msg']), gpg_signing_key, homedir=gpg_home ) return dict(message.items() + [('signature', signature.encode('base64'))]) def validate(message, gpg_home=None, **config): """ Return true or false if the message is signed appropriately. Two things must be true: 1) The signature must be valid (obviously) 2) The signing key must be in the local keyring as defined by the `gpg_home` config value. """ if gpg_home is None: raise ValueError("You must set the gpg_home keyword argument.") try: _ctx.verify( fedmsg.encoding.dumps(message['msg']), message['signature'].decode('base64'), homedir=gpg_home ) return True except GpgBinaryError as e: log.warn("Failed validation. {}".format(e.message)) return False fedmsg-0.7.1/fedmsg/crypto/__init__.py0000644000175000017500000001703412212110512021566 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ ``fedmsg.crypto`` - Cryptographic component of fedmsg. Introduction ------------ In general, we assume that 'everything on the bus is public'. Even though all the zmq endpoints are firewalled off from the outside world with iptables, we do have a forwarding service setup that indiscriminantly forwards all messages to anyone who wants them. (See :mod:`fedmsg.commands.gateway.gateway` for that service.) So, the issue is not encrypting messages so they can't be read. It is up to sensitive services like FAS to *not send* sensitive information in the first place (like passwords, for instance). However, since at some point, services will respond to and act on messages that come across the bus, we need facilities for guaranteeing a message comes from where it *ought* to come from. (Tangentially, message consumers need a simple way to declare where they expect their messages to come from and have the filtering and validation handled for them). There should also be a convenient way to turn crypto off both globally and locally. Justification: a developer may want to work out a bug without any messages being signed or validated. In production, certain senders may send non-critical data from a corner of Fedora Infrastructure in which it's difficult to sign messages. A consumer of those messages should be allowed to ignore validation for those and only those expected unsigned messages Two backend methods are available to accomplish this: - :mod:`fedmsg.crypto.x509` - :mod:`fedmsg.crypto.gpg` Which backend is used is configured by the :term:`crypto_backend` configuration value. Certificates ------------ To accomplish message signing, fedmsg must be able to read certificates and a private key on disk in the case of the :mod:`fedmsg.crypto.x509` backend or to read public and private GnuPG keys in the came of the :mod:`fedmsg.crypto.gpg` backend. For message validation, it only need be able to read the x509 certificate or gpg public key. Exactly *which* certificates are used are determined by looking up the ``certname`` in the :term:`certnames` config dict. We use a large number of certs for the deployment of fedmsg. We have one cert per `service-host`. For example, if we have 3 fedmsg-enabled services and each service runs on 10 hosts, then we have 30 unique certificate/key pairs in all. The intent is to create difficulty for attackers. If a low-security service on a particular box is compromised, we don't want the attacker automatically have access to the same certificate used for signing high-security service messages. Furthermore, attempts are made at the sysadmin-level to ensure that fedmsg-enabled services run as users that have exclusive read access to their own keys. See the `Fedora Infrastructure SOP `_ for more information (including how to generate new certs/bring up new services). Routing Policy -------------- Messages are also checked to see if the name of the certificate they bear and the topic they're routed on match up in a :term:`routing_policy` dict. Is the build server allowed to send messages about wiki updates? Not if the routing policy has anything to say about it. .. note:: By analogy, "signature validation is to authentication as routing policy checks are to authorization." If the topic of a message appears in the :term:`routing_policy`, the name borne on the certificate must also appear under the associated list of permitted publishers or the message is marked invalid. If the topic of a message does *not* appear in the :term:`routing_policy`, two different courses of action are possible: - If :term:`routing_nitpicky` is set to ``False``, then the message is given the green light. Our routing policy doesn't have anything specific to say about messages of this topic and so who are we to deny it passage, right? - If :term:`routing_nitpicky` is set to ``True``, then we deny the message and mark it as invalid. Typically, you'll deploy fedmsg with nitpicky mode turned off. You can build your policy over time as you determine what services will be sending what messages. Once deployment of fedmsg reaches a certain level of stability, you can turn nitpicky mode on for enhanced security, but by doing so you may break certain message paths that you've forgotten to include in your routing policy. Configuration ------------- By convention, configuration values for :mod:`fedmsg.crypto` are kept in ``/etc/fedmsg.d/ssl.py``, although technically they can be kept in any config ``dict`` in ``/etc/fedmsg.d`` (or in any of the config locations checked by :mod:`fedmsg.config`). The cryptography routines expect the following values to be defined: - :term:`crypto_backend` - :term:`sign_messages` - :term:`validate_signatures` - :term:`ssldir` - :term:`crl_location` - :term:`crl_cache` - :term:`crl_cache_expiry` - :term:`certnames` - :term:`routing_policy` - :term:`routing_nitpicky` For general information on configuration, see :mod:`fedmsg.config`. Module Contents --------------- :mod:`fedmsg.crypto` encapsulates standalone functions for: - Message signing. - Signature validation. - Stripping crypto information for view. See :mod:`fedmsg.crypto.x509` and :mod:`fedmsg.crypto.gpg` for implementation details. """ import copy _implementation = None def init(**config): """ Initialize the crypto backend. The backend can be one of two plugins: - 'x509' - Uses x509 certificates. - 'gpg' - Uses GnuPG keys. """ global _implementation if config.get('crypto_backend') == 'gpg': import gpg _implementation = gpg else: import x509 _implementation = x509 def sign(message, **config): """ Insert two new fields into the message dict and return it. Those fields are: - 'signature' - the computed message digest of the JSON repr. - 'certificate' - the base64 certificate or gpg key of the signator. """ if not _implementation: init(**config) return _implementation.sign(message, **config) def validate(message, **config): """ Return true or false if the message is signed appropriately. """ if not _implementation: init(**config) return _implementation.validate(message, **config) def strip_credentials(message): """ Strip credentials from a message dict. A new dict is returned without either `signature` or `certificate` keys. This method can be called safely; the original dict is not modified. This function is applicable using either using the x509 or gpg backends. """ message = copy.deepcopy(message) for field in ['signature', 'certificate']: if field in message: del message[field] return message fedmsg-0.7.1/fedmsg/crypto/x509.py0000644000175000017500000002225312221366272020553 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ ``fedmsg.crypto.x509`` - X.509 backend for :mod:`fedmsg.crypto`. """ import os import requests import time import fedmsg.crypto import fedmsg.encoding import logging log = logging.getLogger(__name__) try: import M2Crypto # FIXME - m2ext will be unnecessary once the following bug is closed. # https://bugzilla.osafoundation.org/show_bug.cgi?id=11690 import m2ext disabled = False except ImportError, e: logging.basicConfig() log.warn("Crypto disabled %r" % e) disabled = True def sign(message, ssldir=None, certname=None, **config): """ Insert two new fields into the message dict and return it. Those fields are: - 'signature' - the computed RSA message digest of the JSON repr. - 'certificate' - the base64 X509 certificate of the sending host. """ if disabled: return message if ssldir is None or certname is None: raise ValueError("You must set the ssldir and certname keyword arguments.") certificate = M2Crypto.X509.load_cert( "%s/%s.crt" % (ssldir, certname)).as_pem() # FIXME ? -- Opening this file requires elevated privileges in stg/prod. rsa_private = M2Crypto.RSA.load_key( "%s/%s.key" % (ssldir, certname)) digest = M2Crypto.EVP.MessageDigest('sha1') digest.update(fedmsg.encoding.dumps(message)) signature = rsa_private.sign(digest.digest()) # Return a new dict containing the pairs in the original message as well # as the new authn fields. return dict(message.items() + [ ('signature', signature.encode('base64')), ('certificate', certificate.encode('base64')), ]) def validate(message, ssldir=None, **config): """ Return true or false if the message is signed appropriately. Four things must be true: 1) The X509 cert must be signed by our CA 2) The cert must not be in our CRL. 3) We must be able to verify the signature using the RSA public key contained in the X509 cert. 4) The topic of the message and the CN on the cert must appear in the :term:`routing_policy` dict. """ if ssldir is None: raise ValueError("You must set the ssldir keyword argument.") def fail(reason): log.warn("Failed validation. %s" % reason) return False if disabled: fail("M2Crypto and/or m2ext missing!") # Some sanity checking for field in ['signature', 'certificate']: if not field in message: return fail("No %r field found." % field) if not isinstance(message[field], basestring): return fail("msg[%r] is not a string" % field) # Peal off the auth datums decode = lambda obj: obj.decode('base64') signature, certificate = map(decode, ( message['signature'], message['certificate'])) message = fedmsg.crypto.strip_credentials(message) # Build an X509 object cert = M2Crypto.X509.load_cert_string(certificate) # Validate the cert. Make sure it is signed by our CA. # validate_certificate will one day be a part of M2Crypto.SSL.Context # https://bugzilla.osafoundation.org/show_bug.cgi?id=11690 default_ca_cert_loc = 'https://fedoraproject.org/fedmsg/ca.crt' cafile = _load_remote_cert( config.get('ca_cert_location', default_ca_cert_loc), config.get('ca_cert_cache', '/etc/pki/fedmsg/ca.crt'), config.get('ca_cert_cache_expiry', 0), **config) ctx = m2ext.SSL.Context() ctx.load_verify_locations(cafile=cafile) if not ctx.validate_certificate(cert): return fail("X509 certificate is not valid.") # Load and check against the CRL crl = _load_remote_cert( config.get('crl_location', 'https://fedoraproject.org/fedmsg/crl.pem'), config.get('crl_cache', '/var/cache/fedmsg/crl.pem'), config.get('crl_cache_expiry', 1800), **config) crl = M2Crypto.X509.load_crl(crl) # FIXME -- We need to check that the CRL is signed by our own CA. # See https://bugzilla.osafoundation.org/show_bug.cgi?id=12954#c2 #if not ctx.validate_certificate(crl): # return fail("X509 CRL is not valid.") # FIXME -- we check the CRL, but by doing string comparison ourselves. # This is not what we want to be doing. # There is a patch into M2Crypto to handle this for us. We should use it # once its integrated upstream. # See https://bugzilla.osafoundation.org/show_bug.cgi?id=12954#c2 revoked_serials = [long(line.split(': ')[1].strip(), base=16) for line in crl.as_text().split('\n') if 'Serial Number:' in line] if cert.get_serial_number() in revoked_serials: return fail("X509 certificate is in the Revocation List (CRL)") # If the cert is good, then test to see if the signature in the messages # matches up with the provided cert. rsa_public = cert.get_pubkey().get_rsa() digest = M2Crypto.EVP.MessageDigest('sha1') digest.update(fedmsg.encoding.dumps(message)) try: if not rsa_public.verify(digest.digest(), signature): raise M2Crypto.RSA.RSAError("RSA signature failed to validate.") except M2Crypto.RSA.RSAError as e: return fail(str(e)) # Now we know that the cert is valid. The message is *authenticated*. # * Next step: Authorization * # Load our policy from the config dict. routing_policy = config.get('routing_policy', {}) # Determine the name of the signer of the message. # This will be something like "shell-pkgs01.stg.phx2.fedoraproject.org" subject = cert.get_subject() signer = subject.get_entries_by_nid(subject.nid['CN'])[0]\ .get_data().as_text() # Perform the authz dance # Do we have a list of permitted senders for the topic of this message? if message['topic'] in routing_policy: # If so.. is the signer one of those permitted senders? if signer in routing_policy[message['topic']]: # We are good. The signer of this message is explicitly # whitelisted to send on this topic in our config policy. pass else: # We have a policy for this topic and $homeboy isn't on the list. return fail("Authorization/routing_policy error. " "Topic %r. Signer %r." % (message['topic'], signer)) else: # We don't have a policy for this topic. How we react next for an # underspecified routing_policy is based on a configuration option. # Ideally, we are in nitpicky mode. We leave it disabled while # standing up fedmsg across our environment so that we can build our # policy without having the whole thing come crashing down. if config.get('routing_nitpicky', False): # We *are* in nitpicky mode. We don't have an entry in the # routing_policy for the topic of this message.. and *nobody* # gets in without a pass. That means that we fail the message. return fail("Authorization/routing_policy underspecified.") else: # We are *not* in nitpicky mode. We don't have an entry in the # routing_policy for the topic of this message.. but we don't # really care. We pass on the message and ultimately return # True later on. pass return True def _load_remote_cert(location, cache, cache_expiry, **config): """ Get a fresh copy from fp.o/fedmsg/crl.pem if ours is getting stale. Return the local filename. """ try: modtime = os.stat(cache).st_mtime except OSError: # File does not exist yet. modtime = 0 if ( (not modtime and not cache_expiry) or (cache_expiry and time.time() - modtime > cache_expiry) ): try: response = requests.get(location) with open(cache, 'w') as f: f.write(response.content) except requests.exceptions.ConnectionError: log.warn("Could not access %r" % location) except IOError as e: # If we couldn't write to the specified cache location, try a # similar place but inside our home directory instead. cache = os.path.expanduser("~/.local" + cache) usr_dir = '/'.join(cache.split('/')[:-1]) if not os.path.isdir(usr_dir): os.makedirs(usr_dir) with open(cache, 'w') as f: f.write(response.content) return cache fedmsg-0.7.1/fedmsg/tests/0000755000175000017500000000000012221366312017305 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/tests/test_meta.py0000644000175000017500000001416612212110512021641 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ Tests for fedmsg.meta """ import os import unittest from nose import SkipTest from nose.tools import eq_ from nose.tools.nontrivial import make_decorator import fedmsg.meta from common import load_config def skip_on(attributes): """ A test decorator that will skip if any of the named attributes are left unspecified (are None-valued). """ def wrapper(func): @make_decorator(func) def inner(self): for attr in attributes: if getattr(self, attr) is None: raise SkipTest("%r left unspecified" % attr) return func(self) return inner return wrapper class Base(unittest.TestCase): msg = None expected_title = None expected_subti = None expected_link = None expected_icon = None expected_secondary_icon = None expected_usernames = None expected_packages = None expected_objects = None expected_emails = None expected_avatars = None def setUp(self): dirname = os.path.abspath(os.path.dirname(__file__)) self.config = fedmsg.config.load_config( filenames=[os.path.join(dirname, "fedmsg-test-config.py")], invalidate_cache=True, ) self.config['topic_prefix'] = 'org.fedoraproject' self.config['topic_prefix_re'] = '^org\.fedoraproject\.(dev|stg|prod)' fedmsg.meta.make_processors(**self.config) @skip_on(['msg', 'expected_title']) def test_title(self): """ Does fedmsg.meta produce the expected title? """ actual_title = fedmsg.meta.msg2title(self.msg, **self.config) eq_(actual_title, self.expected_title) @skip_on(['msg', 'expected_subti']) def test_subtitle(self): """ Does fedmsg.meta produce the expected subtitle? """ actual_subti = fedmsg.meta.msg2subtitle(self.msg, **self.config) eq_(actual_subti, self.expected_subti) @skip_on(['msg', 'expected_link']) def test_link(self): """ Does fedmsg.meta produce the expected link? """ actual_link = fedmsg.meta.msg2link(self.msg, **self.config) eq_(actual_link, self.expected_link) @skip_on(['msg', 'expected_icon']) def test_icon(self): """ Does fedmsg.meta produce the expected icon? """ actual_icon = fedmsg.meta.msg2icon(self.msg, **self.config) eq_(actual_icon, self.expected_icon) @skip_on(['msg', 'expected_secondary_icon']) def test_secondary_icon(self): """ Does fedmsg.meta produce the expected secondary icon? """ actual_icon = fedmsg.meta.msg2secondary_icon(self.msg, **self.config) eq_(actual_icon, self.expected_secondary_icon) @skip_on(['msg', 'expected_usernames']) def test_usernames(self): """ Does fedmsg.meta produce the expected list of usernames? """ actual_usernames = fedmsg.meta.msg2usernames(self.msg, **self.config) eq_(actual_usernames, self.expected_usernames) @skip_on(['msg', 'expected_packages']) def test_packages(self): """ Does fedmsg.meta produce the expected list of packages? """ actual_packages = fedmsg.meta.msg2packages(self.msg, **self.config) eq_(actual_packages, self.expected_packages) @skip_on(['msg', 'expected_objects']) def test_objects(self): """ Does fedmsg.meta produce the expected list of objects? """ actual_objects = fedmsg.meta.msg2objects(self.msg, **self.config) eq_(actual_objects, self.expected_objects) @skip_on(['msg', 'expected_emails']) def test_emails(self): """ Does fedmsg.meta produce the expected list of emails? """ actual_emails = fedmsg.meta.msg2emails(self.msg, **self.config) eq_(actual_emails, self.expected_emails) @skip_on(['msg', 'expected_avatars']) def test_avatars(self): """ Does fedmsg.meta produce the expected list of avatars? """ actual_avatars = fedmsg.meta.msg2avatars(self.msg, **self.config) eq_(actual_avatars, self.expected_avatars) class TestUnhandled(Base): expected_title = "unhandled_service.some_event" expected_subti = "" msg = { "topic": "org.fedoraproject.stg.unhandled_service.some_event" } class TestAnnouncement(Base): expected_title = "announce.announcement" expected_subti = 'hello, world.' expected_link = 'foo' expected_usernames = set(['ralph']) msg = { "i": 1, "timestamp": 1344352873.714926, "topic": "org.fedoraproject.dev.announce.announcement", "msg": { "message": "hello, world.", "link": "foo", }, 'username': 'ralph', } class TestLoggerNormal(Base): expected_title = "logger.log" expected_subti = 'hello, world.' expected_usernames = set(['ralph']) msg = { "i": 1, "timestamp": 1344352873.714926, "topic": "org.fedoraproject.dev.logger.log", "msg": { "log": "hello, world." }, 'username': 'ralph', } class TestLoggerJSON(Base): expected_title = "logger.log" expected_subti = '' expected_usernames = set(['root']) msg = { "i": 1, "timestamp": 1344352929.415939, "topic": "org.fedoraproject.dev.logger.log", "msg": { "foo": "bar" }, 'username': 'root', } if __name__ == '__main__': unittest.main() fedmsg-0.7.1/fedmsg/tests/test_utils.py0000644000175000017500000000064012212110512022043 0ustar threebeanthreebean00000000000000from nose.tools import raises, eq_ from fedmsg.utils import load_class def test_load_class_succeed(): cls = load_class("shelve:Shelf") from shelve import Shelf eq_(cls, Shelf) @raises(ImportError) def test_load_class_import_error(): cls = load_class("thisisnotapackage:ThisIsNotAClass") @raises(ImportError) def test_load_class_attribute_error(): cls = load_class("shelve:ThisIsNotAClass") fedmsg-0.7.1/fedmsg/tests/test_config.py0000644000175000017500000000360512207656441022200 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ Tests for fedmsg.config """ import unittest from nose.tools import eq_ import fedmsg.config class RecursiveUpdateBase(unittest.TestCase): originals = None expected = None def test_match(self): """ Does fedmsg.config._recursive_update produce the expected result? """ if None in (self.originals, self.expected): return actual = dict() for o in self.originals: actual = fedmsg.config._recursive_update(actual, o) eq_(actual, self.expected) class TestSimpleOne(RecursiveUpdateBase): originals = [dict(a=2)] expected = dict(a=2) class TestSimpleTwo(RecursiveUpdateBase): originals = [ dict(a=2), dict(b=3), ] expected = dict(a=2, b=3) class TestOverwrite(RecursiveUpdateBase): originals = [ dict(a=2), dict(a=3), ] expected = dict(a=3) class TestMerge(RecursiveUpdateBase): originals = [ dict(a=dict(a=2)), dict(a=dict(b=3)), ] expected = dict(a=dict(a=2, b=3)) if __name__ == '__main__': unittest.main() fedmsg-0.7.1/fedmsg/tests/test_crypto_gpg.py0000644000175000017500000000741212212110512023064 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import os import functools from nose.tools import raises from nose.exc import SkipTest import nose.tools.nontrivial import unittest import fedmsg.crypto.gpg SEP = os.path.sep here = SEP.join(__file__.split(SEP)[:-1]) data_dir = SEP.join((here, 'test_certs', 'gpg')) keyrings = [] clear_data_path = os.path.join(data_dir, "test_data") secret_fp = 'FBDA 92E4 338D FFD9 EB83 F8F6 3FBD B725 DA19 B4EC' def skip_on_travis(fn): """ A decorator that just skips some tests on travis-ci.org """ @functools.wraps(fn) def newfunc(self, *args, **kw): if os.environ.get('TRAVIS', None): raise SkipTest("gpg permissions are weird on travis-ci.org") return fn(self, *args, **kw) return nose.tools.nontrivial.make_decorator(fn)(newfunc) class TestGpg(unittest.TestCase): def setUp(self): self.ctx = fedmsg.crypto.gpg.Context(keyrings = keyrings, homedir = data_dir) def test_verif_detach_sig(self): signature_path = os.path.join(data_dir, "test_data.sig") self.ctx.verify(open(clear_data_path).read(), signature = open(signature_path).read()) self.ctx.verify_from_file(clear_data_path, sig_path=signature_path) @raises(fedmsg.crypto.gpg.GpgBinaryError) def test_corrupt_detach_sig(self): signature_path = os.path.join(data_dir, "corrupt.sig") self.ctx.verify_from_file(clear_data_path, sig_path=signature_path) @skip_on_travis def test_sign_cleartext(self): test_data = 'I can haz a signature?' signed_text = self.ctx.clearsign(test_data, fingerprint=secret_fp) self.ctx.verify(signed_text) @skip_on_travis def test_sign_detached(self): test_data = 'I can haz a signature?' signature = self.ctx.sign(test_data, fingerprint=secret_fp) self.ctx.verify(test_data, signature) import fedmsg.crypto class TestCryptoGPG(unittest.TestCase): def setUp(self): self.config = { 'crypto_backend': 'gpg', 'gpg_home': SEP.join((here, 'test_certs', 'gpg')), 'gpg_signing_key': 'FBDA 92E4 338D FFD9 EB83 F8F6 3FBD B725 DA19 B4EC' } def tearDown(self): self.config = None @skip_on_travis def test_full_circle(self): """ Try to sign and validate a message. """ message = dict(msg='awesome') signed = fedmsg.crypto.sign(message, **self.config) assert fedmsg.crypto.validate(signed, **self.config) @skip_on_travis def test_failed_validation(self): message = dict(msg='awesome') signed = fedmsg.crypto.sign(message, **self.config) # space aliens read data off the wire and inject incorrect data signed['msg'] = "eve wuz here" assert not fedmsg.crypto.validate(signed, **self.config) def tearDown(self): # We have to reset the implementation in fedmsg.crypto otherwise all the other tests will use the gpg backend fedmsg.crypto._implementation = None if __name__ == '__main__': unittest.main() fedmsg-0.7.1/fedmsg/tests/test_commands.py0000644000175000017500000001410412212110512022504 0ustar threebeanthreebean00000000000000import unittest from mock import Mock from mock import patch from datetime import datetime import time import json import os import fedmsg import fedmsg.core import fedmsg.config import fedmsg.commands from fedmsg.commands.logger import LoggerCommand from fedmsg.commands.tail import TailCommand from fedmsg.commands.relay import RelayCommand import fedmsg.consumers.relay from nose.tools import eq_ import threading import six class TestCommands(unittest.TestCase): def setUp(self): self.local = threading.local() # Crazy. I'm sorry. os.environ['TZ'] = 'US/Central' time.tzset() def tearDown(self): del self.local self.local = None @patch("sys.argv", new_callable=lambda: ["fedmsg-logger"]) @patch("sys.stdout", new_callable=six.StringIO) def test_logger_basic(self, stdout, argv): test_input = "a message for you" if six.PY3: stdin = lambda: six.StringIO(test_input) else: stdin = lambda: six.StringIO(test_input.encode('utf-8')) msgs = [] def mock_publish(context, topic=None, msg=None, modname=None): msgs.append(msg) config = {} with patch("fedmsg.__local", self.local): with patch("fedmsg.config.__cache", config): with patch("fedmsg.core.FedMsgContext.publish", mock_publish): with patch("sys.stdin", new_callable=stdin): command = LoggerCommand() command.execute() eq_(msgs, [{'log': test_input}]) @patch("sys.argv", new_callable=lambda: ["fedmsg-logger", "--json-input"]) @patch("sys.stdout", new_callable=six.StringIO) def test_logger_json(self, stdout, argv): test_input_dict = {"hello": "world"} test_input = json.dumps(test_input_dict) if six.PY3: stdin = lambda: six.StringIO(test_input) else: stdin = lambda: six.StringIO(test_input.encode('utf-8')) msgs = [] def mock_publish(context, topic=None, msg=None, modname=None): msgs.append(msg) config = {} with patch("fedmsg.__local", self.local): with patch("fedmsg.config.__cache", config): with patch("fedmsg.core.FedMsgContext.publish", mock_publish): with patch("sys.stdin", new_callable=stdin): command = LoggerCommand() command.execute() eq_(msgs, [test_input_dict]) @patch("sys.argv", new_callable=lambda: ["fedmsg-tail"]) @patch("sys.stdout", new_callable=six.StringIO) def test_tail_basic(self, stdout, argv): def mock_tail(self, topic="", passive=False, **kw): yield ("name", "endpoint", "topic", dict(topic="topic")) config = {} with patch("fedmsg.__local", self.local): with patch("fedmsg.config.__cache", config): with patch("fedmsg.core.FedMsgContext.tail_messages", mock_tail): command = fedmsg.commands.tail.TailCommand() command.execute() output = stdout.getvalue() expected = "{'topic': 'topic'}\n" assert(output.endswith(expected)) @patch("sys.argv", new_callable=lambda: ["fedmsg-tail", "--pretty"]) @patch("sys.stdout", new_callable=six.StringIO) def test_tail_pretty(self, stdout, argv): msgs = [] def mock_tail(self, topic="", passive=False, **kw): msg = dict( msg=dict(hello="world"), msg_id='2ad5aaf8-68af-4a6d-9196-2a8b43a73238', timestamp=1354563717.472648, # Once upon a time... topic="org.threebean.prod.testing", ) yield ("name", "endpoint", "topic", msg) config = {} with patch("fedmsg.__local", self.local): with patch("fedmsg.config.__cache", config): with patch("fedmsg.core.FedMsgContext.tail_messages", mock_tail): command = fedmsg.commands.tail.TailCommand() command.execute() output = stdout.getvalue() expected = "{'msg': {'hello': 'world'}," assert(expected in output) @patch("sys.argv", new_callable=lambda: ["fedmsg-tail", "--really-pretty"]) @patch("sys.stdout", new_callable=six.StringIO) def test_tail_really_pretty(self, stdout, argv): msgs = [] def mock_tail(self, topic="", passive=False, **kw): msg = dict( msg=dict(hello="world"), msg_id='2ad5aaf8-68af-4a6d-9196-2a8b43a73238', timestamp=1354563717.472648, # Once upon a time... topic="org.threebean.prod.testing", ) yield ("name", "endpoint", "topic", msg) config = {} with patch("fedmsg.__local", self.local): with patch("fedmsg.config.__cache", config): with patch("fedmsg.core.FedMsgContext.tail_messages", mock_tail): command = fedmsg.commands.tail.TailCommand() command.execute() output = stdout.getvalue() expected = \ '\x1b[33m"hello"\x1b[39;49;00m:\x1b[39;49;00m \x1b[39;49;00m' + \ '\x1b[33m"world"\x1b[39;49;00m' assert(expected in output) @patch("sys.argv", new_callable=lambda: ["fedmsg-relay"]) def test_relay(self, argv): actual_options = [] def mock_main(options, consumers, framework): actual_options.append(options) config = {} with patch("fedmsg.__local", self.local): with patch("fedmsg.config.__cache", config): with patch("moksha.hub.main", mock_main): command = fedmsg.commands.relay.RelayCommand() command.execute() actual_options = actual_options[0] assert( fedmsg.consumers.relay.RelayConsumer.config_key in actual_options ) assert( actual_options[fedmsg.consumers.relay.RelayConsumer.config_key] ) fedmsg-0.7.1/fedmsg/tests/test_hub.py0000644000175000017500000001400112212110512021455 0ustar threebeanthreebean00000000000000# This file *was* a part of Moksha. # Copyright (C) 2008-2010 Red Hat, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import unittest import os import socket from time import sleep, time from uuid import uuid4 from moksha.hub.tests.test_hub import simulate_reactor from moksha.hub.hub import MokshaHub from moksha.hub import CentralMokshaHub from fedmsg.core import FedMsgContext from nose.tools import eq_, assert_true, assert_false, raises import fedmsg.config import fedmsg.consumers import fedmsg.encoding from common import load_config # Some constants used throughout the hub tests sleep_duration = 0.25 secret = "secret_message" # This used to raise a keyerror, but no longer. @raises(KeyError) def test_init_missing_endpoint(): """ Try to initialize the context with a nonexistant service name. """ config = load_config() config['name'] = "failboat" config['sign_messages'] = True context = FedMsgContext(**config) class TestHub(unittest.TestCase): def setUp(self): config = load_config() self.hub = CentralMokshaHub(config=config) self.context = FedMsgContext(**config) # fully qualified self.fq_topic = "com.test_prefix.dev.unittest.foo" # short version self.topic = "foo" def tearDown(self): self.context.destroy() self.hub.close() def test_send_recv(self): """ Send a message and receive it. Admittedly, this is not a unit test, but an integration test. It tests: - Sending a message. - Receiving a message. - Encoding *and* decoding. """ messages_received = [] def callback(json): messages_received.append(fedmsg.encoding.loads(json.body)) self.hub.subscribe(topic=self.fq_topic, callback=callback) sleep(sleep_duration) self.context.publish(topic=self.topic, msg=secret) simulate_reactor(sleep_duration) sleep(sleep_duration) eq_(len(messages_received), 1) eq_(messages_received[0]['msg'], secret) def fake_register_consumer(self, cons): """ Fake register a consumer, not by entry-point like usual. Normally, consumers are identified by the hub by way of entry-points Ideally, this test would register the TestConsumer on the moksha.consumers entry point, and the hub would pick it up. I'm not sure how to do that, so we're going to fake it and manually add this consumer to the list of consumers of which the Hub is aware. """ self.hub.topics[cons.topic] = self.hub.topics.get(cons.topic, []) self.hub.topics[cons.topic].append(cons(self.hub).consume) sleep(sleep_duration) def test_consumer(self): """ Check that a consumer can get messages. """ obj = {'secret': secret} messages_received = [] class TestConsumer(fedmsg.consumers.FedmsgConsumer): topic = self.fq_topic config_key = "test_consumer_enabled" def consume(self, message): messages_received.append( message['body']['msg'] ) self.fake_register_consumer(TestConsumer) # Now, send a generic message to that topic, and see if the consumer # processed it. self.context.publish(topic=self.topic, msg=obj) simulate_reactor(sleep_duration) sleep(sleep_duration) eq_(len(messages_received), 1) eq_(messages_received[0], obj) def test_double_consumers(self): """ Check that two consumers can get messages. """ obj = {'secret': secret} messages_received = [] class TestConsumer1(fedmsg.consumers.FedmsgConsumer): topic = self.fq_topic config_key = "test_consumer_enabled" def consume(self, message): messages_received.append( message['body']['msg'] ) class TestConsumer2(fedmsg.consumers.FedmsgConsumer): topic = self.fq_topic config_key = "test_consumer_enabled" def consume(self, message): messages_received.append( message['body']['msg'] ) self.fake_register_consumer(TestConsumer1) self.fake_register_consumer(TestConsumer2) # Now, send a generic message to that topic, and see if the consumer # processed it. self.context.publish(topic=self.topic, msg=obj) simulate_reactor(sleep_duration) sleep(sleep_duration) eq_(len(messages_received), 2) eq_(messages_received[0], obj) eq_(messages_received[1], obj) def test_consumer_failed_validation(self): """ Check that a consumer won't consume invalid message. """ obj = {'secret': secret} messages_received = [] class TestConsumer(fedmsg.consumers.FedmsgConsumer): topic = self.fq_topic config_key = "test_consumer_enabled" def consume(self, message): messages_received.append( message['body']['msg'] ) def validate(self, message): raise RuntimeWarning("Marking message as invalid.") self.fake_register_consumer(TestConsumer) self.context.publish(topic=self.topic, msg=obj) simulate_reactor(sleep_duration) sleep(sleep_duration) # Verify that we received no message. eq_(len(messages_received), 0) if __name__ == '__main__': unittest.main() fedmsg-0.7.1/fedmsg/tests/test_core.py0000644000175000017500000000224612212110512021637 0ustar threebeanthreebean00000000000000import unittest import mock import warnings from fedmsg.core import FedMsgContext from common import load_config class TestCore(unittest.TestCase): def setUp(self): config = load_config() config['io_threads'] = 1 self.ctx = FedMsgContext(**config) def test_send_message(self): """send_message is deprecated It tests - deprecation warning showing up appropriately - that we call publish method behind the scene """ fake_topic = "org.fedoraproject.prod.compose.rawhide.complete" fake_msg = "{'arch'': 's390', 'branch': 'rawhide', 'log': 'done'}" self.ctx.publish = mock.Mock(spec_set=FedMsgContext.publish) with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") self.ctx.send_message(topic=fake_topic, msg=fake_msg) assert len(w) == 1 assert str(w[0].message) == ".send_message is deprecated." assert self.ctx.publish.called topic, msg, modname = self.ctx.publish.call_args[0] assert topic == fake_topic assert msg == fake_msg assert modname is None fedmsg-0.7.1/fedmsg/tests/test_replay.py0000644000175000017500000002034312212153037022212 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2013 Simon Chopin # ''' Tests for fedmsg.replay ''' import sys if sys.version_info[0] == 2 and sys.version_info[1] < 7: import unittest2 as unittest else: import unittest from nose.tools import raises from mock import Mock, call import json import time from datetime import datetime import zmq import socket from threading import Thread, Event from common import load_config from fedmsg.replay import ReplayContext, get_replay from fedmsg.replay.sqlstore import SqlStore, SqlMessage from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine hostname = socket.gethostname().split('.', 1)[0] local_name = 'unittest.{0}'.format(hostname) @raises(KeyError) def test_init_missing_endpoint(): """ Try to initialize the context with a nonexistant service name. """ config = load_config() config['persistent_store'] = Mock() config['name'] = "failboat" context = ReplayContext(**config) @raises(ValueError) def test_init_missing_store(): config = load_config() context = ReplayContext(**config) @raises(IOError) def test_init_invalid_endpoint(): try: config = load_config() config['name'] = local_name config['persistent_store'] = Mock() tmp = zmq.Context() placeholder = tmp.socket(zmq.REP) placeholder.bind('tcp://*:{0}'.format( config["replay_endpoints"][local_name].rsplit(':')[-1] )) context = ReplayContext(**config) finally: placeholder.close() class TestReplayContext(unittest.TestCase): def setUp(self): self.config = load_config() self.config['name'] = local_name self.config['persistent_store'] = Mock() self.replay_context = ReplayContext(**self.config) self.request_context = zmq.Context() self.request_socket = self.request_context.socket(zmq.REQ) self.request_socket.connect( self.config['replay_endpoints'][local_name]) def tearDown(self): self.request_socket.close() self.replay_context.publisher.close() def test_get_replay(self): # Setup the store to return what we ask. answer = [{'foo': 'bar'}] self.config['persistent_store'].get = Mock(side_effect=[answer]) # Doesn't matter what we send as long as it is legit JSON, # since the store is mocked self.request_socket.send('{"id": 1}') self.replay_context._req_rep_cycle() rep = self.request_socket.recv_multipart() print rep print answer assert len(answer) == len(rep) for r, a in zip(rep, answer): self.assertDictEqual(json.loads(r), a) def test_get_error(self): # Setup the store to return what we ask. answer = ValueError('No luck!') self.config['persistent_store'].get = Mock(side_effect=[answer]) # Doesn't matter what we send as long as it is legit JSON, # since the store is mocked self.request_socket.send('{"id": 1}') self.replay_context._req_rep_cycle() rep = self.request_socket.recv_multipart() print rep assert len(rep) == 1 and "error: 'No luck!'" == rep[0] class TestSqlStore(unittest.TestCase): def setUp(self): self.engine = create_engine('sqlite:///:memory:') self.store = SqlStore(self.engine) msgs = [ { "i": 0, "topic": "org.foo.bar", "msg_id": "11111111-1111-1111-1111-111111111111", "timestamp": 2, "seq_id": 1, "msg": {"foo": "bar"}, }, { "i": 1, "topic": "org.foo.bar", "msg_id": "22222222-2222-2222-2222-222222222222", "timestamp": 10, "seq_id": 2, "msg": {"foo": "baz"}, } ] session = self.store.session_class() for m in msgs: session.add(SqlMessage( seq_id=m['seq_id'], uuid=m['msg_id'], timestamp=datetime.fromtimestamp(m['timestamp']), topic=m['topic'], msg=json.dumps(m) )) session.commit() def test_add(self): orig_msg = { "i": 2, "topic": "org.foo.bar", "msg_id": "33333333-3333-3333-3333-333333333333", "timestamp": 20, "msg": {"foo": "foo"} } # make a copy to avoid squewing the comparison ret = self.store.add(dict(orig_msg)) orig_msg['seq_id'] = 3 self.assertDictEqual(ret, orig_msg) session = self.store.session_class() sql_msg = session.query(SqlMessage)\ .filter(SqlMessage.seq_id == 3).one() self.assertDictEqual(json.loads(sql_msg.msg), orig_msg) def test_get_seq_id(self): first = self.store.get({"seq_id": 1}) assert len(first) == 1 and first[0]['i'] == 0 def test_get_time(self): first, second = self.store.get({"time": [0, 15]}) assert ( (first['i'] == 0 and second['i'] == 1) or (first['i'] == 1 and second['i'] == 0)) @raises(ValueError) def test_get_wrong_seq_id(self): first = self.store.get({"seq_id": 18}) @raises(ValueError) def test_get_illformed_time(self): first, second = self.store.get({"time": [0, 15, 3]}) class ReplayThread(Thread): def __init__(self, context): self.stop = Event() self.context = context super(ReplayThread, self).__init__() def run(self): try: while not self.stop.is_set(): self.context._req_rep_cycle() finally: self.context.publisher.close() class TestGetReplay(unittest.TestCase): def setUp(self): self.config = load_config() self.config['name'] = local_name self.config['mute'] = True self.config['persistent_store'] = Mock() self.replay_context = ReplayContext(**self.config) self.replay_thread = ReplayThread(self.replay_context) self.context = zmq.Context() def tearDown(self): self.replay_thread.stop.set() @raises(IOError) def test_get_replay_no_available_endpoint(self): #self.replay_thread.start() msgs = list(get_replay( "phony", {"seq_ids": [1, 2]}, self.config, self.context )) @raises(ValueError) def test_get_replay_wrong_query(self): # We don't actually test with a wrong query, we just throw back an # error from the store. self.config['persistent_store'].get = Mock( side_effect=[ValueError("this is an error")]) self.replay_thread.start() msgs = list(get_replay( local_name, {"seq_ids": [1, 2]}, self.config, self.context )) def test_get_replay(self): # As before, the correctness of the query doesn't matter much # since it is taken care of on the server side. orig_msg = { "i": 2, "seq_id": 3, "topic": "org.foo.bar", "msg_id": "33333333-3333-3333-3333-333333333333", "timestamp": 20, "msg": {"foo": "foo"} } self.config['persistent_store'].get = Mock(side_effect=[[orig_msg]]) self.replay_thread.start() msgs = list(get_replay( local_name, {"seq_id": 3}, self.config, self.context )) assert len(msgs) == 1 self.assertDictEqual(msgs[0], orig_msg) fedmsg-0.7.1/fedmsg/tests/test_crypto_x509.py0000644000175000017500000000467512212110512023024 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # import os try: # For python-2.6, so we can do skipTest import unittest2 as unittest except ImportError: import unittest import fedmsg.crypto SEP = os.path.sep here = SEP.join(__file__.split(SEP)[:-1]) def skip_if_missing_libs(f): def _wrapper(self, *args, **kw): try: import M2Crypto import m2ext except ImportError, e: self.skipTest(str(e)) return f(self, *args, **kw) return _wrapper class TestCryptoX509(unittest.TestCase): def setUp(self): self.config = { # Normally this is /var/lib/puppet/ssl 'ssldir': SEP.join((here, 'test_certs/keys')), # Normally this is 'app01.stg.phx2.fedoraproject.org' 'certname': 'shell-app01.phx2.fedoraproject.org', 'crl_location': "http://threebean.org/fedmsg-tests/crl.pem", 'crl_cache': "/tmp/crl.pem", 'crl_cache_expiry': 10, } def tearDown(self): self.config = None @skip_if_missing_libs def test_full_circle(self): """ Try to sign and validate a message. """ message = dict(msg='awesome') signed = fedmsg.crypto.sign(message, **self.config) assert fedmsg.crypto.validate(signed, **self.config) @skip_if_missing_libs def test_failed_validation(self): message = dict(msg='awesome') signed = fedmsg.crypto.sign(message, **self.config) # space aliens read data off the wire and inject incorrect data signed['msg'] = "eve wuz here" assert not fedmsg.crypto.validate(signed, **self.config) if __name__ == '__main__': unittest.main() fedmsg-0.7.1/fedmsg/tests/fedmsg-test-config.py0000644000175000017500000000572312212155403023350 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ Test config. """ import os import socket import random SEP = os.path.sep here = os.getcwd() hostname = socket.gethostname().split('.', 1)[0] ssl_enabled_for_tests = True try: import M2Crypto import m2ext except ImportError: ssl_enabled_for_tests = False # Pick random ports for the tests so travis-ci doesn't flip out. port = random.randint(4000, 20000) config = dict( topic_prefix="com.test_prefix", endpoints={ "unittest.%s" % hostname: [ "tcp://*:%i" % (port + 1), "tcp://*:%i" % (port + 2), ], "twisted.%s" % hostname: [ "tcp://*:%i" % (port + 3), ], "__main__.%s" % hostname: [ "tcp://*:%i" % (port + 4), "tcp://*:%i" % (port + 5), "tcp://*:%i" % (port + 6), "tcp://*:%i" % (port + 7), "tcp://*:%i" % (port + 8), "tcp://*:%i" % (port + 9), ], "blah.%s": [ # Guarantee that we don't fall over with a bogus endpoint. "tcp://www.flugle.horn:88", ], }, relay_inbound=["tcp://127.0.0.1:%i" % (port - 1)], replay_endpoints={ 'unittest.%s' % hostname: "tcp://127.0.0.1:%i" % (port + 1), }, persistent_store=None, environment="dev", high_water_mark=0, io_threads=1, irc=[], zmq_enabled=True, zmq_strict=False, # SSL stuff. sign_messages=ssl_enabled_for_tests, validate_signatures=ssl_enabled_for_tests, ssldir=SEP.join([here, 'dev_certs/keys']), crl_location="http://threebean.org/fedmsg-tests/crl.pem", crl_cache="/tmp/crl.pem", crl_cache_expiry=10, certnames={ "unittest.%s" % hostname: "shell-app01.phx2.fedoraproject.org", "__main__.%s" % hostname: "shell-app01.phx2.fedoraproject.org", # In prod/stg, map hostname to the name of the cert in ssldir. # Unfortunately, we can't use socket.getfqdn() #"app01.stg": "app01.stg.phx2.fedoraproject.org", }, gpg_keys={ "unittest.%s" % hostname: 'FBDA 92E4 338D FFD9 EB83 F8F6 3FBD B725 DA19 B4EC', "__main__.%s" % hostname: 'FBDA 92E4 338D FFD9 EB83 F8F6 3FBD B725 DA19 B4EC', } ) fedmsg-0.7.1/fedmsg/tests/__init__.py0000644000175000017500000000146612207656441021436 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # fedmsg-0.7.1/fedmsg/tests/common.py0000644000175000017500000000162012212153101021134 0ustar threebeanthreebean00000000000000import os import socket import fedmsg.config def load_config(name='fedmsg-test-config.py'): here = os.path.sep.join(__file__.split(os.path.sep)[:-1]) test_config = os.path.sep.join([here, name]) config = fedmsg.config.load_config( [], "awesome", filenames=[ test_config, ], invalidate_cache=True ) # Enable all of our test consumers so they can do their thing. config['test_consumer_enabled'] = True # TODO -- this appears everywhere and should be encapsulated in a func # Massage the fedmsg config into the moksha config. config['zmq_subscribe_endpoints'] = ','.join( ','.join(bunch) for bunch in config['endpoints'].values() ) hub_name = "twisted.%s" % socket.gethostname().split('.', 1)[0] config['zmq_publish_endpoints'] = ','.join( config['endpoints'][hub_name] ) return config fedmsg-0.7.1/fedmsg/tests/test_certs/0000755000175000017500000000000012221366312021464 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/tests/test_certs/build-and-sign-key0000755000175000017500000000032212207656441025003 0ustar threebeanthreebean00000000000000#!/bin/sh # Make a certificate/private key pair using a locally generated # root certificate. KEY_CN=$* KEY_NAME=$* export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --csr $* "$EASY_RSA/pkitool" --sign $* fedmsg-0.7.1/fedmsg/tests/test_certs/build-key-server0000755000175000017500000000040112207656441024607 0ustar threebeanthreebean00000000000000#!/bin/sh # Make a certificate/private key pair using a locally generated # root certificate. # # Explicitly set nsCertType to server using the "server" # extension in the openssl.cnf file. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --server $* fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0000755000175000017500000000000012221366312022437 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app02.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032346 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDAyLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwMi5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAudJJDxGgaxT2xRDMnoM9jwMFINnZ X5mSDuN9Twh9Pfa5TLSNfWQVrbPeB6lkDqmbT8pHMqdXlSfTjRbzWMxrY6TZrduT qhxeSrQ5lN3SQ74mU4vvy4IRYYKLYdHDVB4XNyVvyKjRDqS2zOH7S0KINPYvPaH0 0/a38bW/LtMRf+8CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAITlywq2AcQE6rdh cuV7HqvxSi85DcpFnGY39Fg8h/mPz5m/KblgwkzB1kR4dLruzDSpK2P5sow+jL92 bkZ7UVwZuXENaLlDX49aO5xn0TutSNKpfHrC1xOVG7pemF2PgUpFXT2Ir60jAvAy dgfcNdzFye35reNg1FTLufhEOnSv -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145212207656441031734 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICHTCCAYYCAQAwgdwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEtMCsGA1UEAxMkZmFzLWZhczAxLnN0Zy5waHgyLmZlZG9yYXByb2plY3Qu b3JnMS0wKwYDVQQpEyRmYXMtZmFzMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5v cmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0G CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDP5EUqGWnCSQ3pcvHpPBynxTTnmtKvQfTd OfaO3mNg5jL+M73Ax+O6y23VtqxQVI38LBaHaMLRwZLxtlUHd5/SMobMxdN2jsi6 5Wdp85gqPn5SOQ0pEw6FUw8zGx8zfz/q5qsDGLj+Xm/HLf8M3bBUuxyqu7UvfBsW XrwEnv0rAwIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEARLRXHBVNXbbrVO9YbnLV r6DfvQdslSbmTY/V1EzG3B99icceljTRyPZYNnR2obQrCDLN4XZSjttvzHW0aRgS lThoKiAHiHNFNb38qMCzy/N9fuGVHG0F/6r1RPqVdH+e8pdZmGQ/N7wuJnqPPrFL SJAlQgPv65GS835u7F+eMqE= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031500 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJPr/Xf+v1zXuNxK Zq6PmsIbosxI0SzTywF/GPzd17DYeC2iDsSPkybIpSACC3e/GDKvXrh7uCXZM/jO yHpvyHgMFwi3lvtRajTQNEogYjZ853np06uFWycJDqhQYOx+EHDYLBhq44JTvVti CFMrICogNAXvA2bzZyrlCory8phhAgMBAAECgYBhJY6c3QiOj/qPaqmPIS7xJjc/ 1N7TgvEDNZaSk5uRQEmFJrZuLyDkSsfvgohHh4/70aLypAYnjUONtziA+KL9/Mor WgMXGvlngTxnmWtw95pZctUBVkJrFcWuOPJUmlLfqyUwARWya8OScG/Z/scu+qtL csP9KgCMbwyxw/NAhQJBAMUyHwXpd0+SiJpbhnseKw4q83cCb93mTWFRKwLCwB0w FTXxM/5mH92J9+nU1u3+WFsEopITkUoVgsd426Af57cCQQDACE63dl9r+m3LzDWZ 0OYITR3HGeP7Una97UxNJQr0KMvkh/4xrfagA5Ef+zpwt2oWumHJWFmepnnWgn7H kRCnAkADe/08V4G6MDals5ROvJu6Jlwi8DIV06nuXEbMR7CpU14sk9R9XESX34Y3 5YDet63L/er5dcsNag/jgmkvDSFFAkB+wH0Ex9NwOFpknKP8pVBQxmYTV1mON/48 mvc0LHEwfAUpEUKNlCAnunL+Qxtt7wLNgbSt6+0rtQLSvkvkejIdAkEAmL3td1vl btZzxbDdV2MF7bY6jdnEdMEm34kdWNbDBaRmAX8vo7d+7DsuHJMzsA5Cy1eZw3rC +6FvKIchD0jUWg== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/ca.key0000644000175000017500000000162412207656441023550 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAPSekZhq9S80ieRW rtsHZFVIkuVlwXHdGzT8lCffxu7fUq8nJy5xCuBkIdgeduaeEgqr7B2bTPK6oov2 NjzxeT26YFYyS2LCZOEkr/OGh/lT2HGhLWJTwpV4B29yfY4AMYBwR5CTEO5r8YiG ru36yhapiRmZMTtjPkr/HiwiiyT/AgMBAAECgYAd0q9Be9jElo0xL3hF79LFqwFt wkghT6mffiO58MhaGxQDkqxuNw3yaYLOzHgGicL9VhSFT4fEGAj1M2FNcMstBGN0 Oi5u18SOQ3bUsPmXpLX7851ODPtz7r1NCv488d+04c318pSX9/YsClQRdBZg2jOA tqYK3gUfYz66YX098QJBAP4DhNjqRL6maWCq5Xx0g5LwteBj4gWGFlVF/lIYrgUr ssdjTYZdvOtMt20pGKbVg4codzl8fdViyvNNVHN7h/UCQQD2iD6Npcc+ZYYOD6/p cz1q24l2iscKdJn6qoIZLRAqSvxTYb0a2CZmHDKtevJZ65LLmgVPBV5kp3xyJeOI HMSjAkAXnKQgtcYmIrnw7nHem8YPRqjhbud3s/snehYl831ZpbI8rpJqRxRkmwEB +Kv99iL/0Vcj1Nqtlz1eWHXdNkJxAkBBy9z+CvehNJFRoWguox4KLeuDIsi6hqIt 32H3fCprTzYGvvgsePHOoMn5uO2DiDbWdhXioCkwLe8tu+T9B8iHAkEAgdeY/Lso bRJnUuiv+AR+asslTvKjzBYgFkwDbaOLqr7jPHTAP39TsXyYCxTP56Os+I13Qzg5 2PpmSgiv6wRhpw== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032505 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMEIJ5DsgElhnW0C KrsisU/WK/PPkJCROCtZppAvakGCTxUSThX8ifelV5ZwuOWBX9qLx6pbs4xhvukT 90PzaaIJGn1yJcVvKL63KR5H+Y5wNjbKDHXfPn3BugHRdsvutb/EkxM3sXntief4 +fVTk2jvbMqlba/Xw8qplElj1qfhAgMBAAECgYEAguPbqGqlxpx5WgxpG0G4B9HL NeTeOxkthD+jMQvlugv5QemKp1/50cH89Vb0GTOz4oZ72mmaAyvYf0V5mkr4qaW2 Iflb3m2j7csGIi/NkatFnJKrPPZvJgrDVmJgThBCkUKsElHLtqDN26A3VdCu3pjo tf7mVhAPUTOBjX2TZUECQQD/OQQ1TrR5IOlcT53Tm2hGunSio16DzPRTWwzgVItb kz9aUwuw1P6VjguV0094Uqoh4BVjSi+vI91eVLcKEOZJAkEAwZ6mtbfH9V22Jj/A yl1wEqP/cjzGuIHO3wZs6QfAHojR/bMAacCRmZ5W0DrrbDGvatgMDqFa34ToYBSY ylfU2QJAdLqJGDB1DmllEdlAIAYV/TNOIQyDL9jPbkhYbUl9q1Z/RTpyQGBKR/B9 j/rjf+6e7XtljNHjWUEYAArS5IGyMQJADO8mP9lpGDEMa/2ySVJ4nCYseFsrA0RY p3lsaRzFbsTBEmuUyXu9vj9fmUV2WKHxD/gixg9tXKUqSNDXbBz18QJAYQRLpVYB ejZ5ZdqcwEPifqyj3D84FP1/CvInsLlZww2PHTF0q/2IriNmOtZN0AIVLLF8ZoCC haUwPPKiFlPCEg== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032263 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmYm9kaGktYXBwMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJmJvZGhpLWFwcDAxLnN0Zy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAq65z1ahZm1YPmpO6YWVKD7ccC8sB KO1JTJP4tRNVVqu1ljrmBesoAQZSP+6DRJLewpowZt9FLov0quBBeKaElFi4NVVE LzdG5rXBQAKrq7iQaqJhXU/TjTLKdTcTb+FUQta10HOma2XysnB2D+szDizAEmya tq0WR3RHM0eZCw8CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBADAaG3hgd5IjIe0B V4WTpEr+G0ERxHqM6zMT1gUS440DlRkf/pJ38CbkV5+9hEbUcK0Y72SukeFTe4na 7+Zq12YRZw91hdD40cMUy1gZfRGdKpOcy1Gqxc8ISsTm8AFh5AprmB/xx5wVus94 SEkPl14grNm3lYFQYQKWlYz64e/u -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app06.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031514 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKwzCuM82stqEskE 4DFhJV/Ysml62cr5s47Nb7Az+t3L76Y60mBpK2oE6YOOYxAfgfRYI4965MS5Etby QgTjcg0iBDMwdi30TPP8YlFJ64cp2JWJL65UXaSxFNeP72bfl9QgGyZfuOaESbeP sh+1Sfi6+K4kxeJa5DYPt4X6v/XjAgMBAAECgYBPLsl65KjXkNdCiHNvQXSmNkcU KeGsbFYc/Gq3Y6+f/f8dOT80BihogAnA7OCwsUxYx47Sk3hO3avEG3IwPUZb8eCh eN4+R+h0SurJrOBdNxxOQ8AIAW6aagqG7ZUvjjjmfYpYL1hIcioUoBls/cI6XuXc h3JiANNHTthVKPgqwQJBAOP3QBYwyu20H1s7h1XkkWYJ7DnQxNjkNjdGKwryARFK 3QciLLzaV8zSuWy4X4CIk2rrNuBC73pxwTbnOP23aE8CQQDBYCuhpZ+Xswbj5Qiu jmI7MpUxno6tXiXBMJgQIlLRA96lTMmTPCNjpoGMzb0E2e19/Zo4oMUuay8JETwx C2AtAkBqNdov/I+vbApn8TY+uH1dsyXSUghEnR79Zb3MHbCNo/mSx0NcwcXCcjNe ChDEy90TJX+twMHepH1G3TfaTcdVAkALVViZS7yzxmFT//tnR58IOym1U8am8Iqj 7PYsk+Zoq6Jj68EwqOimEX8sQm6elystJCzivsFvvAZwsJrngPQtAkEAzBmZ2USv +DzjxZtiBJax8oinxt3RmT8qD2i2NMbs3AFWxLBxIoSLB2TxfZ5cG729TTrANP/B XgNrNuGtzWMF2A== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/dummy-revoked.crt0000644000175000017500000000766112207656441025764 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 2 (0x2) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=dummy-revoked/name=dummy-revoked/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:af:fa:8b:29:48:86:3c:1e:66:01:5d:f9:50:97: 0b:3a:31:f6:16:00:ab:9a:61:b6:36:19:3e:e3:7a: 75:36:da:d6:c4:70:41:31:03:9d:17:9d:8d:5d:fa: c7:e6:06:2e:45:62:f0:82:72:10:98:a9:2b:2e:cb: fb:4e:7a:cc:50:e5:5c:50:57:01:0c:41:66:07:b7: 06:6f:e4:0b:13:dd:b3:ce:d2:8c:2c:d9:c3:1d:a4: 22:51:ab:cd:47:7f:5b:35:32:b0:6f:45:01:f5:da: 78:8d:f9:7b:6f:c1:81:f1:a6:40:49:6e:26:c1:d7: a8:bd:1e:fb:0c:60:11:df:8f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 2D:7E:F4:ED:38:1E:85:3B:D6:28:61:93:AE:D4:39:FC:44:21:72:ED X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 30:70:4e:0b:c2:3e:07:7f:a2:f7:cb:55:ac:a3:89:06:4f:cc: 47:ff:a5:fa:6b:4f:9d:58:2b:72:3f:db:72:6b:7a:2f:dc:82: 0f:a4:17:23:be:26:86:5e:3d:87:f6:1b:db:16:87:81:ae:08: c7:37:d7:0b:6b:7f:4f:b5:53:24:4d:0a:ab:53:1c:66:a7:92: c7:4a:8b:cd:8c:f0:c2:5f:78:d0:21:37:30:b7:02:e8:3d:03: 10:e0:c4:7d:c5:f9:da:7f:23:66:e6:92:80:3b:63:73:c2:9e: 90:89:c7:14:cc:6a:5c:b1:1b:df:ed:02:99:59:f2:6e:32:f4: d5:17 -----BEGIN CERTIFICATE----- MIIEHzCCA4igAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCBrjELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMRYwFAYDVQQDEw1kdW1teS1yZXZv a2VkMRYwFAYDVQQpEw1kdW1teS1yZXZva2VkMSYwJAYJKoZIhvcNAQkBFhdhZG1p bkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA r/qLKUiGPB5mAV35UJcLOjH2FgCrmmG2Nhk+43p1NtrWxHBBMQOdF52NXfrH5gYu RWLwgnIQmKkrLsv7TnrMUOVcUFcBDEFmB7cGb+QLE92zztKMLNnDHaQiUavNR39b NTKwb0UB9dp4jfl7b8GB8aZASW4mwdeovR77DGAR348CAwEAAaOCAVcwggFTMAkG A1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0 aWZpY2F0ZTAdBgNVHQ4EFgQULX707TgehTvWKGGTrtQ5/EQhcu0wgdUGA1UdIwSB zTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3Jh IFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYD VQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qu b3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeA MA0GCSqGSIb3DQEBBQUAA4GBADBwTgvCPgd/ovfLVayjiQZPzEf/pfprT51YK3I/ 23Jrei/cgg+kFyO+JoZePYf2G9sWh4GuCMc31wtrf0+1UyRNCqtTHGanksdKi82M 8MJfeNAhNzC3Aug9AxDgxH3F+dp/I2bmkoA7Y3PCnpCJxxTMalyxG9/tAplZ8m4y 9NUX -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/28.pem0000644000175000017500000001004212207656441023401 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 40 (0x28) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fas-fas01.dev.phx2.fedoraproject.org/name=fas-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:9a:89:37:49:5c:35:fd:f1:bf:3f:30:9b:a0:d5: 0e:39:b6:1b:d7:19:39:79:11:b1:26:d3:4e:9b:e2: ce:a4:10:c4:36:fd:13:d9:f5:e8:87:ac:c4:96:66: cc:c0:2b:4e:94:c1:64:1d:41:64:eb:3e:48:47:d8: 20:32:f5:6b:f7:75:15:fb:9a:2b:19:20:79:ea:36: cb:fe:04:ce:c3:dd:8f:bb:49:ae:04:81:f9:08:8a: 1a:a0:78:4e:bd:83:52:7d:44:28:72:3c:ba:a2:77: 28:be:f1:e6:87:33:fc:84:f1:f0:95:9f:02:6b:f1: b1:30:c1:f7:8a:7b:18:ba:b7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:72:E7:FD:75:0C:CE:D5:DF:B5:FF:AE:FF:52:B8:51:19:F4:7B:84 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 17:a3:c9:ac:f3:97:26:55:a5:9f:b6:1a:4f:e8:12:b8:a8:cc: b8:f3:3d:33:f7:ef:9b:ce:93:c3:fd:ff:b7:50:60:e6:24:03: 38:45:c6:2b:cc:c8:ab:a2:c2:e1:0e:67:d7:2a:d8:26:d7:90: 47:52:c0:cf:f7:a7:44:d4:ec:79:a3:cf:60:98:2e:07:34:1b: 40:57:36:e5:71:b8:6e:fc:ff:16:da:3e:3b:bc:fe:8d:55:22: 95:ff:b9:18:3a:57:6d:bf:28:9b:b3:19:8c:ae:38:74:6a:8c: f1:2e:e4:f5:8b:39:22:16:55:15:6e:f5:c3:cd:ab:e8:35:af: 8c:4b -----BEGIN CERTIFICATE----- MIIETTCCA7agAwIBAgIBKDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB3DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS0wKwYDVQQDEyRmYXMtZmFzMDEu ZGV2LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxLTArBgNVBCkTJGZhcy1mYXMwMS5k ZXYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5A ZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJqJ N0lcNf3xvz8wm6DVDjm2G9cZOXkRsSbTTpvizqQQxDb9E9n16IesxJZmzMArTpTB ZB1BZOs+SEfYIDL1a/d1FfuaKxkgeeo2y/4EzsPdj7tJrgSB+QiKGqB4Tr2DUn1E KHI8uqJ3KL7x5ocz/ITx8JWfAmvxsTDB94p7GLq3AgMBAAGjggFXMIIBUzAJBgNV HRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2VydGlm aWNhdGUwHQYDVR0OBBYEFOFy5/11DM7V37X/rv9SuFEZ9HuEMIHVBgNVHSMEgc0w gcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZlZG9yYSBQ cm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEPMA0GA1UE KRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9y Z4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDAN BgkqhkiG9w0BAQUFAAOBgQAXo8ms85cmVaWfthpP6BK4qMy48z0z9++bzpPD/f+3 UGDmJAM4RcYrzMirosLhDmfXKtgm15BHUsDP96dE1Ox5o89gmC4HNBtAVzblcbhu /P8W2j47vP6NVSKV/7kYOldtvyibsxmMrjh0aozxLuT1izkiFlUVbvXDzavoNa+M Sw== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/20.pem0000644000175000017500000001005212207656441023372 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 32 (0x20) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app04.phx2.fedoraproject.org/name=mediawiki-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:eb:55:b8:4b:6f:d0:85:8e:b6:ce:92:e4:09:d0: 4a:d4:2b:e9:47:3a:b6:27:57:61:27:64:b4:71:46: 79:1e:04:33:54:23:72:59:48:e4:73:86:2b:68:33: 85:a9:3a:85:d2:9e:7a:1a:89:c9:a0:0c:1a:b9:ad: e3:25:b2:f1:17:1b:85:83:07:56:03:b2:e2:1a:32: fd:17:3f:90:c2:f9:1d:39:f7:22:5a:77:c3:61:35: a3:fe:64:9f:5b:a7:20:89:60:4c:70:51:af:34:c8: 01:f7:c9:ef:76:02:0d:7d:69:f5:9b:11:05:5f:89: 9c:4b:ff:d6:eb:e7:96:73:03 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 05:2F:27:1F:0B:FE:55:17:3A:FA:C7:59:E3:EF:2A:96:9A:EC:49:49 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption f3:50:1d:7d:e5:e3:71:04:fb:cd:42:29:71:20:95:36:04:d4: 45:f6:5e:14:4e:e8:f6:b9:8d:f1:53:82:a4:b8:28:a0:79:4d: db:3b:99:10:bc:50:c8:39:d7:b1:cd:49:c9:5f:9e:a4:f9:95: c4:41:68:5e:8b:65:d8:28:d1:81:cc:0c:57:ab:d8:95:3d:03: 17:b3:5a:25:12:a7:b7:65:ed:fe:ec:48:4b:b6:b3:f7:ae:48: 51:72:e0:55:45:8e:ef:ed:f7:50:73:f4:b4:ba:03:c9:be:68: 3d:3b:7e:44:3b:ab:d9:2d:e2:5a:54:bf:bd:af:de:ca:17:b2: b3:c8 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBIDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDQucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA0LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDrVbhLb9CFjrbOkuQJ0ErUK+lHOrYnV2EnZLRxRnkeBDNUI3JZSORzhitoM4Wp OoXSnnoaicmgDBq5reMlsvEXG4WDB1YDsuIaMv0XP5DC+R059yJad8NhNaP+ZJ9b pyCJYExwUa80yAH3ye92Ag19afWbEQVfiZxL/9br55ZzAwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQFLycfC/5VFzr6x1nj7yqWmuxJSTCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA81AdfeXjcQT7zUIpcSCVNgTURfZeFE7o9rmN 8VOCpLgooHlN2zuZELxQyDnXsc1JyV+epPmVxEFoXotl2CjRgcwMV6vYlT0DF7Na JRKnt2Xt/uxIS7az965IUXLgVUWO7+33UHP0tLoDyb5oPTt+RDur2S3iWlS/va/e yheys8g= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app02.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441033140 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMSxvtyclb+VWRvD 5+hrVYTbpelGlmzWUV6cjGLAsJiGTeIfVl3i2S1hAAY/uJ6HUNvJfNh+VgM1uVgH wqo41+q4ioehCfhME9MBjsMubsC2+G2i9nmxTINv+BGhsuJ1FbDKYXdPSxyluUDZ RopBANxgmT7N678xE3rmqDwGf4MjAgMBAAECgYEAqY3HR4k7lTD65XJVAQc1axek x5hvp1aAQhyU77PHB1QO4zO8UaZxLCsHyFs5nH5s92mS01TkdFPld7sI1Y+2nzwM lQKl3HsQQ1O6II5gDSKFD3C4cnvSxWWqCSK84IT0gew2JX2iUhtZOMcCb8TStWev PHor0KDOFS992Snb2ZECQQD73gl1L/PXV1RAMCbE9P93iN09tHSwR0+rrNyXF7kH JHyPPfsczR5A85PYuIPRcs0ODP7h3pveJwBedN+SSSg3AkEAx+v0otWpfxeDHVn8 1HzY+M7C0pNBBsKxbAqvSZoyCjyKPmtIaasCp5roSBeGKaaJqS+1JPlgkXkEaHLV tTvudQJBAMue4ziJbvIeGO/XvdAnXc1OqcZz+I526HMbSi8gr6aVmdnYOwY60gWi pllkOrV+wUZlvT3v0UVVdJfolsLWQBsCQGfgTegdpEgI63NgwmGVzRbaN5g6MttU ZeOBWbqgh8eR1TLBg4qD9Ikpj++FaYxSn8xsoW5otKhhfMzYffoA/dECQD+mJrTq X46F1NSEd+7nCV1zvBUOxNFDF72u7wEvFg+0kkO5opc/AktieJYjw7BS4VAw0rDe 3nNW0MWqjFc3l9g= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/19.pem0000644000175000017500000001002512207656441023402 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 25 (0x19) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app06.phx2.fedoraproject.org/name=bodhi-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b5:fc:9a:da:08:04:27:9e:c8:11:f3:fb:a0:20: bb:41:2a:91:e2:a6:48:f7:27:ab:d8:f8:a1:cd:8b: b3:d6:1d:ce:8d:d3:7e:9d:71:4f:65:ce:7b:c1:b0: 49:8a:33:87:58:c7:1b:29:5c:2d:0e:d2:fb:9d:7a: 41:90:99:15:a7:3a:f7:6f:64:7a:a9:75:e7:27:33: f9:42:30:99:c5:64:c7:e3:9e:65:d2:f8:fa:33:b6: 71:39:64:b9:2b:e1:3e:51:71:37:ea:b3:a5:c1:25: 41:dc:8d:41:c0:4f:f8:07:0c:90:8a:d4:87:63:eb: 45:f6:a2:5c:e5:78:0c:59:ab Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 03:B9:F9:5C:00:5B:75:A4:26:CD:A7:4E:4B:B0:50:D7:BE:01:06:F8 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption be:8f:ec:83:41:35:69:9d:45:82:1b:c6:83:3f:b1:24:1a:1a: 1b:8a:ca:bf:35:95:42:62:08:d3:04:62:08:e2:ed:fe:d3:72: a6:12:0d:75:95:ec:ff:1d:1c:3e:77:cc:54:17:76:19:e5:06: 47:51:a7:83:11:49:ba:29:58:eb:31:b7:06:1c:d3:7b:42:71: 23:c0:40:27:90:1c:ed:62:58:ca:f4:76:2d:f4:40:f9:3d:0b: 64:71:17:53:a8:ab:13:40:f3:c7:61:2b:3b:b4:38:be:4d:1b: 69:60:17:16:d2:63:f5:b7:6d:01:15:99:02:d5:60:ae:6a:a4: 9e:e1 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBGTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw Ni5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtfya2ggE J57IEfP7oCC7QSqR4qZI9yer2PihzYuz1h3OjdN+nXFPZc57wbBJijOHWMcbKVwt DtL7nXpBkJkVpzr3b2R6qXXnJzP5QjCZxWTH455l0vj6M7ZxOWS5K+E+UXE36rOl wSVB3I1BwE/4BwyQitSHY+tF9qJc5XgMWasCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUA7n5XABbdaQmzadOS7BQ174BBvgwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAL6P7INBNWmdRYIbxoM/sSQaGhuKyr81lUJiCNMEYgji7f7T cqYSDXWV7P8dHD53zFQXdhnlBkdRp4MRSbopWOsxtwYc03tCcSPAQCeQHO1iWMr0 di30QPk9C2RxF1OoqxNA88dhKzu0OL5NG2lgFxbSY/W3bQEVmQLVYK5qpJ7h -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/crl.pem0000644000175000017500000000107012207656441023731 0ustar threebeanthreebean00000000000000-----BEGIN X509 CRL----- MIIBfDCB5jANBgkqhkiG9w0BAQQFADCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT Ak5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEP MA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1z ZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcXDTEyMDcx NTIxMTg1MloXDTEyMDgxNDIxMTg1MlowFDASAgECFw0xMjA3MTUyMTE4NTJaMA0G CSqGSIb3DQEBBAUAA4GBAGP/pXsMWD0AhgUs01qkscO/DU6QarFWAMqTjbrL5V4e eEvyGOBDkOKgPsRKHF7x3ahLb14BGFTxCH0PosJsXUNQ8aSr24xlNDZ7O333PG1q BfB1UONpQ0Gt0w/vEu+YUK53MXMEd8mkN3AG6ckqk2puVTlM8+c5RzMIauftWfKQ -----END X509 CRL----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/13.pem0000644000175000017500000001006012207656441023373 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 19 (0x13) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-pkgs01.stg.phx2.fedoraproject.org/name=shell-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:db:13:2d:35:7c:1d:8f:c3:72:ee:16:a9:26:a4: 62:7d:f6:88:48:66:cb:f9:0b:18:e6:a2:20:10:ba: 57:2d:0a:30:b8:01:b0:15:10:1c:14:dc:6e:2c:a1: 02:b1:1d:d7:d7:e6:1a:ed:6a:e8:b5:f0:01:04:8b: f6:fc:2d:bc:f6:29:44:16:8a:c8:b4:10:64:ad:19: 9a:93:c8:82:68:05:06:a9:3a:76:f4:e8:88:d1:5a: 68:dd:83:13:6f:d9:a0:cc:a1:c3:40:13:e6:18:b9: e3:d3:a2:e4:ec:69:80:30:46:65:3e:e7:3c:57:c4: 34:c3:99:7a:0b:73:15:e7:5b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 4A:A6:F7:EE:01:81:BB:57:3C:1C:A6:2C:EE:4E:FE:B0:44:58:12:91 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption df:3c:0d:60:4d:56:a2:27:be:69:5e:47:99:23:05:15:ec:e1: 22:0b:8b:00:95:06:f8:01:24:f9:e9:2c:7f:58:35:8d:8f:37: 93:f9:e8:e9:6f:cd:5c:d3:26:89:88:99:2c:95:a5:56:40:e5: ae:66:f5:3e:55:4e:d5:f0:a6:03:10:ec:83:33:05:e0:0c:b1: c3:5a:8e:bd:4e:64:6c:c3:75:bf:7b:21:1e:cf:68:32:83:85: 35:89:83:68:f8:00:ca:6c:e7:ad:b2:23:49:12:20:80:22:ff: ec:0e:fa:7b:4e:0b:5c:ad:de:18:88:8e:41:f8:e5:da:5b:c6: 27:94 -----BEGIN CERTIFICATE----- MIIEUzCCA7ygAwIBAgIBEzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTAwLgYDVQQDEydzaGVsbC1wa2dz MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMDAuBgNVBCkTJ3NoZWxsLXBr Z3MwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYX YWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBANsTLTV8HY/Dcu4WqSakYn32iEhmy/kLGOaiIBC6Vy0KMLgBsBUQHBTcbiyh ArEd19fmGu1q6LXwAQSL9vwtvPYpRBaKyLQQZK0ZmpPIgmgFBqk6dvToiNFaaN2D E2/ZoMyhw0AT5hi549Oi5OxpgDBGZT7nPFfENMOZegtzFedbAgMBAAGjggFXMIIB UzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQg Q2VydGlmaWNhdGUwHQYDVR0OBBYEFEqm9+4BgbtXPBymLO5O/rBEWBKRMIHVBgNV HSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQG EwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZl ZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEP MA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9q ZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE AwIHgDANBgkqhkiG9w0BAQUFAAOBgQDfPA1gTVaiJ75pXkeZIwUV7OEiC4sAlQb4 AST56Sx/WDWNjzeT+ejpb81c0yaJiJkslaVWQOWuZvU+VU7V8KYDEOyDMwXgDLHD Wo69TmRsw3W/eyEez2gyg4U1iYNo+ADKbOetsiNJEiCAIv/sDvp7Tgtcrd4YiI5B +OXaW8YnlA== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000147612207656441033305 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICKzCCAZQCAQAwgeoxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzE0MDIGA1UEAxMrc2hlbGwtcGFja2FnZXMwMS5zdGcucGh4Mi5mZWRvcmFw cm9qZWN0Lm9yZzE0MDIGA1UEKRMrc2hlbGwtcGFja2FnZXMwMS5zdGcucGh4Mi5m ZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJv amVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANpkZKVJh0Nk/0Pc iISXP0RK1+HcMpL84U2oqzU5GT/UpxwgX5x81i9YM0Kuv26PKsLaX5PkHOuI6bZT QIMGtPrc662Zbht7DSDQ8urd8y7dGlF4ii4r8xpDxPWMRBItLB49H3Q3W295Tk/8 /iMAJqnMka2B8GqwRbCjcDG0Xu7DAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQBx 5ChA+DHhwpPliDRziVlajCSCPYOfr8cWKsr0fQqkvHxcgtGZNBQTLmVBnpvrIkOL i258yjGwYUSWd3UB6rqWBZryf1goD5ycV3QzjiRkqt53IktIQ2jfH4BFyS4GfwhC hl9egtYDJ7MT27hCieAVhnZVx2iPQN3SP7CtStSTsw== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/1C.pem0000644000175000017500000001005212207656441023414 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 28 (0x1c) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app02.stg.phx2.fedoraproject.org/name=bodhi-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c4:65:3f:d8:8c:e8:35:dd:f0:08:56:7d:6e:36: cd:91:39:80:77:7c:00:64:5e:0b:c3:83:81:04:4e: 12:8f:dd:97:54:0e:dc:25:cd:55:9f:cc:b3:64:02: 75:10:c9:0a:b9:a0:f5:f6:b3:b6:a0:c4:de:26:20: e7:7e:e2:92:c2:94:a9:25:5f:a2:71:9d:fc:04:41: 39:e0:75:a5:07:ee:01:21:b2:4a:ee:aa:99:1c:be: f4:31:d2:30:bf:ba:0b:23:a9:9e:54:03:9d:35:c2: c9:6c:15:3f:89:37:92:72:4a:d8:87:e5:eb:45:55: 94:96:fa:c4:1d:9f:b1:f9:2f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 52:1F:96:23:E1:BA:58:03:AC:D0:F7:32:CA:BF:03:4D:4F:4B:88:02 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ac:5c:0b:f5:5b:bb:df:ed:fc:7a:bf:79:4b:9f:37:b5:77:7e: 99:6e:54:cf:1c:62:8e:fa:71:e0:0a:c3:80:05:54:6d:b2:b0: 38:f3:17:bd:10:73:05:1d:5c:1e:1e:24:c8:cf:50:a6:5e:1f: b1:dd:53:fa:92:ba:26:af:61:3f:a0:7a:a1:d8:7d:73:24:43: ad:a5:f0:df:e7:85:84:27:60:85:0c:d8:8c:44:7b:85:07:6a: a3:2e:01:9c:61:57:e6:50:fe:74:26:78:14:00:ed:1f:2c:d9: 73:7b:4e:a0:f7:95:b4:5b:c7:bb:af:e0:cd:72:4c:c1:a9:e9: 34:92 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZib2RoaS1hcHAw Mi5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmYm9kaGktYXBw MDIuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDEZT/YjOg13fAIVn1uNs2ROYB3fABkXgvDg4EEThKP3ZdUDtwlzVWfzLNkAnUQ yQq5oPX2s7agxN4mIOd+4pLClKklX6JxnfwEQTngdaUH7gEhskruqpkcvvQx0jC/ ugsjqZ5UA501wslsFT+JN5JyStiH5etFVZSW+sQdn7H5LwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRSH5Yj4bpYA6zQ9zLKvwNNT0uIAjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEArFwL9Vu73+38er95S583tXd+mW5Uzxxijvpx 4ArDgAVUbbKwOPMXvRBzBR1cHh4kyM9Qpl4fsd1T+pK6Jq9hP6B6odh9cyRDraXw 3+eFhCdghQzYjER7hQdqoy4BnGFX5lD+dCZ4FADtHyzZc3tOoPeVtFvHu6/gzXJM wanpNJI= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/server.csr0000644000175000017500000000133112207656441024465 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIIB4TCCAUoCAQAwgaAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG 9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQCxolzXEGqDpB1lZlGA9XItFa93kq0drYDYyOLuzxA7BwIeTxjE R9aCjVP/whtySf5i/mgm8JGP1+CeuEaW7+9LB/QhEAnZkJKmJTopyrboaQbfuqdz sXHDbBzTfdb/Os4Vt7x7/Gxr1m+n/eAoWQdJv2acPh9fuIXEYVH5ZwBApwIDAQAB oAAwDQYJKoZIhvcNAQEFBQADgYEAX8P9MUVTGBnokVx/24SX/uPQj8sBqNyMzaTo 1mbCqpOKKMbb0T2K6DBi83bjn/t1SwrrbVc5Pqq/phKk0K7VhZoSeo0K5yNXOdPX x/b2+co9jjGwpT+5K95nuEGyA6pHCfKQf6Q3Dnnmy1HcZu7bsOD22y9N0sjCHnD/ c/+cWmw= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/index.txt.attr0000644000175000017500000000002512207656441025266 0ustar threebeanthreebean00000000000000unique_subject = yes fedmsg-0.7.1/fedmsg/tests/test_certs/keys/03.pem0000644000175000017500000001002312207656441023371 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 3 (0x3) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app01.phx2.fedoraproject.org/name=shell-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c9:5d:32:76:f9:e8:a4:84:e6:16:cd:24:7e:99: 68:2a:3e:a7:5b:4f:c2:3b:3a:74:ac:3c:30:be:e5: 99:17:62:83:76:5d:40:79:15:b3:7e:ca:4e:40:e5: 88:2b:95:7e:a3:6a:b1:60:0e:ad:6a:22:b8:6c:f7: f2:95:82:f5:20:62:30:95:53:fd:99:ae:73:c2:44: 6f:5a:47:ad:5a:31:8e:46:9e:41:ee:0e:e8:10:24: 0e:06:8d:e0:9d:0b:74:51:fe:53:58:04:35:e9:69: f4:6c:2a:c8:41:2a:8e:59:52:92:70:af:6f:52:4f: e8:a2:65:25:01:96:e4:b0:47 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 77:71:57:05:B0:F6:25:6D:EA:72:6A:BE:E5:53:FB:19:CB:B1:1C:5E X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 11:b5:cc:6f:e5:cd:8c:b3:fe:98:61:44:ea:ba:9f:39:37:41: 45:5e:34:6c:b1:15:dc:71:a0:1e:7b:8f:8c:43:8b:ad:32:cf: 2d:b2:01:87:bd:b3:0a:a5:2f:51:a4:f6:38:c0:e3:f6:5f:fe: 52:cf:17:13:8c:f8:d8:a7:4c:e8:7f:a3:ac:f4:6c:40:41:0a: e7:f0:14:a8:92:fa:e8:3f:a6:3b:08:a3:af:6f:0b:4d:c5:db: 54:b4:a6:ab:8c:f1:b4:23:71:da:00:e6:ae:69:76:26:3f:06: ae:47:50:b9:a8:b3:20:3e:10:db:ba:f6:8b:d0:19:96:54:88: 96:ff -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw MS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwMS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyV0ydvno pITmFs0kfploKj6nW0/COzp0rDwwvuWZF2KDdl1AeRWzfspOQOWIK5V+o2qxYA6t aiK4bPfylYL1IGIwlVP9ma5zwkRvWketWjGORp5B7g7oECQOBo3gnQt0Uf5TWAQ1 6Wn0bCrIQSqOWVKScK9vUk/oomUlAZbksEcCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUd3FXBbD2JW3qcmq+5VP7GcuxHF4wgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBABG1zG/lzYyz/phhROq6nzk3QUVeNGyxFdxxoB57j4xDi60y zy2yAYe9swqlL1Gk9jjA4/Zf/lLPFxOM+NinTOh/o6z0bEBBCufwFKiS+ug/pjsI o69vC03F21S0pquM8bQjcdoA5q5pdiY/Bq5HULmosyA+ENu69ovQGZZUiJb/ -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/serial0000644000175000017500000000000312207656441023643 0ustar threebeanthreebean000000000000002E fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-pkgs01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031673 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANU3+9SKpTBAESXr ZrqNVTFoo+Aad9vHN6OERO2TP9Qyi1mh+4tkby9U9mmq+rCI/7u1HUsYpxvsVMLQ VqXaeEsXEzuLk/N83z0WIcSQfh1r7xMxvkFOIaeXnCt7mzJ+YkRfWawxdBK61c8U DVhCGkm5xipT6Id3Ej4u6uNNQP+LAgMBAAECgYA9QiljJjZRh4alu103adW5LVQv 1crr5O+yVhUroKus/pyUsvo/USq0kZd+QnZl8+Ztepqg8cNJPXwYwJy0Z/E5MxNz vEuafki2hs3lax5UpUT+fTcOlVvzKJFFchqhQCA+kISRzWtpmKpbtZhj6Ec7tyfS RdygSbI4a0/x0C0ZGQJBAPwjAEROoXx1XEVitVaTnPp7IhS/BqpyUH/dU9YNqXzO TqsOHeBkBaPUUBHpjXBmLEX53kJBRBGMr8NVvP7CWyUCQQDYfFPq+efpxfr7FCP5 Pjc/Wzo+WrFCXumcPyllBmY0HxCunDQNeUxFB3IzlliCEdGwmxnPBUAu+yWg1Vk1 ZcjvAkEAy8zK0WuxUfVW8Oq5YtKMJ1bSFGzXyXv/H2tZ8YI3hh8ILXGKqq6OdH8P fXsHjVu425L9mRZCG+FYzI4H5vBYVQJAbOKjxsUpi2CD6zNnIJ7VZO16rxAopgxd DbSLGoAMedzCJED2wWwoG3QyUZYmME3MHTr10TV/4eF6PJnyg7QNSwJAL7+6DztY DwD1sL8TXrmzqJhfNFAsUwntuz0TeqIe/1tJdgT4RAv46OEUITkTGALogIBalQV0 09LpbNSdjFz86A== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app03.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031512 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDMucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDMucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBALw2qSUElmrrgF7jnaVFoFaIUUxhv4l62FCKdlEf uxG535PpvGOnCuua3nDylxN0baz+t6E9I6G35+QBWfRq3tFYqg/JGzkXWuTDKOQa 1z5gDU2qE7hSOn3YyTGVRar0E8Hh9fYwkYclbYRpiMF0aYta8m8WLL/VvkoYKVTF p/uDAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQC6e4B9bnDoN3wyPpiOJWroQK+V VdK/A3qm0ZYbKEgeyFoIDcCktFvMfBBcQFhSkjckj74t0XkjKWpY1ZxVy5Fqo3Gf eX/8K8GPlgMg69ZQJYkr5vzvQYfMldxuK8r5aifrLfcd2D7d4JsxHSrZQmtGopZ1 7d5mrZ5s2KO1BCd9CQ== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/2C.pem0000644000175000017500000001002312207656441023413 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 44 (0x2c) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=scm-pkgs01.phx2.fedoraproject.org/name=scm-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:e0:3a:03:28:47:ce:e4:cc:da:67:55:cd:e4:b4: 93:43:69:a8:d5:6e:06:a1:7f:a5:e1:56:40:ef:84: 9d:62:ab:e4:0c:d0:01:ec:c1:60:66:55:ba:12:28: 74:92:82:62:28:cb:11:7b:56:38:7e:fe:91:75:06: e7:4e:56:c4:1c:01:cf:25:2c:54:cf:68:5a:c9:02: 6b:10:46:79:65:30:1d:76:e1:5d:e1:79:6b:7b:ef: dd:09:d8:c1:8a:0d:10:f8:7d:2d:e9:0b:bc:67:a7: 25:55:ad:f0:3c:6f:09:61:a1:b9:e8:29:4a:65:d1: f4:ac:80:45:d7:39:2b:8b:cf Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 1E:CA:5C:34:1E:F1:2E:A1:94:37:14:01:10:43:9A:17:DF:38:7C:01 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 29:b1:60:50:bc:5f:cc:3c:11:a1:c5:64:eb:e1:df:59:c7:fc: ba:dd:37:9c:51:0e:c8:0c:b6:ce:52:37:6a:f5:8b:9b:cd:36: 1a:84:ad:65:64:dd:32:24:f9:f1:91:c9:63:76:f5:ee:52:19: 3f:af:44:a2:c4:3c:69:2e:20:31:85:97:81:ae:71:b9:f5:e2: 46:82:71:8d:4d:f4:20:6e:8f:6c:5b:04:2e:74:b4:24:1e:c2: 62:d9:7d:b5:14:cd:0f:b8:3d:af:be:49:b9:6d:67:25:0b:06: 63:dd:9e:de:16:e8:9e:99:0e:8f:38:0e:6b:2d:1d:11:46:e5: c2:2a -----BEGIN CERTIFICATE----- MIIERzCCA7CgAwIBAgIBLDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB1jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSowKAYDVQQDEyFzY20tcGtnczAx LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxKjAoBgNVBCkTIXNjbS1wa2dzMDEucGh4 Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3Jh cHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOA6AyhHzuTM 2mdVzeS0k0NpqNVuBqF/peFWQO+EnWKr5AzQAezBYGZVuhIodJKCYijLEXtWOH7+ kXUG505WxBwBzyUsVM9oWskCaxBGeWUwHXbhXeF5a3vv3QnYwYoNEPh9LekLvGen JVWt8DxvCWGhuegpSmXR9KyARdc5K4vPAgMBAAGjggFXMIIBUzAJBgNVHRMEAjAA MC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw HQYDVR0OBBYEFB7KXDQe8S6hlDcUARBDmhffOHwBMIHVBgNVHSMEgc0wgcqAFACY pdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZlZG9yYSBQcm9qZWN0 MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEPMA0GA1UEKRMGZmVk bXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZ4IJAI7r KNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDANBgkqhkiG 9w0BAQUFAAOBgQApsWBQvF/MPBGhxWTr4d9Zx/y63TecUQ7IDLbOUjdq9YubzTYa hK1lZN0yJPnxkcljdvXuUhk/r0SixDxpLiAxhZeBrnG59eJGgnGNTfQgbo9sWwQu dLQkHsJi2X21FM0PuD2vvkm5bWclCwZj3Z7eFuiemQ6POA5rLR0RRuXCKg== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app02.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031511 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAKygPPjl99dThxFEJvvm49LrzH2nhr0puajkb7/p pE+q1T8BT5C3G6KhrQtDSJAka0Izr66cT2qpmLblXQ2ZyN/XPowCqrVa0jgrWpcA wrfnhewMYR3QaT6zvGn0Edd+ZUe0CDZRDo+skZw4gTqxLPnZH0oSKkad4zuhxDC8 V82/AgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQB5wEv26nfAHPvQ+Mv4DJOX68GL fBO3xGNGCInX15AAwTuVHLC/kPBcEBszlNwj1X3S+zOVW60dOqSzgYvViAmMEnZW Jxzge9X6F8X4i5RViAEsE5NELSG/33xgJO0VqfroZDhylmRO97FL+vnPfmEmoAN8 5CmNy7fet0OC+uOrCw== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/serial.old0000644000175000017500000000000312207656441024420 0ustar threebeanthreebean000000000000002D fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.phx2.fedoraproject.org.key0000644000175000017500000000162012207656441031136 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJ2nNzQKombAqMlA d1jUQaGriLfldYfFfSzTcV3ubwwRH1E7jC6gslTkAUqg0AjDexgGKhr1n0pHWyyP 1YPx2IckgmE3soeBeCN5t59eIjp1EaNp5pTAMwNT0XFFXk7KzJWmkpN8rmrmiXHB eGcNxu9BtMhXqzGCgLVSFdazKT+ZAgMBAAECgYBv882sxBx9UTTK7V+TEe+ladVF mclzZ9ezHFe191qePA58NggfGHhq9hrArx/sCT0BW2dNC71ZFwD0zRM3hmdWu1Br IissOP4lKflGoiWb4YAhQsBieAUbd0LVhuMgRkUNyBuIa1H3ycGjU/dnYGL7Do4K i6KJVGV8cCnZ7q8PPQJBAMkBn0Y4JEInqglGUnKJPGI0vEC/uElAagbQMruRiOTi Gc5GdacnodbWWLShtGABGthd3A47I+U0jay+S8yJTh8CQQDIySljK/HU6Tw1p0xR gkkBJRc+WouOpEr0+BCPFomRrlO/vBToO4MqJoJGw180tFtb1xLe+bn5yGbJGc// nstHAkAE2iMsIMLPTgHOw4HN/f4VKMy6i2Y5bnKgw3nWCUdSrxqMXisM4+oGM5pk kdq2zpAFVQ6w0UCmkcQxvU47G71lAkBDjsPZNXkKHWv/1YmtRzwPIY6/kTGxzf/W ivzvWDLzjIdrVPpn5VZNwWVGMAiBsEmpDiWwVrBHpjFHauL8bE6TAkBp8rO6ON2+ 59W2l+K5xZrKaNL+cIJYWR8HknvK9ZW/7RheMiqBv9I7LhsaxtQXUVmv29qJY9kc U900p0z9bgOR -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031507 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMldMnb56KSE5hbN JH6ZaCo+p1tPwjs6dKw8ML7lmRdig3ZdQHkVs37KTkDliCuVfqNqsWAOrWoiuGz3 8pWC9SBiMJVT/Zmuc8JEb1pHrVoxjkaeQe4O6BAkDgaN4J0LdFH+U1gENelp9Gwq yEEqjllSknCvb1JP6KJlJQGW5LBHAgMBAAECgYBN9+gyaVHLYio1aflXi87pjJkA okFy7Y9/oU6+m+hLRbnhevob6Gs4DN2AA2BWf+wpGobTytsa3ZbLmrYzbiG7WHWa tyjoNdJTI1jc7V0XQxReWzKgoq9RvlsEqRMGSkLYb151wvW6Kz6XLX2OTmEuoW9d 4925jnwYuqWKCHzyAQJBAOQppDAl/V4yVpuuBi0vYK01l+IMWNPi1fBa+PUj8/If 0SSvhUwkoG9BpnPYU/XPHNEb0rhj1KxF3Gp0bYyIP/kCQQDh7olibwWRMs2US9FL 8dJ0Fn0vm/Xc6t9ZqfvMy62lWAb2I+7KWkW9weuvoDs1jypmsGjT5rb6lH8NG7V5 BQI/AkA85Mw4OXtkr4Sj6g8l8hYYRExz/R2b91dn3a/CJUVPIqS76MhnqQLUjq3x DxRhb1RejtFvet1g2QhZtRcjwZ1pAkEAmDWT6PTS01demKHbh0aLehoMjJ6NrR+v CUEzmm09tz7usbTTkw/uHEEg/1j7isHA1x3SAbBVZcvVLIeWYsm1EQJBANDXO4Mo JHU2YQBmwa4buIlxGSIrXZiQVcCmDKIPa1NKRGDTtjaOknHICdm6SkugXD8NJs2d 7ln645eIMThsIec= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app03.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031462 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 22 (0x16) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app03.phx2.fedoraproject.org/name=bodhi-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d5:e6:d7:7e:b7:28:5a:b7:95:b9:9f:b8:a2:70: 67:03:18:41:ed:2d:eb:0c:63:1d:d2:13:3f:26:7b: 25:b8:44:20:4c:57:0f:8f:c6:9e:ca:ac:fa:8f:e3: 98:ec:74:2a:42:51:73:88:e3:47:6e:b2:4a:e0:64: a0:69:06:b9:3c:d3:c5:7a:bb:14:c1:42:3d:93:68: 55:84:b4:55:c1:fb:dd:e9:60:22:08:39:30:1d:14: 07:01:30:25:71:80:ab:85:9b:88:0a:86:0f:09:01: 0e:54:b4:09:90:47:44:8b:ef:2d:ca:58:65:f7:eb: 62:0f:ac:29:37:67:e1:5f:17 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A1:41:27:47:9A:DA:D7:92:A1:10:AB:68:5B:5B:90:9F:6A:8C:8A:D1 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 61:80:ed:85:75:7a:87:8e:62:f8:37:8c:68:58:1f:bb:02:67: de:bc:b5:1b:fe:88:b6:18:12:97:eb:17:91:10:10:83:07:4b: 6d:52:87:dd:6f:64:dd:a9:c0:49:15:35:e9:e5:d4:6d:be:2b: f5:3b:4a:a4:e0:af:16:04:e7:2a:fe:66:e5:81:1a:95:3e:76: 24:8e:35:6d:73:a3:6c:b7:c0:74:dd:04:02:53:81:cc:94:c3: 03:0a:c7:ad:eb:d0:97:91:ab:08:83:85:7f:d3:ee:f1:d5:19: 4b:f1:14:2f:56:d4:f5:5d:96:33:87:19:ab:7b:09:f1:1b:33: c0:58 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw My5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwMy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1ebXfrco WreVuZ+4onBnAxhB7S3rDGMd0hM/JnsluEQgTFcPj8aeyqz6j+OY7HQqQlFziONH brJK4GSgaQa5PNPFersUwUI9k2hVhLRVwfvd6WAiCDkwHRQHATAlcYCrhZuICoYP CQEOVLQJkEdEi+8tylhl9+tiD6wpN2fhXxcCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUoUEnR5ra15KhEKtoW1uQn2qMitEwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAGGA7YV1eoeOYvg3jGhYH7sCZ968tRv+iLYYEpfrF5EQEIMH S21Sh91vZN2pwEkVNenl1G2+K/U7SqTgrxYE5yr+ZuWBGpU+diSONW1zo2y3wHTd BAJTgcyUwwMKx63r0JeRqwiDhX/T7vHVGUvxFC9W1PVdljOHGat7CfEbM8BY -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/14.pem0000644000175000017500000001002512207656441023375 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 20 (0x14) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app01.phx2.fedoraproject.org/name=bodhi-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d6:22:73:4e:ac:e4:76:94:5d:d5:91:86:1c:5b: 36:1b:39:34:0f:c7:4b:12:c8:43:97:30:b5:e3:cd: 72:d5:9a:d0:db:0a:3a:fb:e1:92:32:18:0a:e6:90: f4:b3:fe:f0:a5:d0:54:81:dc:60:14:e2:22:39:28: 8f:34:65:72:72:ad:08:dc:e4:47:23:02:4c:de:02: f5:f2:44:17:3c:b8:64:44:cf:94:e3:f6:1a:08:27: 6f:a5:45:0a:2c:64:45:d6:cf:0e:83:67:44:b0:f8: ad:fc:12:4b:27:9c:85:f3:45:b5:1a:b3:aa:eb:66: 2b:a1:af:21:81:86:f3:df:09 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 93:78:BE:E2:F2:D6:18:DF:CE:6A:CF:8F:FD:86:9E:8D:7A:3C:10:55 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 3a:8f:ed:20:63:0b:b3:9c:a7:77:dd:28:71:09:29:45:2f:03: ec:c2:83:6a:23:61:a4:24:54:67:14:31:16:bf:69:14:af:7c: 1d:91:22:f1:1b:13:f7:da:90:05:bb:2d:d1:11:17:52:99:ae: e9:e0:30:08:9f:d1:51:5c:a9:45:7d:1c:34:97:cf:98:8b:ae: 71:03:87:b2:b3:f3:45:a6:ec:26:4b:b6:92:64:1f:2a:36:5f: 46:8f:89:61:d5:34:91:64:fe:98:86:19:ef:98:62:1d:6f:10: 4d:96:95:a0:cf:cc:57:43:e4:07:1f:ff:b2:81:90:43:20:a6: 9b:19 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw MS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwMS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1iJzTqzk dpRd1ZGGHFs2Gzk0D8dLEshDlzC1481y1ZrQ2wo6++GSMhgK5pD0s/7wpdBUgdxg FOIiOSiPNGVycq0I3ORHIwJM3gL18kQXPLhkRM+U4/YaCCdvpUUKLGRF1s8Og2dE sPit/BJLJ5yF80W1GrOq62Yroa8hgYbz3wkCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUk3i+4vLWGN/Oas+P/YaejXo8EFUwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBADqP7SBjC7Ocp3fdKHEJKUUvA+zCg2ojYaQkVGcUMRa/aRSv fB2RIvEbE/fakAW7LdERF1KZrungMAif0VFcqUV9HDSXz5iLrnEDh7Kz80Wm7CZL tpJkHyo2X0aPiWHVNJFk/piGGe+YYh1vEE2WlaDPzFdD5Acf/7KBkEMgppsZ -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app03.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032347 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDAzLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwMy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzG5rGudi/oAaT6OzYApsCNGGlxDL MW/sJtj39zM8DWzNZj25+m1gAFRbPQz7ow/Fb2ZKT8cgKPMFDrh9yinHAMgXF344 a3UAczRUqV2syBT3wEXYFPmHjGi6YvW/yUd0U0wJgbL1g0pci/uQbifixdrgQ50j rV95QAnZ6oVccq8CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAInV42VC82lM7K2S c2XocSH5zxoz0dZdHjFM3NttJicK9Ya9OyRgAVr4bdA2eF9g7nJA+9hKbGNeRlBy on/WjIXcxMKzWChRK48aDrJvhDZXp/KtV/IK4gh9EObQfQbpgEGvDLufm7JudIUL LOhV6qNnWDovHVA75u2k5GIFsFMh -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app04.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032346 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAOtVuEtv0IWOts6S 5AnQStQr6Uc6tidXYSdktHFGeR4EM1QjcllI5HOGK2gzhak6hdKeehqJyaAMGrmt 4yWy8RcbhYMHVgOy4hoy/Rc/kML5HTn3Ilp3w2E1o/5kn1unIIlgTHBRrzTIAffJ 73YCDX1p9ZsRBV+JnEv/1uvnlnMDAgMBAAECgYEAqX8Jx7t28lrBq7L8b10IKByg Xd8ZhuhWXysXE2bwoP/hgD4vg8MOV25RITHKmQI/lFz0EN0gzRcqwIVPTr29Cce5 7kIWywPedFx+0iykh7Y7qEi7RQDlIJTK5MyNcrbaRqKxXf0ciqGo/28+eJaqoXhv 3hLqNiTTNlkrBccGgjECQQD/qjNS7RH0KaXwy1x1Fa0veTY82KZPjDqHC2VGBp/h jEn1xJyaQQzHiBJKV9fWxZ0NgDlKrUY4l03Oc7H981DnAkEA66SyYTf20VvJd6ne C+2CFz5XxKNrssCpTU/s6mOAGc+/DCljrN+QIcdIq9Oq8M8P0mQDW7dy+N6TzbI9 0TrdhQJAUHus8oMM7tcZlQb/0SAEx/gZeegd2tbjKdYNiJDXTfKS6dp+DhVCR6Hv WBX1LXhCK5jc8ERB4djHtqE3PCGXqwJAFPZTv/5AgKNPqst7q0f3mKW9HQsEm6Qz 62K+yqMLVEB82FIeQdSpd7fIqTBtNnrVB3xKKDCLk8QJFfVTNnesGQJBAO3FtT5I YQgpIR/XnJD02S1dlfrAs9TnsTt/1z+wpo+OxJjd5vqWxvQ3EIxHuxqXYGhoko9o V6sdAtrWeDiMP9k= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app05.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031504 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 7 (0x7) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app05.phx2.fedoraproject.org/name=shell-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:bf:cb:b3:59:50:a2:bc:de:06:de:e6:e6:47:e3: 45:12:0e:86:a0:5b:8e:84:8a:4a:44:80:f7:06:bf: 3d:5f:6d:01:e0:dc:78:4d:af:5c:b9:db:5c:1d:61: c7:c2:5b:a9:1b:82:66:56:1f:2b:cf:33:14:6c:9c: 39:36:21:42:be:60:ca:79:53:3b:8e:a9:3c:b6:18: 11:96:d0:73:c6:5c:74:0b:0a:a7:48:9d:3e:1c:0c: 1e:b7:c9:f3:d1:47:28:d1:47:31:92:c9:d4:b9:61: 54:f7:92:7c:0b:d9:d4:81:1e:41:84:e2:3f:90:44: 00:5b:ef:dc:69:cf:79:5c:59 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:C3:41:E8:A2:BA:2D:DC:DD:AD:45:CC:29:A2:0C:E7:F6:21:62:D9 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 6d:ca:0c:aa:bf:2e:75:b5:cb:c7:f7:f9:b2:40:ff:2a:d9:7f: 06:8e:ed:fb:69:aa:bb:36:d8:23:aa:58:58:31:b3:62:7e:88: e3:45:54:4f:43:9d:79:d4:50:ba:57:7d:3c:92:0a:d3:a9:08: 1b:df:a0:ff:5e:e4:38:72:9f:0d:cd:b8:52:4d:53:bd:06:1c: 99:e6:2b:07:2e:39:f7:24:71:a8:1d:70:1a:e2:31:46:d3:af: 85:5f:e5:f5:9f:2a:76:88:a7:87:43:b2:7a:36:76:64:88:45: 9e:69:20:74:e6:0d:ab:5b:5e:f1:e1:82:51:ac:d7:c7:5d:5b: ca:c5 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw NS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv8uzWVCi vN4G3ubmR+NFEg6GoFuOhIpKRID3Br89X20B4Nx4Ta9cudtcHWHHwlupG4JmVh8r zzMUbJw5NiFCvmDKeVM7jqk8thgRltBzxlx0CwqnSJ0+HAwet8nz0Uco0UcxksnU uWFU95J8C9nUgR5BhOI/kEQAW+/cac95XFkCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU4cNB6KK6LdzdrUXMKaIM5/YhYtkwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAG3KDKq/LnW1y8f3+bJA/yrZfwaO7ftpqrs22COqWFgxs2J+ iONFVE9DnXnUULpXfTySCtOpCBvfoP9e5Dhynw3NuFJNU70GHJnmKwcuOfckcagd cBriMUbTr4Vf5fWfKnaIp4dDsno2dmSIRZ5pIHTmDatbXvHhglGs18ddW8rF -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app05.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032342 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 33 (0x21) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app05.phx2.fedoraproject.org/name=mediawiki-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:fb:3d:8a:7f:5e:83:c1:ab:47:75:ed:5c:00:09: 47:a8:7c:a4:98:88:49:27:26:e1:e1:18:01:28:7a: 85:d2:59:3c:c3:06:36:dc:46:60:f8:7b:49:bd:e5: 59:ad:10:89:b7:a6:b5:cf:a7:a4:ef:47:16:9d:32: ca:55:0c:a6:65:e0:1f:97:88:23:31:60:ac:99:ac: 77:de:18:89:ac:ee:01:4c:29:46:e3:5d:b9:b9:b8: b6:a4:17:d4:55:38:d7:23:89:52:5a:9a:3e:1b:70: ca:02:c4:7d:aa:26:36:6c:53:09:dc:c2:cb:a6:8f: 5a:f4:2c:08:26:29:8e:2d:33 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 49:08:F4:8B:48:3C:EA:A4:49:96:DA:B6:B5:89:B5:96:2D:02:05:E7 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption dd:20:f0:cf:36:7a:67:4a:22:8b:76:02:e2:0e:aa:49:28:f2: 6f:0f:2e:84:85:37:2c:a8:3d:73:5f:fc:60:22:ec:7d:73:1f: 5c:c1:b7:95:66:2b:00:40:6d:3a:c7:f6:82:4f:7f:49:3b:cf: 89:e7:91:80:46:76:b1:6c:92:8c:4f:22:36:fb:eb:29:30:5f: ce:99:fa:e8:29:dc:96:8d:97:b3:a7:d0:5e:24:25:0b:85:1a: 35:62:ce:c9:ea:c6:f0:39:44:dd:8e:de:6f:94:c1:62:67:72: 6e:6d:6e:f5:da:f6:b3:cb:2d:fe:3b:c4:7f:9e:57:8d:33:67: 15:7e -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBITANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDUucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA1LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQD7PYp/XoPBq0d17VwACUeofKSYiEknJuHhGAEoeoXSWTzDBjbcRmD4e0m95Vmt EIm3prXPp6TvRxadMspVDKZl4B+XiCMxYKyZrHfeGIms7gFMKUbjXbm5uLakF9RV ONcjiVJamj4bcMoCxH2qJjZsUwncwsumj1r0LAgmKY4tMwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRJCPSLSDzqpEmW2ra1ibWWLQIF5zCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA3SDwzzZ6Z0oii3YC4g6qSSjybw8uhIU3LKg9 c1/8YCLsfXMfXMG3lWYrAEBtOsf2gk9/STvPieeRgEZ2sWySjE8iNvvrKTBfzpn6 6Cnclo2Xs6fQXiQlC4UaNWLOyerG8DlE3Y7eb5TBYmdybm1u9dr2s8st/jvEf55X jTNnFX4= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/2B.pem0000644000175000017500000001014212207656441023414 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 43 (0x2b) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedoratagger-packages01.stg.phx2.fedoraproject.org/name=fedoratagger-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d3:d0:82:a2:4c:c1:4a:3f:e3:45:a4:08:f0:b6: 46:f8:14:4d:d1:3f:da:8d:71:7a:b8:17:17:3b:5c: cf:4a:39:21:fa:5c:95:23:c1:8b:4c:80:1e:72:37: 84:92:56:47:50:34:57:fd:bb:79:4b:8b:39:af:1a: 6f:3d:af:0f:f2:34:c9:e8:9c:4b:09:c5:6a:05:42: 71:9a:90:2f:96:49:96:a5:0f:7f:d9:68:49:5f:ef: 87:90:a3:05:25:e6:44:50:41:25:25:11:7f:9f:96: 03:9d:02:f5:74:4e:3e:c2:3d:84:6f:5a:6c:3c:3e: b4:c5:cf:95:fc:87:0e:63:e7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: EE:A0:70:85:34:D5:AA:7F:CE:70:7E:5E:1B:BA:2A:D2:D6:76:B4:5F X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 39:00:c8:9c:47:15:1a:f3:f3:14:8e:d3:6f:62:b1:70:e6:0d: c6:c5:b4:a4:43:b0:23:31:95:9f:14:01:db:12:b0:7e:26:12: d1:7f:59:7f:6a:76:60:39:4f:90:bd:92:a8:ab:8c:1d:33:84: 9e:1b:52:23:be:cc:41:68:89:1c:20:84:c7:60:48:af:40:c3: aa:07:5f:fa:a4:33:d4:d8:ec:a5:01:59:a5:86:c2:17:85:2c: bb:52:8c:4e:55:79:5b:7b:54:51:5a:04:a5:37:bd:c5:b6:78: cf:9d:47:19:43:63:6c:ce:42:ed:f8:33:ab:a0:e8:31:28:54: 05:3e -----BEGIN CERTIFICATE----- MIIEaTCCA9KgAwIBAgIBKzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB+DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTswOQYDVQQDEzJmZWRvcmF0YWdn ZXItcGFja2FnZXMwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzE7MDkGA1UE KRMyZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDT0IKiTMFKP+NFpAjwtkb4FE3RP9qN cXq4Fxc7XM9KOSH6XJUjwYtMgB5yN4SSVkdQNFf9u3lLizmvGm89rw/yNMnonEsJ xWoFQnGakC+WSZalD3/ZaElf74eQowUl5kRQQSUlEX+flgOdAvV0Tj7CPYRvWmw8 PrTFz5X8hw5j5wIDAQABo4IBVzCCAVMwCQYDVR0TBAIwADAtBglghkgBhvhCAQ0E IBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTuoHCF NNWqf85wfl4buirS1na0XzCB1QYDVR0jBIHNMIHKgBQAmKXV58RVDoSjZ/5mShbg BBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQH EwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEPMA0GA1UECxMGZmVk bXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3 DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeCCQCO6yjYqROdfDATBgNVHSUE DDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEFBQADgYEAOQDI nEcVGvPzFI7Tb2KxcOYNxsW0pEOwIzGVnxQB2xKwfiYS0X9Zf2p2YDlPkL2SqKuM HTOEnhtSI77MQWiJHCCEx2BIr0DDqgdf+qQz1NjspQFZpYbCF4Usu1KMTlV5W3tU UVoEpTe9xbZ4z51HGUNjbM5C7fgzq6DoMShUBT4= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app06.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031515 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAKwzCuM82stqEskE4DFhJV/Ysml62cr5s47Nb7Az +t3L76Y60mBpK2oE6YOOYxAfgfRYI4965MS5EtbyQgTjcg0iBDMwdi30TPP8YlFJ 64cp2JWJL65UXaSxFNeP72bfl9QgGyZfuOaESbePsh+1Sfi6+K4kxeJa5DYPt4X6 v/XjAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQBZPRRvv4t2TIyTbVsRUc98KYrU xGAEVxFpUSOSNofMjA6avyyj0T1pfSHM52Cj8xywyVKR7JeG+dTsJfzv84yhrhvW s2DnmhSUUQSoocRQVVbmIc3sit/Bp8xBU925afbh+3TlXJvA9FwVTdX3YJxJk4no dkxAVd9sPw9hpWVmSw== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app01.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031500 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 3 (0x3) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app01.phx2.fedoraproject.org/name=shell-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c9:5d:32:76:f9:e8:a4:84:e6:16:cd:24:7e:99: 68:2a:3e:a7:5b:4f:c2:3b:3a:74:ac:3c:30:be:e5: 99:17:62:83:76:5d:40:79:15:b3:7e:ca:4e:40:e5: 88:2b:95:7e:a3:6a:b1:60:0e:ad:6a:22:b8:6c:f7: f2:95:82:f5:20:62:30:95:53:fd:99:ae:73:c2:44: 6f:5a:47:ad:5a:31:8e:46:9e:41:ee:0e:e8:10:24: 0e:06:8d:e0:9d:0b:74:51:fe:53:58:04:35:e9:69: f4:6c:2a:c8:41:2a:8e:59:52:92:70:af:6f:52:4f: e8:a2:65:25:01:96:e4:b0:47 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 77:71:57:05:B0:F6:25:6D:EA:72:6A:BE:E5:53:FB:19:CB:B1:1C:5E X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 11:b5:cc:6f:e5:cd:8c:b3:fe:98:61:44:ea:ba:9f:39:37:41: 45:5e:34:6c:b1:15:dc:71:a0:1e:7b:8f:8c:43:8b:ad:32:cf: 2d:b2:01:87:bd:b3:0a:a5:2f:51:a4:f6:38:c0:e3:f6:5f:fe: 52:cf:17:13:8c:f8:d8:a7:4c:e8:7f:a3:ac:f4:6c:40:41:0a: e7:f0:14:a8:92:fa:e8:3f:a6:3b:08:a3:af:6f:0b:4d:c5:db: 54:b4:a6:ab:8c:f1:b4:23:71:da:00:e6:ae:69:76:26:3f:06: ae:47:50:b9:a8:b3:20:3e:10:db:ba:f6:8b:d0:19:96:54:88: 96:ff -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw MS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwMS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyV0ydvno pITmFs0kfploKj6nW0/COzp0rDwwvuWZF2KDdl1AeRWzfspOQOWIK5V+o2qxYA6t aiK4bPfylYL1IGIwlVP9ma5zwkRvWketWjGORp5B7g7oECQOBo3gnQt0Uf5TWAQ1 6Wn0bCrIQSqOWVKScK9vUk/oomUlAZbksEcCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUd3FXBbD2JW3qcmq+5VP7GcuxHF4wgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBABG1zG/lzYyz/phhROq6nzk3QUVeNGyxFdxxoB57j4xDi60y zy2yAYe9swqlL1Gk9jjA4/Zf/lLPFxOM+NinTOh/o6z0bEBBCufwFKiS+ug/pjsI o69vC03F21S0pquM8bQjcdoA5q5pdiY/Bq5HULmosyA+ENu69ovQGZZUiJb/ -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.dev.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032257 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmc2hlbGwtZmFzMDEuZGV2LnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJnNoZWxsLWZhczAxLmRldi5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA32CKVqOORvrblJU+J7qHOPUP908p QTgltvUcv0mJOEHtKSb5lmoMmBbtDekBVtX1gwd+i0DH34mRLuoNgtmREzVh0SLo VpYYoEU/RVeR0oZ2WGbyOHD724EqtdapAYCFWZfTPUk1xmwttahHUJ20uXmVi8Jr JSDz6JZtefxTvqUCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAD6vtRLZlMP7FQNr YQePwSZLwfyF1XUVStTTFOk3nuQRSwZDfnjHQsZ5bUF63Nql/vJ/DpUk8JjpURb4 9xlKBI0YBLfGKMtBx5b6J+pB6eupXtNWUUea/VmnIXFAVYjZK5At3Gxjpgw2rD5J m8yNWzxM7MAjDclVuItNb4Ss+ACz -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441034030 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAPIPCmV4MyGtu0aI SHnBs03f+pknFX22e6a0s4en6iZs8F3gz6Mbx/P6ZNR2lrPYg+BMkV5wLXMnkiok PvJIBW8e9KzW3Nz5HOW3/soKCeYLHaP0jkjpPlwnAbxp3lvdKFs5KQOXlhLgC+dq 4zf229K3SCQQYkUCb6i5ZzFMlHQtAgMBAAECgYAYRgHY4xDdk7pv/EKoUxBUAt3y dcTl8mK7+Or385K7f7kq8NxhkuueP8HUvH+oUVIIMCVzvvQP1CwIJdJaIXbJ1/e+ gxbC/+dP4g6HPUfkqc3uz7KlKdIx/Bw890GhU8XSNM1pgdrGFMQji4lLiR89eVcs a3EmhvARUXeFGrl9AQJBAPlICyKost+9efaE6yP4KQ7bN0VDlGEqMwGSwOf04/a3 K28z+YtgzKi3u1ddH+RzZ4EB0Ht+WUj0IlmWAAHXgF0CQQD4lSnGEpVZoh3ztab4 LWWqC433EI23UJ+hN8hrr3u9pwVOQcPOBygBpI8viY7c2ybJpe1ERilsQRXRXzGE IcYRAkEAs1IH8J66TgjXO2bSX8Wcg3tefwzmKB9bIb6X1kRr2IZbUFtrH8A6eQPy WB49WvFJe5v6hVuWjsxQCXHF/40uYQJALzkXAHvTR33Wts+RcqAdKhqb042ffm2g hZ31Qw/JMBQkm+M+cUtGvFkool09eJNhYPlWg5vYjqomnOm6nGFWIQJBANM5N9VT TNS7eiD8gDH5YNSkeoXVWSnO9Ahqvh8qglNF+jE4w5ok6T1N3zV+seD7DSE/d+aV U0hK4Io4j+/kZx0= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.dev.phx2.fedoraproject.org.crt0000644000175000017500000001004212207656441031711 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 40 (0x28) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fas-fas01.dev.phx2.fedoraproject.org/name=fas-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:9a:89:37:49:5c:35:fd:f1:bf:3f:30:9b:a0:d5: 0e:39:b6:1b:d7:19:39:79:11:b1:26:d3:4e:9b:e2: ce:a4:10:c4:36:fd:13:d9:f5:e8:87:ac:c4:96:66: cc:c0:2b:4e:94:c1:64:1d:41:64:eb:3e:48:47:d8: 20:32:f5:6b:f7:75:15:fb:9a:2b:19:20:79:ea:36: cb:fe:04:ce:c3:dd:8f:bb:49:ae:04:81:f9:08:8a: 1a:a0:78:4e:bd:83:52:7d:44:28:72:3c:ba:a2:77: 28:be:f1:e6:87:33:fc:84:f1:f0:95:9f:02:6b:f1: b1:30:c1:f7:8a:7b:18:ba:b7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:72:E7:FD:75:0C:CE:D5:DF:B5:FF:AE:FF:52:B8:51:19:F4:7B:84 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 17:a3:c9:ac:f3:97:26:55:a5:9f:b6:1a:4f:e8:12:b8:a8:cc: b8:f3:3d:33:f7:ef:9b:ce:93:c3:fd:ff:b7:50:60:e6:24:03: 38:45:c6:2b:cc:c8:ab:a2:c2:e1:0e:67:d7:2a:d8:26:d7:90: 47:52:c0:cf:f7:a7:44:d4:ec:79:a3:cf:60:98:2e:07:34:1b: 40:57:36:e5:71:b8:6e:fc:ff:16:da:3e:3b:bc:fe:8d:55:22: 95:ff:b9:18:3a:57:6d:bf:28:9b:b3:19:8c:ae:38:74:6a:8c: f1:2e:e4:f5:8b:39:22:16:55:15:6e:f5:c3:cd:ab:e8:35:af: 8c:4b -----BEGIN CERTIFICATE----- MIIETTCCA7agAwIBAgIBKDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB3DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS0wKwYDVQQDEyRmYXMtZmFzMDEu ZGV2LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxLTArBgNVBCkTJGZhcy1mYXMwMS5k ZXYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5A ZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJqJ N0lcNf3xvz8wm6DVDjm2G9cZOXkRsSbTTpvizqQQxDb9E9n16IesxJZmzMArTpTB ZB1BZOs+SEfYIDL1a/d1FfuaKxkgeeo2y/4EzsPdj7tJrgSB+QiKGqB4Tr2DUn1E KHI8uqJ3KL7x5ocz/ITx8JWfAmvxsTDB94p7GLq3AgMBAAGjggFXMIIBUzAJBgNV HRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2VydGlm aWNhdGUwHQYDVR0OBBYEFOFy5/11DM7V37X/rv9SuFEZ9HuEMIHVBgNVHSMEgc0w gcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZlZG9yYSBQ cm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEPMA0GA1UE KRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9y Z4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDAN BgkqhkiG9w0BAQUFAAOBgQAXo8ms85cmVaWfthpP6BK4qMy48z0z9++bzpPD/f+3 UGDmJAM4RcYrzMirosLhDmfXKtgm15BHUsDP96dE1Ox5o89gmC4HNBtAVzblcbhu /P8W2j47vP6NVSKV/7kYOldtvyibsxmMrjh0aozxLuT1izkiFlUVbvXDzavoNa+M Sw== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000147212207656441033137 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICKTCCAZICAQAwgegxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEzMDEGA1UEAxMqbWVkaWF3aWtpLWFwcDAxLnN0Zy5waHgyLmZlZG9yYXBy b2plY3Qub3JnMTMwMQYDVQQpEyptZWRpYXdpa2ktYXBwMDEuc3RnLnBoeDIuZmVk b3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2pl Y3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCv+EYbCYZWHwLk5o8K AQ6vXNXinyuWtDJz2tU/yAcke17MsqZDJOvIuEI4LKYLMsC8rD33OuN8VlLGxqEt t1Oe1HXHYyFWIPrGRnfH6JZK0Um2iRTRGA6vGUxb2r34O4C+4FuBFNrM5sWZHUKm OwuTMBTSb4PYmaFJHnvm6mDIKQIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAMkme Nr7r1s6KuKvDMn1WikEQ0VMirJQtndw8SnHAzODGleLnfd4P2IO9qMVdJdnmqj5h u90pfIE8k9QQz8igGoJxFPKq4Xs5kQXkRoYOaa9h2oBt/e1mYjh/csqDWU/FffF+ OharQXDyRF+B9dwQmJ3ihhWAMtC9EccTRMa15x0= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0C.pem0000644000175000017500000001002412207656441023412 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 12 (0xc) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-fas01.phx2.fedoraproject.org/name=shell-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:93:eb:fd:77:fe:bf:5c:d7:b8:dc:4a:66:ae:8f: 9a:c2:1b:a2:cc:48:d1:2c:d3:cb:01:7f:18:fc:dd: d7:b0:d8:78:2d:a2:0e:c4:8f:93:26:c8:a5:20:02: 0b:77:bf:18:32:af:5e:b8:7b:b8:25:d9:33:f8:ce: c8:7a:6f:c8:78:0c:17:08:b7:96:fb:51:6a:34:d0: 34:4a:20:62:36:7c:e7:79:e9:d3:ab:85:5b:27:09: 0e:a8:50:60:ec:7e:10:70:d8:2c:18:6a:e3:82:53: bd:5b:62:08:53:2b:20:2a:20:34:05:ef:03:66:f3: 67:2a:e5:0a:8a:f2:f2:98:61 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 57:24:78:6A:46:74:8F:BA:E0:0D:AE:1D:10:72:8D:6B:FF:E7:64:D5 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 33:56:05:7a:bb:46:ba:a1:90:ae:72:12:09:c7:79:a6:59:69: 68:32:d0:4f:56:cb:f3:15:81:89:8f:d8:84:37:02:01:a8:2b: d3:9a:21:1c:20:db:aa:ce:56:73:6b:99:a6:2c:1a:c3:a6:89: 72:a0:f7:a7:5b:a7:a6:8d:ff:8b:20:1e:48:2f:18:ff:01:d1: 33:17:7d:eb:06:35:6c:b3:b8:f4:86:10:f9:d4:5e:48:8d:15: 1b:93:6e:75:39:01:e9:60:a9:9d:05:e7:82:2e:7d:46:c8:d4: ad:82:d8:80:52:44:a6:0d:37:a8:26:4a:fc:40:67:98:22:11: 44:ca -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBDDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1mYXMw MS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1mYXMwMS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAk+v9d/6/ XNe43Epmro+awhuizEjRLNPLAX8Y/N3XsNh4LaIOxI+TJsilIAILd78YMq9euHu4 Jdkz+M7Iem/IeAwXCLeW+1FqNNA0SiBiNnzneenTq4VbJwkOqFBg7H4QcNgsGGrj glO9W2IIUysgKiA0Be8DZvNnKuUKivLymGECAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUVyR4akZ0j7rgDa4dEHKNa//nZNUwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBADNWBXq7RrqhkK5yEgnHeaZZaWgy0E9Wy/MVgYmP2IQ3AgGo K9OaIRwg26rOVnNrmaYsGsOmiXKg96dbp6aN/4sgHkgvGP8B0TMXfesGNWyzuPSG EPnUXkiNFRuTbnU5AelgqZ0F54IufUbI1K2C2IBSRKYNN6gmSvxAZ5giEUTK -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/25.pem0000644000175000017500000001007612207656441023405 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 37 (0x25) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app02.stg.phx2.fedoraproject.org/name=mediawiki-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c4:b1:be:dc:9c:95:bf:95:59:1b:c3:e7:e8:6b: 55:84:db:a5:e9:46:96:6c:d6:51:5e:9c:8c:62:c0: b0:98:86:4d:e2:1f:56:5d:e2:d9:2d:61:00:06:3f: b8:9e:87:50:db:c9:7c:d8:7e:56:03:35:b9:58:07: c2:aa:38:d7:ea:b8:8a:87:a1:09:f8:4c:13:d3:01: 8e:c3:2e:6e:c0:b6:f8:6d:a2:f6:79:b1:4c:83:6f: f8:11:a1:b2:e2:75:15:b0:ca:61:77:4f:4b:1c:a5: b9:40:d9:46:8a:41:00:dc:60:99:3e:cd:eb:bf:31: 13:7a:e6:a8:3c:06:7f:83:23 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 02:62:D0:F2:5B:50:6C:35:06:25:F0:69:02:A7:C8:26:C1:30:DF:9D X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 2b:07:3b:a1:e5:ed:bc:0e:53:b4:00:84:79:04:b0:ea:19:ac: 17:b4:18:74:7c:a9:56:4c:ca:7e:79:94:e4:86:7f:81:10:3b: cc:b2:22:af:0f:8b:2e:cf:be:38:86:17:b7:ae:fe:cc:e5:42: 26:80:24:a7:78:52:a3:9f:75:8b:74:ea:11:2b:9c:5e:bf:b6: 05:40:04:6b:dd:fd:03:ba:28:89:84:a5:73:f1:f9:e8:93:65: 68:4c:b9:9b:2f:22:bc:71:53:48:0b:48:76:5b:f3:27:c9:3c: e9:cd:f8:5c:48:d5:c2:e6:4e:77:79:8f:a6:39:27:96:9f:33: 74:2a -----BEGIN CERTIFICATE----- MIIEWTCCA8KgAwIBAgIBJTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB6DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTMwMQYDVQQDEyptZWRpYXdpa2kt YXBwMDIuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMzAxBgNVBCkTKm1lZGlh d2lraS1hcHAwMi5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3 DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMSxvtyclb+VWRvD5+hrVYTbpelGlmzWUV6cjGLAsJiGTeIfVl3i 2S1hAAY/uJ6HUNvJfNh+VgM1uVgHwqo41+q4ioehCfhME9MBjsMubsC2+G2i9nmx TINv+BGhsuJ1FbDKYXdPSxyluUDZRopBANxgmT7N678xE3rmqDwGf4MjAgMBAAGj ggFXMIIBUzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5l cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFAJi0PJbUGw1BiXwaQKnyCbBMN+d MIHVBgNVHSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQsw CQYDVQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNV BAoTDkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZl ZG1zZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsG A1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQArBzuh5e28DlO0AIR5BLDqGawX tBh0fKlWTMp+eZTkhn+BEDvMsiKvD4suz744hhe3rv7M5UImgCSneFKjn3WLdOoR K5xev7YFQARr3f0DuiiJhKVz8fnok2VoTLmbLyK8cVNIC0h2W/MnyTzpzfhcSNXC 5k53eY+mOSeWnzN0Kg== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app02.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032264 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmYm9kaGktYXBwMDIuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJmJvZGhpLWFwcDAyLnN0Zy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxGU/2IzoNd3wCFZ9bjbNkTmAd3wA ZF4Lw4OBBE4Sj92XVA7cJc1Vn8yzZAJ1EMkKuaD19rO2oMTeJiDnfuKSwpSpJV+i cZ38BEE54HWlB+4BIbJK7qqZHL70MdIwv7oLI6meVAOdNcLJbBU/iTeSckrYh+Xr RVWUlvrEHZ+x+S8CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAI26esE+y72oVHtu yldSx9AQfOTwaKuL8Z6DLx8+ce3/ZuFRbOaxhp6+LJvwGRy5k3BEcwciEMpZxQjY boCQX6MjlUuYUQj8tzWE0o1x7W6+Trt3LILXZzd6PXfIiaLCMjp0Z8ZMgEWzMnZz QJ+21E0qvtC2NiSPqTRthbmkAht7 -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.dev.phx2.fedoraproject.org.csr0000644000175000017500000000145212207656441031715 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICHTCCAYYCAQAwgdwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEtMCsGA1UEAxMkZmFzLWZhczAxLmRldi5waHgyLmZlZG9yYXByb2plY3Qu b3JnMS0wKwYDVQQpEyRmYXMtZmFzMDEuZGV2LnBoeDIuZmVkb3JhcHJvamVjdC5v cmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0G CSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaiTdJXDX98b8/MJug1Q45thvXGTl5EbEm 006b4s6kEMQ2/RPZ9eiHrMSWZszAK06UwWQdQWTrPkhH2CAy9Wv3dRX7misZIHnq Nsv+BM7D3Y+7Sa4EgfkIihqgeE69g1J9RChyPLqidyi+8eaHM/yE8fCVnwJr8bEw wfeKexi6twIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAY6gXZbryRAuS1bsBhywW P9nL7LicMeFQS6IzWjyLth64PHtUja9dDGf1k44+9CAAbB7PTfCUpUqh7iS9+mW6 BqKeS5GW+A539GvmN/7plSFDXyYy5sy7cwCqbrtTn/eY/uWePkNut7nA44NVLIIs jT4yFoU1m0Tg3GR7sUz06vo= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-pkgs01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000146212207656441032466 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICIzCCAYwCAQAwgeIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEwMC4GA1UEAxMnc2hlbGwtcGtnczAxLnN0Zy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMTAwLgYDVQQpEydzaGVsbC1wa2dzMDEuc3RnLnBoeDIuZmVkb3JhcHJv amVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3Jn MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbEy01fB2Pw3LuFqkmpGJ99ohI Zsv5CxjmoiAQulctCjC4AbAVEBwU3G4soQKxHdfX5hrtaui18AEEi/b8Lbz2KUQW isi0EGStGZqTyIJoBQapOnb06IjRWmjdgxNv2aDMocNAE+YYuePTouTsaYAwRmU+ 5zxXxDTDmXoLcxXnWwIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAOX4jOS1tf+JL 8L7aBCtxx11vjrL6Ju7+C+WaX4vpGXxduVRP5N9NeMmIzf1zFDucsFS0cymp7YyT CtGcqJo7YFFo1yJKiNAoIhefOVS+0bNI4fiEJKFPDQZl5Xv34FLN9uajSDHgBHly fkudIaSUz7q8pk5cv6/9qo3xm8a4pbI= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/27.pem0000644000175000017500000001004212207656441023400 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 39 (0x27) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fas-fas01.stg.phx2.fedoraproject.org/name=fas-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:cf:e4:45:2a:19:69:c2:49:0d:e9:72:f1:e9:3c: 1c:a7:c5:34:e7:9a:d2:af:41:f4:dd:39:f6:8e:de: 63:60:e6:32:fe:33:bd:c0:c7:e3:ba:cb:6d:d5:b6: ac:50:54:8d:fc:2c:16:87:68:c2:d1:c1:92:f1:b6: 55:07:77:9f:d2:32:86:cc:c5:d3:76:8e:c8:ba:e5: 67:69:f3:98:2a:3e:7e:52:39:0d:29:13:0e:85:53: 0f:33:1b:1f:33:7f:3f:ea:e6:ab:03:18:b8:fe:5e: 6f:c7:2d:ff:0c:dd:b0:54:bb:1c:aa:bb:b5:2f:7c: 1b:16:5e:bc:04:9e:fd:2b:03 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 45:B5:AE:95:07:F6:A4:6F:E9:BF:47:48:95:BE:12:4B:9F:6F:24:67 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 4b:83:e1:91:44:dc:e0:74:c3:71:b5:85:33:e2:17:b6:b8:aa: a1:a7:e3:22:54:6d:76:f9:5c:f7:8a:4f:77:10:f6:51:90:e4: 3f:e8:1d:b1:2f:63:79:5e:46:ea:af:ef:be:46:5b:af:3c:4e: a9:15:2f:ac:23:89:20:74:f2:1e:e4:02:cc:5a:a8:be:08:c2: c7:b9:f4:42:8b:c9:e4:a4:3e:13:c8:41:bc:b9:4e:37:22:e0: 09:cb:c7:ab:56:26:c2:20:51:97:2b:06:ed:a3:e0:f8:b1:ea: 17:c1:00:21:b0:18:15:64:cf:68:0c:a9:a0:bc:45:c1:2c:4c: c1:49 -----BEGIN CERTIFICATE----- MIIETTCCA7agAwIBAgIBJzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB3DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS0wKwYDVQQDEyRmYXMtZmFzMDEu c3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxLTArBgNVBCkTJGZhcy1mYXMwMS5z dGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5A ZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM/k RSoZacJJDely8ek8HKfFNOea0q9B9N059o7eY2DmMv4zvcDH47rLbdW2rFBUjfws FodowtHBkvG2VQd3n9IyhszF03aOyLrlZ2nzmCo+flI5DSkTDoVTDzMbHzN/P+rm qwMYuP5eb8ct/wzdsFS7HKq7tS98GxZevASe/SsDAgMBAAGjggFXMIIBUzAJBgNV HRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2VydGlm aWNhdGUwHQYDVR0OBBYEFEW1rpUH9qRv6b9HSJW+EkufbyRnMIHVBgNVHSMEgc0w gcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZlZG9yYSBQ cm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEPMA0GA1UE KRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9y Z4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDAN BgkqhkiG9w0BAQUFAAOBgQBLg+GRRNzgdMNxtYUz4he2uKqhp+MiVG12+Vz3ik93 EPZRkOQ/6B2xL2N5Xkbqr+++RluvPE6pFS+sI4kgdPIe5ALMWqi+CMLHufRCi8nk pD4TyEG8uU43IuAJy8erVibCIFGXKwbto+D4seoXwQAhsBgVZM9oDKmgvEXBLEzB SQ== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001005112207656441032275 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 10 (0xa) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app01.stg.phx2.fedoraproject.org/name=shell-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c1:bc:81:28:0e:43:20:28:23:dc:7f:93:1f:7e: 03:66:b7:64:86:99:2a:c5:3a:dd:c0:76:e9:26:4b: c1:ab:77:58:54:c1:b5:13:67:32:51:85:6d:1f:d0: 2a:6b:47:66:6b:d7:c9:2d:de:f7:08:69:0c:b2:62: 31:22:9c:80:c1:82:fa:d8:5f:95:2b:d7:48:b8:2d: 6f:f0:20:4c:b9:c7:9a:9b:95:30:cc:eb:10:80:e9: db:e8:50:ff:4f:a4:63:b5:d1:00:a1:44:6d:e6:5c: f1:77:3f:b1:0d:ca:8a:fb:cc:be:89:0d:11:0a:93: ca:16:05:08:cd:ea:9e:b1:9d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 4A:E2:CA:AC:F3:6B:6C:F8:87:E9:9E:F0:B5:FE:4C:F1:0F:DB:93:13 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 07:57:c8:52:52:ea:cb:a6:f2:b2:e3:79:8f:35:d5:38:f3:1c: 4e:a0:a2:61:42:bc:d8:fd:40:bd:23:24:32:ea:45:c9:0f:0f: 44:b4:0b:40:c7:14:84:52:d1:cb:b9:48:6f:45:7e:22:50:7b: 36:f1:e7:94:fd:49:96:26:05:14:b7:52:83:f3:80:ff:fc:88: 87:29:d4:0f:38:34:9c:4c:4f:11:58:be:88:99:54:0f:17:5f: 85:07:47:d9:b1:fd:a3:d8:6d:ec:ae:77:7d:b7:d8:3c:f9:fb: ea:dd:41:f4:bd:9d:20:65:16:05:ba:f8:39:63:d0:83:94:7f: b8:f5 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBCjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1hcHAw MS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtYXBw MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDBvIEoDkMgKCPcf5MffgNmt2SGmSrFOt3AdukmS8Grd1hUwbUTZzJRhW0f0Cpr R2Zr18kt3vcIaQyyYjEinIDBgvrYX5Ur10i4LW/wIEy5x5qblTDM6xCA6dvoUP9P pGO10QChRG3mXPF3P7ENyor7zL6JDREKk8oWBQjN6p6xnQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRK4sqs82ts+IfpnvC1/kzxD9uTEzCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAB1fIUlLqy6bysuN5jzXVOPMcTqCiYUK82P1A vSMkMupFyQ8PRLQLQMcUhFLRy7lIb0V+IlB7NvHnlP1JliYFFLdSg/OA//yIhynU Dzg0nExPEVi+iJlUDxdfhQdH2bH9o9ht7K53fbfYPPn76t1B9L2dIGUWBbr4OWPQ g5R/uPU= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app04.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032350 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDA0LnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwNC5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA61W4S2/QhY62zpLkCdBK1CvpRzq2 J1dhJ2S0cUZ5HgQzVCNyWUjkc4YraDOFqTqF0p56GonJoAwaua3jJbLxFxuFgwdW A7LiGjL9Fz+QwvkdOfciWnfDYTWj/mSfW6cgiWBMcFGvNMgB98nvdgINfWn1mxEF X4mcS//W6+eWcwMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBABN8zHsAHV0sUCzH 9+Jjq5duQYAe6zHTfk8XsDi2sJMGs9jfqyX622ScukqdBdMs5yh7XPyNdwadJ0pW 65iCAereo+JVNoDxciqPuUB6n6SzUfYqmg/5kYTteoj642zKZBuSl38atbdDSgtp E+eYt0oLAHHWiyQ9so8FvsEa7IDO -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-pkgs01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001006012207656441032461 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 19 (0x13) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-pkgs01.stg.phx2.fedoraproject.org/name=shell-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:db:13:2d:35:7c:1d:8f:c3:72:ee:16:a9:26:a4: 62:7d:f6:88:48:66:cb:f9:0b:18:e6:a2:20:10:ba: 57:2d:0a:30:b8:01:b0:15:10:1c:14:dc:6e:2c:a1: 02:b1:1d:d7:d7:e6:1a:ed:6a:e8:b5:f0:01:04:8b: f6:fc:2d:bc:f6:29:44:16:8a:c8:b4:10:64:ad:19: 9a:93:c8:82:68:05:06:a9:3a:76:f4:e8:88:d1:5a: 68:dd:83:13:6f:d9:a0:cc:a1:c3:40:13:e6:18:b9: e3:d3:a2:e4:ec:69:80:30:46:65:3e:e7:3c:57:c4: 34:c3:99:7a:0b:73:15:e7:5b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 4A:A6:F7:EE:01:81:BB:57:3C:1C:A6:2C:EE:4E:FE:B0:44:58:12:91 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption df:3c:0d:60:4d:56:a2:27:be:69:5e:47:99:23:05:15:ec:e1: 22:0b:8b:00:95:06:f8:01:24:f9:e9:2c:7f:58:35:8d:8f:37: 93:f9:e8:e9:6f:cd:5c:d3:26:89:88:99:2c:95:a5:56:40:e5: ae:66:f5:3e:55:4e:d5:f0:a6:03:10:ec:83:33:05:e0:0c:b1: c3:5a:8e:bd:4e:64:6c:c3:75:bf:7b:21:1e:cf:68:32:83:85: 35:89:83:68:f8:00:ca:6c:e7:ad:b2:23:49:12:20:80:22:ff: ec:0e:fa:7b:4e:0b:5c:ad:de:18:88:8e:41:f8:e5:da:5b:c6: 27:94 -----BEGIN CERTIFICATE----- MIIEUzCCA7ygAwIBAgIBEzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTAwLgYDVQQDEydzaGVsbC1wa2dz MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMDAuBgNVBCkTJ3NoZWxsLXBr Z3MwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYX YWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBANsTLTV8HY/Dcu4WqSakYn32iEhmy/kLGOaiIBC6Vy0KMLgBsBUQHBTcbiyh ArEd19fmGu1q6LXwAQSL9vwtvPYpRBaKyLQQZK0ZmpPIgmgFBqk6dvToiNFaaN2D E2/ZoMyhw0AT5hi549Oi5OxpgDBGZT7nPFfENMOZegtzFedbAgMBAAGjggFXMIIB UzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQg Q2VydGlmaWNhdGUwHQYDVR0OBBYEFEqm9+4BgbtXPBymLO5O/rBEWBKRMIHVBgNV HSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQG EwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZl ZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEP MA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9q ZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE AwIHgDANBgkqhkiG9w0BAQUFAAOBgQDfPA1gTVaiJ75pXkeZIwUV7OEiC4sAlQb4 AST56Sx/WDWNjzeT+ejpb81c0yaJiJkslaVWQOWuZvU+VU7V8KYDEOyDMwXgDLHD Wo69TmRsw3W/eyEez2gyg4U1iYNo+ADKbOetsiNJEiCAIv/sDvp7Tgtcrd4YiI5B +OXaW8YnlA== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/2D.pem0000644000175000017500000001004412207656441023417 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 45 (0x2d) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=scm-pkgs01.stg.phx2.fedoraproject.org/name=scm-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d0:8d:ba:8e:c2:2c:65:b6:80:f2:b9:48:b8:b9: a6:77:61:76:d4:bf:88:4b:6b:a3:a6:71:c1:fe:c7: 46:00:49:e7:1a:aa:65:10:86:2f:a0:42:82:22:4e: 85:28:b0:fe:fa:94:9d:28:b4:4b:16:80:54:5b:dd: de:c4:77:0c:eb:8e:ea:91:90:bd:22:ff:e7:e2:23: f4:3d:bd:04:de:3d:11:0e:9b:0c:e4:51:b1:d9:fc: 23:1c:ee:1f:0c:59:13:a0:24:0a:2a:c4:a2:80:a5: 03:e4:8c:a6:7a:82:56:4e:24:b1:b0:d1:9e:15:c6: 98:41:0d:4d:6f:f9:91:26:01 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A8:F3:3D:35:FB:85:39:3F:80:8C:DB:E0:F0:71:99:17:AA:E3:BD:1C X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 92:1a:dc:04:eb:bb:cc:22:eb:a0:70:03:d8:71:84:a0:7f:2b: e2:85:2a:2a:ff:51:6e:3c:02:b9:e5:4e:79:b2:40:55:c8:f0: 00:32:01:59:04:ad:ec:d8:0f:a5:56:73:11:86:19:4e:37:ad: 11:3c:43:36:0b:1b:ad:b4:51:6d:49:e8:51:40:6b:a9:2e:b9: b9:c3:98:c5:99:bf:7a:e5:fd:8b:6f:9e:76:d4:82:40:10:e5: 79:08:67:f3:d2:df:3f:e3:9c:8a:c5:f5:7d:43:0c:26:7c:a8: d4:fe:bc:d9:50:84:5c:91:71:d2:af:c7:18:f7:a2:b4:9b:61: 81:2a -----BEGIN CERTIFICATE----- MIIETzCCA7igAwIBAgIBLTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB3jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS4wLAYDVQQDEyVzY20tcGtnczAx LnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMS4wLAYDVQQpEyVzY20tcGtnczAx LnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1p bkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA 0I26jsIsZbaA8rlIuLmmd2F21L+IS2ujpnHB/sdGAEnnGqplEIYvoEKCIk6FKLD+ +pSdKLRLFoBUW93exHcM647qkZC9Iv/n4iP0Pb0E3j0RDpsM5FGx2fwjHO4fDFkT oCQKKsSigKUD5IymeoJWTiSxsNGeFcaYQQ1Nb/mRJgECAwEAAaOCAVcwggFTMAkG A1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0 aWZpY2F0ZTAdBgNVHQ4EFgQUqPM9NfuFOT+AjNvg8HGZF6rjvRwwgdUGA1UdIwSB zTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3Jh IFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYD VQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qu b3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeA MA0GCSqGSIb3DQEBBQUAA4GBAJIa3ATru8wi66BwA9hxhKB/K+KFKir/UW48Arnl TnmyQFXI8AAyAVkErezYD6VWcxGGGU43rRE8QzYLG620UW1J6FFAa6kuubnDmMWZ v3rl/YtvnnbUgkAQ5XkIZ/PS3z/jnIrF9X1DDCZ8qNT+vNlQhFyRcdKvxxj3orSb YYEq -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app07.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032344 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 35 (0x23) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app07.phx2.fedoraproject.org/name=mediawiki-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:a2:4b:a4:9b:ca:bc:d0:3a:bc:30:c7:87:79:2d: df:5b:1b:08:5e:8f:b5:1f:13:a1:2d:65:7e:27:a7: c9:3f:65:d7:a6:a1:43:db:c4:9c:6a:71:4d:65:88: 85:14:65:c0:f0:fb:a5:d0:4a:26:99:9f:82:f5:f5: 06:68:56:86:e7:67:52:90:40:d9:5c:11:f7:40:c3: 17:a7:a3:7d:45:a4:09:29:ab:99:9d:f0:39:f7:a2: 05:2d:08:34:c6:22:00:b0:e6:10:ca:f9:91:e4:a7: 15:18:46:17:c2:1c:2b:be:6c:b6:a0:f7:8c:4a:19: 29:23:d5:4e:8a:84:61:56:59 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: AB:00:98:5E:BF:83:5B:8F:25:15:E0:31:54:1D:FC:91:FD:EF:87:73 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption b9:3a:ec:d0:04:16:90:a0:85:a8:40:0d:b5:79:6b:0e:7d:9a: b1:bf:46:91:41:7c:41:4f:72:58:92:41:a1:4f:77:1b:cd:01: 42:65:25:7b:1a:3f:36:ad:96:24:e4:6b:c0:07:c1:13:6f:88: 69:6a:39:87:1e:01:80:94:4c:2e:c7:ef:a8:47:75:8f:67:4d: 77:3c:94:b9:88:d9:dc:f2:96:cf:43:6b:7b:79:bb:f8:d6:01: 6f:d5:a1:6c:d9:3d:0d:bf:29:2c:8b:32:cc:c6:fc:23:83:31: c9:7d:75:42:7e:6e:27:b1:d3:9c:fd:1c:fd:11:96:a7:a5:07: 45:b1 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBIzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA3LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQCiS6SbyrzQOrwwx4d5Ld9bGwhej7UfE6EtZX4np8k/ZdemoUPbxJxqcU1liIUU ZcDw+6XQSiaZn4L19QZoVobnZ1KQQNlcEfdAwxeno31FpAkpq5md8Dn3ogUtCDTG IgCw5hDK+ZHkpxUYRhfCHCu+bLag94xKGSkj1U6KhGFWWQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBSrAJhev4NbjyUV4DFUHfyR/e+HczCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAuTrs0AQWkKCFqEANtXlrDn2asb9GkUF8QU9y WJJBoU93G80BQmUlexo/Nq2WJORrwAfBE2+IaWo5hx4BgJRMLsfvqEd1j2dNdzyU uYjZ3PKWz0Nre3m7+NYBb9WhbNk9Db8pLIsyzMb8I4MxyX11Qn5uJ7HTnP0c/RGW p6UHRbE= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/21.pem0000644000175000017500000001005212207656441023373 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 33 (0x21) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app05.phx2.fedoraproject.org/name=mediawiki-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:fb:3d:8a:7f:5e:83:c1:ab:47:75:ed:5c:00:09: 47:a8:7c:a4:98:88:49:27:26:e1:e1:18:01:28:7a: 85:d2:59:3c:c3:06:36:dc:46:60:f8:7b:49:bd:e5: 59:ad:10:89:b7:a6:b5:cf:a7:a4:ef:47:16:9d:32: ca:55:0c:a6:65:e0:1f:97:88:23:31:60:ac:99:ac: 77:de:18:89:ac:ee:01:4c:29:46:e3:5d:b9:b9:b8: b6:a4:17:d4:55:38:d7:23:89:52:5a:9a:3e:1b:70: ca:02:c4:7d:aa:26:36:6c:53:09:dc:c2:cb:a6:8f: 5a:f4:2c:08:26:29:8e:2d:33 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 49:08:F4:8B:48:3C:EA:A4:49:96:DA:B6:B5:89:B5:96:2D:02:05:E7 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption dd:20:f0:cf:36:7a:67:4a:22:8b:76:02:e2:0e:aa:49:28:f2: 6f:0f:2e:84:85:37:2c:a8:3d:73:5f:fc:60:22:ec:7d:73:1f: 5c:c1:b7:95:66:2b:00:40:6d:3a:c7:f6:82:4f:7f:49:3b:cf: 89:e7:91:80:46:76:b1:6c:92:8c:4f:22:36:fb:eb:29:30:5f: ce:99:fa:e8:29:dc:96:8d:97:b3:a7:d0:5e:24:25:0b:85:1a: 35:62:ce:c9:ea:c6:f0:39:44:dd:8e:de:6f:94:c1:62:67:72: 6e:6d:6e:f5:da:f6:b3:cb:2d:fe:3b:c4:7f:9e:57:8d:33:67: 15:7e -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBITANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDUucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA1LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQD7PYp/XoPBq0d17VwACUeofKSYiEknJuHhGAEoeoXSWTzDBjbcRmD4e0m95Vmt EIm3prXPp6TvRxadMspVDKZl4B+XiCMxYKyZrHfeGIms7gFMKUbjXbm5uLakF9RV ONcjiVJamj4bcMoCxH2qJjZsUwncwsumj1r0LAgmKY4tMwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRJCPSLSDzqpEmW2ra1ibWWLQIF5zCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA3SDwzzZ6Z0oii3YC4g6qSSjybw8uhIU3LKg9 c1/8YCLsfXMfXMG3lWYrAEBtOsf2gk9/STvPieeRgEZ2sWySjE8iNvvrKTBfzpn6 6Cnclo2Xs6fQXiQlC4UaNWLOyerG8DlE3Y7eb5TBYmdybm1u9dr2s8st/jvEf55X jTNnFX4= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/scm-pkgs01.phx2.fedoraproject.org.csr0000644000175000017500000000144212207656441031343 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICFzCCAYACAQAwgdYxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEqMCgGA1UEAxMhc2NtLXBrZ3MwMS5waHgyLmZlZG9yYXByb2plY3Qub3Jn MSowKAYDVQQpEyFzY20tcGtnczAxLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAk BgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDgOgMoR87kzNpnVc3ktJNDaajVbgahf6XhVkDvhJ1i q+QM0AHswWBmVboSKHSSgmIoyxF7Vjh+/pF1BudOVsQcAc8lLFTPaFrJAmsQRnll MB124V3heWt7790J2MGKDRD4fS3pC7xnpyVVrfA8bwlhobnoKUpl0fSsgEXXOSuL zwIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAlwlaz9Fu6VYJS2Wga8Ha2dqZx+yw 8M1s71j1wV9w5E/nCDPQsZ4doWzGRsL3jUp1S7VduKLMDKFaHnpIZ0Eaizmx1zz5 sDSPMuZ5SrMib3LRG2hdjvsPaSNDOHp09XLHt7RKjJlQQMNb6HzHS6pxzSdTB+Jb oOppShUvvEIoUpQ= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app07.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031506 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 9 (0x9) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app07.phx2.fedoraproject.org/name=shell-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c5:ad:18:17:6a:54:2a:15:7e:b0:4e:7c:e0:62: 13:ed:f6:5a:be:3e:27:a0:92:7e:23:d3:61:40:51: 7b:91:79:94:bd:7a:78:f0:10:30:98:d4:5f:38:77: 05:9d:b9:57:58:89:bc:72:e6:6d:55:a8:a3:01:43: 7b:45:62:9a:54:ef:4f:1c:c3:80:6c:c0:6c:95:87: 67:28:49:77:d1:bf:64:04:2a:14:88:c8:12:9b:7f: cd:41:0b:39:79:be:06:59:1e:3a:7c:6d:4f:81:9e: 21:6b:a6:be:cd:91:94:e7:da:d2:e8:eb:f6:37:d4: ff:94:fb:5b:5c:3e:55:7d:3d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: F5:F5:64:4B:7F:89:86:9C:2A:28:5A:36:B4:C3:CB:55:87:B2:C4:C8 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption e4:cd:1f:e4:c3:ac:2c:2b:6d:a4:35:96:5d:10:94:b7:c1:be: 5d:ba:6d:f1:ec:e2:6b:4c:a9:83:3e:52:23:f0:9a:74:8b:53: 7c:fc:36:bd:74:91:47:89:f1:4e:34:83:b4:ed:57:5b:b3:ba: 45:db:33:a9:4b:8a:88:e7:30:4d:cd:75:43:40:81:87:9d:af: fd:1f:10:4e:57:f6:82:e8:86:18:27:24:74:f8:60:7e:9c:90: 99:9d:13:56:97:f0:a9:87:7e:eb:39:31:ab:af:54:54:e5:73: 38:88:fe:80:74:cf:73:43:c2:ce:46:43:25:ec:99:6d:f0:63: 91:1c -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBCTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw Ny5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxa0YF2pU KhV+sE584GIT7fZavj4noJJ+I9NhQFF7kXmUvXp48BAwmNRfOHcFnblXWIm8cuZt VaijAUN7RWKaVO9PHMOAbMBslYdnKEl30b9kBCoUiMgSm3/NQQs5eb4GWR46fG1P gZ4ha6a+zZGU59rS6Ov2N9T/lPtbXD5VfT0CAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU9fVkS3+JhpwqKFo2tMPLVYeyxMgwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAOTNH+TDrCwrbaQ1ll0QlLfBvl26bfHs4mtMqYM+UiPwmnSL U3z8Nr10kUeJ8U40g7TtV1uzukXbM6lLiojnME3NdUNAgYedr/0fEE5X9oLohhgn JHT4YH6ckJmdE1aX8KmHfus5MauvVFTlcziI/oB0z3NDws5GQyXsmW3wY5Ec -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/1B.pem0000644000175000017500000001005212207656441023413 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 27 (0x1b) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app01.stg.phx2.fedoraproject.org/name=bodhi-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ab:ae:73:d5:a8:59:9b:56:0f:9a:93:ba:61:65: 4a:0f:b7:1c:0b:cb:01:28:ed:49:4c:93:f8:b5:13: 55:56:ab:b5:96:3a:e6:05:eb:28:01:06:52:3f:ee: 83:44:92:de:c2:9a:30:66:df:45:2e:8b:f4:aa:e0: 41:78:a6:84:94:58:b8:35:55:44:2f:37:46:e6:b5: c1:40:02:ab:ab:b8:90:6a:a2:61:5d:4f:d3:8d:32: ca:75:37:13:6f:e1:54:42:d6:b5:d0:73:a6:6b:65: f2:b2:70:76:0f:eb:33:0e:2c:c0:12:6c:9a:b6:ad: 16:47:74:47:33:47:99:0b:0f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 33:67:11:D6:5C:18:7A:EF:0F:21:38:02:06:67:CA:7C:8B:09:BC:66 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 3e:43:96:43:7d:f8:3d:d1:82:23:9a:be:8e:23:e0:3f:b2:be: e6:87:b0:46:98:e2:53:2a:8f:c4:1c:71:33:cf:f2:96:01:4d: 11:51:ea:73:17:bf:7a:cd:c9:77:e8:53:73:84:12:8d:bb:9d: 19:2f:65:1c:54:ba:ff:ff:b4:ea:ff:26:02:80:8a:00:2b:3e: 6e:57:c2:e1:76:ef:ca:8c:60:4d:ce:a3:b1:20:1c:95:33:d6: e4:5f:7e:b2:fa:94:8f:01:d3:48:4f:42:63:0e:61:7b:3d:7a: 2c:e1:d8:9d:48:e9:76:d6:d5:6a:da:a2:36:b8:d9:c9:e4:08: af:36 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBGzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZib2RoaS1hcHAw MS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmYm9kaGktYXBw MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQCrrnPVqFmbVg+ak7phZUoPtxwLywEo7UlMk/i1E1VWq7WWOuYF6ygBBlI/7oNE kt7CmjBm30Uui/Sq4EF4poSUWLg1VUQvN0bmtcFAAquruJBqomFdT9ONMsp1NxNv 4VRC1rXQc6ZrZfKycHYP6zMOLMASbJq2rRZHdEczR5kLDwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQzZxHWXBh67w8hOAIGZ8p8iwm8ZjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAPkOWQ334PdGCI5q+jiPgP7K+5oewRpjiUyqP xBxxM8/ylgFNEVHqcxe/es3Jd+hTc4QSjbudGS9lHFS6//+06v8mAoCKACs+blfC 4XbvyoxgTc6jsSAclTPW5F9+svqUjwHTSE9CYw5hez16LOHYnUjpdtbVatqiNrjZ yeQIrzY= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app06.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032343 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 34 (0x22) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app06.phx2.fedoraproject.org/name=mediawiki-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ec:69:05:d7:8f:bd:b2:c6:dc:dd:9c:8e:28:af: 24:f3:29:58:eb:99:a9:ca:f0:c2:be:6d:96:ea:31: 9b:49:ed:39:5f:e6:37:1f:2c:a3:50:7d:3d:e0:76: 91:00:e7:5c:a5:30:9e:e5:ac:47:48:63:0d:d9:b0: a1:f2:e4:bc:9c:14:7a:4f:0f:3f:9b:c1:17:10:6c: 84:78:c8:ce:70:13:30:03:cf:3e:62:b1:77:f6:de: e1:bb:7f:1f:86:49:5f:35:99:e9:43:b8:aa:b7:2b: 09:72:09:fc:9b:ad:ff:cd:ea:f3:75:b2:fb:82:f2: 1a:17:af:18:f2:04:8a:da:bb Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 15:10:CE:7A:4D:16:2F:86:92:63:BD:68:F3:48:1E:B8:88:2B:2D:66 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 9e:b8:6c:c7:b2:49:c1:3f:c6:72:e0:0e:9f:02:0f:36:9e:31: 88:db:fd:0e:07:b9:56:00:31:1e:50:90:ca:2f:25:73:96:a2: 8b:d0:f0:b0:7f:28:97:39:15:ee:95:0c:dc:53:7c:0e:e4:28: ce:4e:3a:9c:1b:17:56:6c:e1:a2:bb:12:fa:4c:fd:24:c3:19: 20:a3:ee:ac:3c:45:a2:dd:64:2f:b8:59:73:0e:ec:65:b0:83: 86:f3:de:1c:c6:4b:1f:3b:20:80:c6:5e:63:84:bf:69:15:29: 4c:46:f6:d4:8f:17:d6:a1:e3:68:aa:32:8d:56:34:06:ef:a8: 2f:6c -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBIjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA2LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDsaQXXj72yxtzdnI4oryTzKVjrmanK8MK+bZbqMZtJ7Tlf5jcfLKNQfT3gdpEA 51ylMJ7lrEdIYw3ZsKHy5LycFHpPDz+bwRcQbIR4yM5wEzADzz5isXf23uG7fx+G SV81melDuKq3KwlyCfybrf/N6vN1svuC8hoXrxjyBIrauwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQVEM56TRYvhpJjvWjzSB64iCstZjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAnrhsx7JJwT/GcuAOnwIPNp4xiNv9Dge5VgAx HlCQyi8lc5aii9DwsH8olzkV7pUM3FN8DuQozk46nBsXVmzhorsS+kz9JMMZIKPu rDxFot1kL7hZcw7sZbCDhvPeHMZLHzsggMZeY4S/aRUpTEb21I8X1qHjaKoyjVY0 Bu+oL2w= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/1D.pem0000644000175000017500000001005212207656441023415 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 29 (0x1d) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app01.phx2.fedoraproject.org/name=mediawiki-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d3:c7:22:b0:a4:17:63:3e:c5:a9:b1:6a:7e:d6: 5e:49:44:83:81:5f:e0:05:f4:04:86:f7:3d:95:a3: 6c:43:d8:78:cd:11:11:ec:50:74:1e:68:7b:78:52: ff:d0:60:1e:6d:69:60:0a:78:f1:47:28:d0:07:58: 05:1f:5d:fa:c7:1c:1b:af:bc:3d:10:8e:5f:7e:b0: 26:96:6e:2d:da:85:71:6e:d0:05:b6:76:c3:ed:24: 2e:8e:6d:b1:d0:8d:77:0b:21:b1:07:99:b1:13:70: ee:91:66:01:16:31:f9:b6:76:9a:04:c6:a4:1a:88: 49:f4:89:5b:0c:7e:d4:39:05 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 58:5B:64:3E:FC:59:09:90:6D:7C:DF:96:C7:F2:FA:52:50:EE:25:06 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 30:4f:4e:da:61:06:fd:b3:42:b8:31:67:d8:40:72:33:ed:48: 01:c7:32:4a:00:cd:e6:25:cd:42:b4:27:67:b8:75:f7:9e:24: 43:fe:96:8e:f2:6a:76:35:4e:48:e2:ca:0c:f0:73:91:80:40: 1d:69:ab:c0:35:64:30:1f:86:8f:79:f7:79:92:2c:de:6e:4f: e9:de:ec:94:41:8b:bc:77:7f:13:38:0e:06:63:1c:02:ce:fd: 11:ea:fd:6e:62:0d:de:d7:39:9c:17:8b:3c:f9:b5:78:e5:db: a6:a5:8f:d8:07:21:bf:bb:8a:27:54:99:93:10:75:3d:92:da: a9:e4 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDAxLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDTxyKwpBdjPsWpsWp+1l5JRIOBX+AF9ASG9z2Vo2xD2HjNERHsUHQeaHt4Uv/Q YB5taWAKePFHKNAHWAUfXfrHHBuvvD0Qjl9+sCaWbi3ahXFu0AW2dsPtJC6ObbHQ jXcLIbEHmbETcO6RZgEWMfm2dpoExqQaiEn0iVsMftQ5BQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRYW2Q+/FkJkG1835bH8vpSUO4lBjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAME9O2mEG/bNCuDFn2EByM+1IAccySgDN5iXN QrQnZ7h1954kQ/6WjvJqdjVOSOLKDPBzkYBAHWmrwDVkMB+Gj3n3eZIs3m5P6d7s lEGLvHd/EzgOBmMcAs79Eer9bmIN3tc5nBeLPPm1eOXbpqWP2Achv7uKJ1SZkxB1 PZLaqeQ= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app07.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031516 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMWtGBdqVCoVfrBOfOBiE+32Wr4+J6CSfiPTYUBR e5F5lL16ePAQMJjUXzh3BZ25V1iJvHLmbVWoowFDe0VimlTvTxzDgGzAbJWHZyhJ d9G/ZAQqFIjIEpt/zUELOXm+BlkeOnxtT4GeIWumvs2RlOfa0ujr9jfU/5T7W1w+ VX09AgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQB3hogjYEbMmyI7z2TpyoKbqxzU VCTWUymOJBcO0esBuGrc004grY92HhajHsUzC6W1Qejuu0B7A1jC9rzTXSu5ENYl jiI97nOOW78yIg8NO6bFF4hUYli+GoEE/alajVU1Jpg4fP4QasZCcCSreAVfi5L3 eSdQN0nfiNVdpu56QA== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032303 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMG8gSgOQyAoI9x/ kx9+A2a3ZIaZKsU63cB26SZLwat3WFTBtRNnMlGFbR/QKmtHZmvXyS3e9whpDLJi MSKcgMGC+thflSvXSLgtb/AgTLnHmpuVMMzrEIDp2+hQ/0+kY7XRAKFEbeZc8Xc/ sQ3KivvMvokNEQqTyhYFCM3qnrGdAgMBAAECgYEAtHXYgO04DZ4WOXAEJROGK4ms c8v8kRcSNBMPfgKW9hcHCnwdJWO89T6ptTZ8LM2nU9D+rmHADe98SjU4u5q4Ouh9 RHRPDCJffERZD/pmEBR7I7F4JuNrS/I7xpN6GpA29b8EhHW/3X5wIENukCpPkIWU Js8ZE8d42sPKAUDPOOkCQQDxdsEIlaXlplPddLruFJRdr+hT8aT7trwWOARGDoE7 nleNBD9MzxrKJD/+t/2pLs3udIJPDlJeFkNKXXg9fsfXAkEAzWY2WUo3j3CHGlcP 6MgTUgiXVwl+ZCP32PeZZoiUU78YRnEzXgi1/ftxU/uoBHFCyhTvK0/gm7QzGC6y nm/TqwJBANFRTM0QTRvjL9hOFK3GkUcV8qSyWX8LTclFDg9dC5KPFP5drDH9Zw/M lN1OykobFNGdlkjJ9YUyb2rL1Cwa90kCQHKZJZeZ3ffsy6Q5kQnKn2T0oCOSi28p 1j26n17iswcqpkufGw7LA2dKY8d8sBiSbLY9Cdf7gBC/cIZ8f3IAaHMCQAlQJ3GZ LxG1s6YxNH6crksxaf5Uew0pejpzol7lDU4doKeitOfJw2ullIxbc1QgfJBFAJma 7KdubK65Xyz1qDM= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app05.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031513 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAL/Ls1lQorzeBt7m 5kfjRRIOhqBbjoSKSkSA9wa/PV9tAeDceE2vXLnbXB1hx8JbqRuCZlYfK88zFGyc OTYhQr5gynlTO46pPLYYEZbQc8ZcdAsKp0idPhwMHrfJ89FHKNFHMZLJ1LlhVPeS fAvZ1IEeQYTiP5BEAFvv3GnPeVxZAgMBAAECgYA/eTGUuGvzJ2OMt0u0tNEyBZ6m SUakNIQZobifAgFUqGW7vhsOUp/UXnVgv/B1MRKJKSGnFM/R1azHuPfyIxXMCtPq ZQT0d+oRLx+w+K/G0956IP6vHDyD+WrSdtM1Tp+waE81nWqTHlKDANt89GBNiuWJ WKV+8xdcNSEf6NlvFQJBAONAA4O2YeEn+/vOH6ETwvZEclaOgPuVna5cfWnAtFJY 3cka2KHnA2vLB2kAs7bDjHbls6es7eo5aAhNmRr9f18CQQDYD2u7P/2R+wGx1dwZ Hf3nLgDKXyY8NsRiPAnkb1rs2F3Q4Y34GYSccNEplQ3NSgl45neCqCsDYsBvzGpx NpdHAkEAzsgG6qjgc7KgdcZfvYBv3Qr3R4+wCj1gF7KNY9c3vd6jIUVObjP5RvKd sYwz+1AA1oe5bA/NBV5rLXL+qDKW3QJBALKg9TmnqxYRBxKnNEQT1sJV91NZHTx1 LyHkb21MX0knjVDP2lc/ibLpVxRg5jtOtcweBrqgHIe9EkqcH3igYKsCQDOk1GbT lquS7USOMAqdfqxtnVOcF5UrKgBnL2yjjM6aejz+YJ8b2/JGnqfwwPrHfG5tiOTJ rsFXvSBgalYgBBQ= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app07.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031466 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 26 (0x1a) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app07.phx2.fedoraproject.org/name=bodhi-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b1:c9:1d:24:dd:fd:81:5d:ce:fb:30:d0:4f:d3: 4e:5a:5d:f7:1d:a6:db:9d:af:4e:e7:89:cb:83:dd: 22:c3:6b:4c:c6:2e:36:7e:8a:3e:50:e1:93:cc:c9: b2:fb:97:9d:82:b4:f7:45:d5:52:cc:fb:62:b6:b2: a3:bf:03:11:15:a9:76:44:d9:89:68:6b:d8:f9:bc: 52:54:81:47:9b:2b:d3:62:af:be:bd:16:da:09:a8: 30:0d:15:c6:fc:83:b9:c5:97:91:f9:c6:2a:93:02: 2c:d5:70:9d:83:20:07:d9:34:0e:de:dc:07:44:cd: b4:84:d3:cc:28:70:f2:88:8b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A1:DB:45:9B:BC:F2:0E:99:B9:E9:C9:67:95:B1:94:7A:F1:6A:C7:9A X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 59:c6:61:f6:ed:4c:81:e6:fc:da:e7:4b:42:f2:db:4a:a1:77: b4:31:ef:bf:93:e6:72:b7:6e:48:86:e9:98:36:ff:03:ad:4d: c8:51:db:39:66:86:66:dc:fe:63:86:66:86:d4:07:e5:49:4f: 15:f1:32:17:81:cd:15:b9:b7:66:f3:be:33:2a:28:a3:3a:94: 82:db:53:1b:f3:da:52:3b:84:35:06:a7:f4:f8:26:ff:9a:90: 9f:1d:b5:7c:79:82:09:76:53:82:a1:84:f2:33:72:05:89:46: df:75:b0:ba:ed:bc:2a:c5:a0:6b:29:80:df:24:1c:08:78:bd: 4e:bf -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBGjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw Ny5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsckdJN39 gV3O+zDQT9NOWl33Habbna9O54nLg90iw2tMxi42foo+UOGTzMmy+5edgrT3RdVS zPtitrKjvwMRFal2RNmJaGvY+bxSVIFHmyvTYq++vRbaCagwDRXG/IO5xZeR+cYq kwIs1XCdgyAH2TQO3twHRM20hNPMKHDyiIsCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUodtFm7zyDpm56clnlbGUevFqx5owgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAFnGYfbtTIHm/NrnS0Ly20qhd7Qx77+T5nK3bkiG6Zg2/wOt TchR2zlmhmbc/mOGZobUB+VJTxXxMheBzRW5t2bzvjMqKKM6lILbUxvz2lI7hDUG p/T4Jv+akJ8dtXx5ggl2U4KhhPIzcgWJRt91sLrtvCrFoGspgN8kHAh4vU6/ -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000151612207656441034623 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICOTCCAaICAQAwgfgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzE7MDkGA1UEAxMyZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDEuc3RnLnBoeDIu ZmVkb3JhcHJvamVjdC5vcmcxOzA5BgNVBCkTMmZlZG9yYXRhZ2dlci1wYWNrYWdl czAxLnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdh ZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC gYEA09CCokzBSj/jRaQI8LZG+BRN0T/ajXF6uBcXO1zPSjkh+lyVI8GLTIAecjeE klZHUDRX/bt5S4s5rxpvPa8P8jTJ6JxLCcVqBUJxmpAvlkmWpQ9/2WhJX++HkKMF JeZEUEElJRF/n5YDnQL1dE4+wj2Eb1psPD60xc+V/IcOY+cCAwEAAaAAMA0GCSqG SIb3DQEBBQUAA4GBABOwvv9sET2RjRmDAPMAJ/CUv+az3Lop/QHfAALoBn2bAUZN aMOfxLLe1vFcqWP0ghi5hU4eP6iWMJV6q5G8W6Jrg4RLQT5Qqr9mfPslFMXuTYOR tJtodTodpl+uKURDtJbpczCvcfUziVqqObxokJWAB6A8Qpl7rkLYrE/SofXj -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app06.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031505 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 8 (0x8) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app06.phx2.fedoraproject.org/name=shell-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ac:33:0a:e3:3c:da:cb:6a:12:c9:04:e0:31:61: 25:5f:d8:b2:69:7a:d9:ca:f9:b3:8e:cd:6f:b0:33: fa:dd:cb:ef:a6:3a:d2:60:69:2b:6a:04:e9:83:8e: 63:10:1f:81:f4:58:23:8f:7a:e4:c4:b9:12:d6:f2: 42:04:e3:72:0d:22:04:33:30:76:2d:f4:4c:f3:fc: 62:51:49:eb:87:29:d8:95:89:2f:ae:54:5d:a4:b1: 14:d7:8f:ef:66:df:97:d4:20:1b:26:5f:b8:e6:84: 49:b7:8f:b2:1f:b5:49:f8:ba:f8:ae:24:c5:e2:5a: e4:36:0f:b7:85:fa:bf:f5:e3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 72:6C:B1:91:AD:97:38:0A:9C:D2:4C:23:F1:04:BD:D7:DD:21:34:31 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption c7:4b:91:26:dc:d8:33:3c:f5:8b:bd:05:b4:7c:9a:8a:3b:b3: 74:ee:4e:fa:39:87:39:7e:0e:8f:f6:b9:c6:02:b3:81:2c:a4: 79:1b:9a:7a:31:9b:c9:df:80:16:9d:f6:21:86:01:6a:84:92: f9:48:9f:40:7b:0b:35:c2:6a:e4:5e:91:d1:63:33:7a:f8:02: 2f:56:19:57:40:7c:fd:96:2c:b8:80:a1:89:42:65:e8:c9:35: fc:04:67:60:7c:5d:e9:d1:02:75:6d:db:34:fe:c3:c7:70:88: 98:cc:66:61:7c:77:39:04:4e:f1:c7:b7:4f:2a:c4:30:60:f7: 2b:9a -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBCDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw Ni5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArDMK4zza y2oSyQTgMWElX9iyaXrZyvmzjs1vsDP63cvvpjrSYGkragTpg45jEB+B9Fgjj3rk xLkS1vJCBONyDSIEMzB2LfRM8/xiUUnrhynYlYkvrlRdpLEU14/vZt+X1CAbJl+4 5oRJt4+yH7VJ+Lr4riTF4lrkNg+3hfq/9eMCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUcmyxka2XOAqc0kwj8QS9190hNDEwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMdLkSbc2DM89Yu9BbR8moo7s3TuTvo5hzl+Do/2ucYCs4Es pHkbmnoxm8nfgBad9iGGAWqEkvlIn0B7CzXCauRekdFjM3r4Ai9WGVdAfP2WLLiA oYlCZejJNfwEZ2B8XenRAnVt2zT+w8dwiJjMZmF8dzkETvHHt08qxDBg9yua -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/revoke-test.pem0000644000175000017500000000362712207656441025433 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE----- MIIDyzCCAzSgAwIBAgIJAI7rKNipE518MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD VQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoT DkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1z ZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFw cm9qZWN0Lm9yZzAeFw0xMjA3MTUyMTE4NTFaFw0yMjA3MTMyMTE4NTFaMIGgMQsw CQYDVQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNV BAoTDkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZl ZG1zZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA9J6RmGr1 LzSJ5Fau2wdkVUiS5WXBcd0bNPyUJ9/G7t9SrycnLnEK4GQh2B525p4SCqvsHZtM 8rqii/Y2PPF5PbpgVjJLYsJk4SSv84aH+VPYcaEtYlPClXgHb3J9jgAxgHBHkJMQ 7mvxiIau7frKFqmJGZkxO2M+Sv8eLCKLJP8CAwEAAaOCAQkwggEFMB0GA1UdDgQW BBQAmKXV58RVDoSjZ/5mShbgBBXdITCB1QYDVR0jBIHNMIHKgBQAmKXV58RVDoSj Z/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAw DgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEPMA0GA1UE CxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1zZzEmMCQG CSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeCCQCO6yjYqROdfDAM BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAN5r+1rbeTyGDdlelbqWOXBu uS0a9BfusO0uwf3tHK9zeB5CDKFgxdfSZ+Fxg1w2HFRHhCOYoZ2ASPfbyANTzxUF fVAId1uhBD1SlhXpTb3Ndo4uXfalf3W8MrQzFiVHbevvfsyd+RwoVT/PDokE3i4A fftCd0uwvSqVgyE28SFt -----END CERTIFICATE----- -----BEGIN X509 CRL----- MIIBfDCB5jANBgkqhkiG9w0BAQQFADCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT Ak5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEP MA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1z ZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcXDTEyMDcx NTIxMTg1MloXDTEyMDgxNDIxMTg1MlowFDASAgECFw0xMjA3MTUyMTE4NTJaMA0G CSqGSIb3DQEBBAUAA4GBAGP/pXsMWD0AhgUs01qkscO/DU6QarFWAMqTjbrL5V4e eEvyGOBDkOKgPsRKHF7x3ahLb14BGFTxCH0PosJsXUNQ8aSr24xlNDZ7O333PG1q BfB1UONpQ0Gt0w/vEu+YUK53MXMEd8mkN3AG6ckqk2puVTlM8+c5RzMIauftWfKQ -----END X509 CRL----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032305 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmc2hlbGwtYXBwMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJnNoZWxsLWFwcDAxLnN0Zy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwbyBKA5DICgj3H+TH34DZrdkhpkq xTrdwHbpJkvBq3dYVMG1E2cyUYVtH9Aqa0dma9fJLd73CGkMsmIxIpyAwYL62F+V K9dIuC1v8CBMuceam5UwzOsQgOnb6FD/T6RjtdEAoURt5lzxdz+xDcqK+8y+iQ0R CpPKFgUIzeqesZ0CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAIC1EB6I/zG0sFcB 4DVg0ioglhpHsdN9V5h+iK7au39QZIstNpPcp9EjSutdsR2UvPTXIv2bl98Od2h+ 9AeMCHKAsafFxDk9bRcgaX8qRPeVJgzgsNcxM1jfJBMCLKxw3NEu2qX9TL5i3c80 VODBtFVv7OIrMHQKpDMFJc5DcIOG -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/01.pem0000644000175000017500000001001012207656441023363 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b1:a2:5c:d7:10:6a:83:a4:1d:65:66:51:80:f5: 72:2d:15:af:77:92:ad:1d:ad:80:d8:c8:e2:ee:cf: 10:3b:07:02:1e:4f:18:c4:47:d6:82:8d:53:ff:c2: 1b:72:49:fe:62:fe:68:26:f0:91:8f:d7:e0:9e:b8: 46:96:ef:ef:4b:07:f4:21:10:09:d9:90:92:a6:25: 3a:29:ca:b6:e8:69:06:df:ba:a7:73:b1:71:c3:6c: 1c:d3:7d:d6:ff:3a:ce:15:b7:bc:7b:fc:6c:6b:d6: 6f:a7:fd:e0:28:59:07:49:bf:66:9c:3e:1f:5f:b8: 85:c4:61:51:f9:67:00:40:a7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Cert Type: SSL Server Netscape Comment: Easy-RSA Generated Server Certificate X509v3 Subject Key Identifier: 50:DA:1E:62:70:71:C2:72:0D:67:F3:F1:24:A2:E2:9E:31:E1:A3:F0 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Key Usage: Digital Signature, Key Encipherment Signature Algorithm: sha1WithRSAEncryption e8:01:80:e4:eb:85:87:d5:be:94:80:e4:e5:d2:df:e8:c6:b5: 38:1e:69:31:c0:73:1e:00:60:7b:f4:5f:5c:cb:68:d0:94:d0: bd:9c:ea:33:bd:a1:3a:83:cd:cf:29:57:8b:95:02:d5:bd:fb: fc:33:d8:a8:da:05:84:67:e2:f4:8b:ba:53:e3:e4:67:0d:52: c1:ce:9f:a9:63:ca:86:59:bd:fa:e7:9d:48:8f:b1:e1:fe:a0: a5:6b:0d:6f:03:9c:30:26:80:1b:90:30:e6:a2:ca:4c:29:1e: 74:98:5d:cf:34:fb:d7:fa:7a:3a:af:51:96:87:02:dc:18:0a: fb:83 -----BEGIN CERTIFICATE----- MIIEKzCCA5SgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALGiXNcQaoOkHWVmUYD1 ci0Vr3eSrR2tgNjI4u7PEDsHAh5PGMRH1oKNU//CG3JJ/mL+aCbwkY/X4J64Rpbv 70sH9CEQCdmQkqYlOinKtuhpBt+6p3OxccNsHNN91v86zhW3vHv8bGvWb6f94ChZ B0m/Zpw+H1+4hcRhUflnAECnAgMBAAGjggFxMIIBbTAJBgNVHRMEAjAAMBEGCWCG SAGG+EIBAQQEAwIGQDA0BglghkgBhvhCAQ0EJxYlRWFzeS1SU0EgR2VuZXJhdGVk IFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUUNoeYnBxwnINZ/PxJKLinjHh o/AwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAx CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUG A1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMG ZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZl ZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwEw CwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBBQUAA4GBAOgBgOTrhYfVvpSA5OXS3+jG tTgeaTHAcx4AYHv0X1zLaNCU0L2c6jO9oTqDzc8pV4uVAtW9+/wz2KjaBYRn4vSL ulPj5GcNUsHOn6ljyoZZvfrnnUiPseH+oKVrDW8DnDAmgBuQMOaiykwpHnSYXc80 +9f6ejqvUZaHAtwYCvuD -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app02.stg.phx2.fedoraproject.org.crt0000644000175000017500000001007612207656441033141 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 37 (0x25) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app02.stg.phx2.fedoraproject.org/name=mediawiki-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c4:b1:be:dc:9c:95:bf:95:59:1b:c3:e7:e8:6b: 55:84:db:a5:e9:46:96:6c:d6:51:5e:9c:8c:62:c0: b0:98:86:4d:e2:1f:56:5d:e2:d9:2d:61:00:06:3f: b8:9e:87:50:db:c9:7c:d8:7e:56:03:35:b9:58:07: c2:aa:38:d7:ea:b8:8a:87:a1:09:f8:4c:13:d3:01: 8e:c3:2e:6e:c0:b6:f8:6d:a2:f6:79:b1:4c:83:6f: f8:11:a1:b2:e2:75:15:b0:ca:61:77:4f:4b:1c:a5: b9:40:d9:46:8a:41:00:dc:60:99:3e:cd:eb:bf:31: 13:7a:e6:a8:3c:06:7f:83:23 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 02:62:D0:F2:5B:50:6C:35:06:25:F0:69:02:A7:C8:26:C1:30:DF:9D X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 2b:07:3b:a1:e5:ed:bc:0e:53:b4:00:84:79:04:b0:ea:19:ac: 17:b4:18:74:7c:a9:56:4c:ca:7e:79:94:e4:86:7f:81:10:3b: cc:b2:22:af:0f:8b:2e:cf:be:38:86:17:b7:ae:fe:cc:e5:42: 26:80:24:a7:78:52:a3:9f:75:8b:74:ea:11:2b:9c:5e:bf:b6: 05:40:04:6b:dd:fd:03:ba:28:89:84:a5:73:f1:f9:e8:93:65: 68:4c:b9:9b:2f:22:bc:71:53:48:0b:48:76:5b:f3:27:c9:3c: e9:cd:f8:5c:48:d5:c2:e6:4e:77:79:8f:a6:39:27:96:9f:33: 74:2a -----BEGIN CERTIFICATE----- MIIEWTCCA8KgAwIBAgIBJTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB6DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTMwMQYDVQQDEyptZWRpYXdpa2kt YXBwMDIuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMzAxBgNVBCkTKm1lZGlh d2lraS1hcHAwMi5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3 DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMSxvtyclb+VWRvD5+hrVYTbpelGlmzWUV6cjGLAsJiGTeIfVl3i 2S1hAAY/uJ6HUNvJfNh+VgM1uVgHwqo41+q4ioehCfhME9MBjsMubsC2+G2i9nmx TINv+BGhsuJ1FbDKYXdPSxyluUDZRopBANxgmT7N678xE3rmqDwGf4MjAgMBAAGj ggFXMIIBUzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5l cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFAJi0PJbUGw1BiXwaQKnyCbBMN+d MIHVBgNVHSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQsw CQYDVQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNV BAoTDkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZl ZG1zZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsG A1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQArBzuh5e28DlO0AIR5BLDqGawX tBh0fKlWTMp+eZTkhn+BEDvMsiKvD4suz744hhe3rv7M5UImgCSneFKjn3WLdOoR K5xev7YFQARr3f0DuiiJhKVz8fnok2VoTLmbLyK8cVNIC0h2W/MnyTzpzfhcSNXC 5k53eY+mOSeWnzN0Kg== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages02.phx2.fedoraproject.org.crt0000644000175000017500000001011612207656441034025 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 42 (0x2a) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedoratagger-packages02.phx2.fedoraproject.org/name=fedoratagger-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ce:e5:a4:56:4a:9e:cc:46:32:48:36:c2:dd:60: 56:34:1f:d2:50:06:8e:7d:41:c2:64:9a:16:29:15: 72:10:ba:83:87:e0:29:99:fd:f9:1b:36:06:64:20: ee:94:92:00:f6:8a:1d:8e:0d:dc:c7:ef:b1:26:ae: 58:70:b0:9e:7a:dd:2a:ef:b7:13:1e:ce:06:9e:5e: b0:b7:46:f8:ba:29:56:df:57:fa:9e:f6:e7:66:4c: c6:4b:99:2a:0f:7d:98:d6:dd:26:50:38:af:0e:74: 34:0a:50:23:7b:dc:fc:c5:ed:48:76:e0:fc:4e:c8: 50:61:7c:18:4d:41:d4:27:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: EA:E7:19:57:F0:2A:87:D3:FE:C5:04:6A:08:DA:93:5A:D4:C2:EF:14 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 90:42:74:42:ea:0c:9e:05:85:e9:15:87:b1:16:a2:52:4a:f1: 10:a0:64:f3:52:b3:d6:1f:54:48:aa:a7:f7:63:5e:7a:cc:a6: 10:ad:3c:af:1f:26:1f:19:1c:e9:97:a6:9d:bd:a9:c5:ab:85: 2d:57:83:f3:6d:cb:9a:48:71:7c:66:f8:bc:56:16:35:a4:80: 9c:fe:6e:19:ec:cb:dc:0c:11:75:c3:3c:3f:73:7a:6c:c0:81: 1c:93:f5:50:1c:da:a9:d9:9c:71:c8:95:2a:e4:88:99:94:e9: 9c:0f:b7:9d:89:6d:6f:0c:49:5b:26:eb:7b:23:e6:d1:a5:c2: 5d:eb -----BEGIN CERTIFICATE----- MIIEYTCCA8qgAwIBAgIBKjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB8DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTcwNQYDVQQDEy5mZWRvcmF0YWdn ZXItcGFja2FnZXMwMi5waHgyLmZlZG9yYXByb2plY3Qub3JnMTcwNQYDVQQpEy5m ZWRvcmF0YWdnZXItcGFja2FnZXMwMi5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYw JAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAzuWkVkqezEYySDbC3WBWNB/SUAaOfUHCZJoWKRVy ELqDh+Apmf35GzYGZCDulJIA9oodjg3cx++xJq5YcLCeet0q77cTHs4Gnl6wt0b4 uilW31f6nvbnZkzGS5kqD32Y1t0mUDivDnQ0ClAje9z8xe1IduD8TshQYXwYTUHU Jw0CAwEAAaOCAVcwggFTMAkGA1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3kt UlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU6ucZV/Aqh9P+xQRq CNqTWtTC7xQwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaak gaMwgaAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWln aDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0G A1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYB BQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAJBCdELqDJ4FhekV h7EWolJK8RCgZPNSs9YfVEiqp/djXnrMphCtPK8fJh8ZHOmXpp29qcWrhS1Xg/Nt y5pIcXxm+LxWFjWkgJz+bhnsy9wMEXXDPD9zemzAgRyT9VAc2qnZnHHIlSrkiJmU 6ZwPt52JbW8MSVsm63sj5tGlwl3r -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001005112207656441032266 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 13 (0xd) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-fas01.stg.phx2.fedoraproject.org/name=shell-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:de:ab:04:fd:4c:1b:4b:f1:9b:ac:f4:ba:a4:ab: d2:ea:fb:0e:f2:07:eb:e3:af:73:6e:a5:2b:61:1c: 43:f2:8b:6a:e2:03:a1:6b:02:70:96:fa:44:a9:7c: d1:b0:1c:bc:f4:b1:b8:89:f8:bb:03:8c:10:b9:0c: e4:62:8e:c5:95:b7:38:1a:e2:82:24:6d:9f:86:ac: 34:5f:04:04:43:5c:a3:05:82:bc:b1:a0:b3:e6:9a: d0:12:c9:7c:56:55:d5:51:11:51:b8:2e:87:43:1f: 2c:85:7f:70:87:44:93:cf:d7:95:9b:38:fa:ef:27: e6:25:f8:01:8d:70:ea:3b:69 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 18:2B:D1:42:4E:D1:DE:2E:4A:39:66:9B:1D:B9:21:9C:38:A9:CE:78 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 61:52:82:64:2d:70:0e:14:a2:5a:34:20:f3:5e:81:e4:4a:37: 45:1b:64:ca:78:58:ff:18:6d:66:be:47:a3:07:31:ba:2a:d7: 81:93:32:37:34:7d:d9:7c:89:1c:e8:30:eb:9d:a1:30:b3:b5: 95:29:28:bc:66:6d:55:5b:75:3a:f7:b9:55:87:49:10:e5:d9: b6:d0:71:22:46:96:b3:23:c8:29:b2:58:f8:45:6d:03:f3:d5: ff:96:11:a8:0b:ec:b1:b1:7b:a0:ad:9c:0e:93:26:df:de:f4: 69:f2:cd:35:ec:85:8d:ac:56:59:c9:f3:cb:77:6e:96:ee:cb: 65:3e -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBDTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1mYXMw MS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtZmFz MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDeqwT9TBtL8Zus9Lqkq9Lq+w7yB+vjr3NupSthHEPyi2riA6FrAnCW+kSpfNGw HLz0sbiJ+LsDjBC5DORijsWVtzga4oIkbZ+GrDRfBARDXKMFgryxoLPmmtASyXxW VdVREVG4LodDHyyFf3CHRJPP15WbOPrvJ+Yl+AGNcOo7aQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQYK9FCTtHeLko5ZpsduSGcOKnOeDCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAYVKCZC1wDhSiWjQg816B5Eo3RRtkynhY/xht Zr5HowcxuirXgZMyNzR92XyJHOgw652hMLO1lSkovGZtVVt1Ove5VYdJEOXZttBx IkaWsyPIKbJY+EVtA/PV/5YRqAvssbF7oK2cDpMm3970afLNNeyFjaxWWcnzy3du lu7LZT4= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app04.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031512 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOiuRmkaDhB/k90Y z+Bide9Eb/x508ZrDCeELrVBU+utJEEcGyyO2ocXmxI1z9TnaJNHErbjEOeqcx78 gkcfkjC6iS42kbZVMsASz3VrW5gGBlySpf62JtzqEnK+K+W0YuISgpTYecYUD2Nk rXtz1IOdwrVUXtWrPsEuZosu70I1AgMBAAECgYEAoif6R/rxfEv812QYUy8rM5GF XfXlQe2ObeevyX/6pU9n6bxVr8rqvqUT3DAGZEDVX3Zzs2Mxf9IJIrolbL2y2dCm w6zSE53p3AKjz7dEBj1RDWSiuoRbh87TqJ3Oe2p7pSLb0IV+zIz0F5pTKZXc8nZh x3cqXylHRktoqAPuIY0CQQD1P2STf+dpfRehwCMaoP/1ZJWS0wiB7WYdpNuI6WMa ENNwbjd258oWfOshcPEmIvdFjDpn53ZjSFzOvDkaXszPAkEA8uHVltz2GDYMRrWB CHm5SjSb8tYiItCb9rXGmKMSq3/s7sM/BbrBW3s6YtKD8QzTKDceuIIe8UtoDWlL PpWpuwJARRJ3pztM198Netb8jBFwRZLwtYuOR9mu+wZldmgVK1A13OKN6IVb232P U7nVkWIjtojKIl2EcG3/BZLpmk287QJAT0xGZPQNcQgsZ+WYlEDRqxWUGOuqx30e fqUIiwsq7E1e+PFMIT3BJXINNPiQVWIfitC8OfdZzOQWu9I12+AXQwJADY9y3p79 SY7wrOzuxmmM9wivDI1GYdGMFYA2/K76ciJRlS15t8TFIWtuGC8/s7nIUM1dzVqL RUFWCZQqcSkEeA== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-pkgs01.phx2.fedoraproject.org.crt0000644000175000017500000001003312207656441031665 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 18 (0x12) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-pkgs01.phx2.fedoraproject.org/name=shell-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d5:37:fb:d4:8a:a5:30:40:11:25:eb:66:ba:8d: 55:31:68:a3:e0:1a:77:db:c7:37:a3:84:44:ed:93: 3f:d4:32:8b:59:a1:fb:8b:64:6f:2f:54:f6:69:aa: fa:b0:88:ff:bb:b5:1d:4b:18:a7:1b:ec:54:c2:d0: 56:a5:da:78:4b:17:13:3b:8b:93:f3:7c:df:3d:16: 21:c4:90:7e:1d:6b:ef:13:31:be:41:4e:21:a7:97: 9c:2b:7b:9b:32:7e:62:44:5f:59:ac:31:74:12:ba: d5:cf:14:0d:58:42:1a:49:b9:c6:2a:53:e8:87:77: 12:3e:2e:ea:e3:4d:40:ff:8b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A5:8B:A6:2A:28:0E:3C:4E:6C:81:45:A4:4E:B9:3C:38:15:9F:58:DE X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 56:40:ad:61:bd:82:0a:e8:f7:6c:59:cf:2b:08:65:69:72:d2: 6d:28:b5:d4:fd:2a:88:11:45:ac:93:52:92:fd:1f:05:94:d2: bb:d5:3b:0f:79:cb:0d:f3:00:60:9d:e8:7d:2c:15:cf:b3:d8: a0:e5:60:d3:d9:bf:45:fb:f0:10:92:ce:bd:eb:30:da:70:45: 06:1e:c2:71:83:f0:7c:92:e5:43:01:63:f4:2e:4d:60:ec:70: 93:40:6d:d1:00:46:7c:a9:2d:2c:00:df:56:44:38:60:88:4a: b7:df:79:6e:2d:d9:3d:d3:f7:e7:31:66:b4:37:0d:85:52:76: ec:27 -----BEGIN CERTIFICATE----- MIIESzCCA7SgAwIBAgIBEjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSwwKgYDVQQDEyNzaGVsbC1wa2dz MDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEsMCoGA1UEKRMjc2hlbGwtcGtnczAx LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZl ZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVN/vU iqUwQBEl62a6jVUxaKPgGnfbxzejhETtkz/UMotZofuLZG8vVPZpqvqwiP+7tR1L GKcb7FTC0Fal2nhLFxM7i5PzfN89FiHEkH4da+8TMb5BTiGnl5wre5syfmJEX1ms MXQSutXPFA1YQhpJucYqU+iHdxI+LurjTUD/iwIDAQABo4IBVzCCAVMwCQYDVR0T BAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmlj YXRlMB0GA1UdDgQWBBSli6YqKA48TmyBRaROuTw4FZ9Y3jCB1QYDVR0jBIHNMIHK gBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJ BgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJv amVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkT BmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeC CQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJ KoZIhvcNAQEFBQADgYEAVkCtYb2CCuj3bFnPKwhlaXLSbSi11P0qiBFFrJNSkv0f BZTSu9U7D3nLDfMAYJ3ofSwVz7PYoOVg09m/RfvwEJLOvesw2nBFBh7CcYPwfJLl QwFj9C5NYOxwk0Bt0QBGfKktLADfVkQ4YIhKt995bi3ZPdP35zFmtDcNhVJ27Cc= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/11.pem0000644000175000017500000001010012207656441023364 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 17 (0x11) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-packages01.stg.phx2.fedoraproject.org/name=shell-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:da:64:64:a5:49:87:43:64:ff:43:dc:88:84:97: 3f:44:4a:d7:e1:dc:32:92:fc:e1:4d:a8:ab:35:39: 19:3f:d4:a7:1c:20:5f:9c:7c:d6:2f:58:33:42:ae: bf:6e:8f:2a:c2:da:5f:93:e4:1c:eb:88:e9:b6:53: 40:83:06:b4:fa:dc:eb:ad:99:6e:1b:7b:0d:20:d0: f2:ea:dd:f3:2e:dd:1a:51:78:8a:2e:2b:f3:1a:43: c4:f5:8c:44:12:2d:2c:1e:3d:1f:74:37:5b:6f:79: 4e:4f:fc:fe:23:00:26:a9:cc:91:ad:81:f0:6a:b0: 45:b0:a3:70:31:b4:5e:ee:c3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: B8:71:E7:CE:3B:BA:4E:19:05:D9:F8:3B:D6:B9:C8:7F:64:22:F7:F8 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 68:ea:02:85:b5:ab:80:56:da:a4:48:1e:d1:44:40:53:03:da: 1f:c0:ff:cc:2c:7d:9d:58:2a:a4:18:1c:aa:51:04:7e:1a:ff: c0:1d:d0:ca:f6:97:01:9f:ef:ec:f4:db:6e:26:7d:79:d8:6d: 2a:0c:ed:e2:5d:33:c8:23:c8:75:ba:6c:95:0c:9a:8a:18:ce: bb:00:fe:36:45:59:9e:bf:24:f2:cf:e1:24:c0:7f:d5:d3:78: 4a:2e:84:6e:59:91:11:b6:6d:3f:d2:a4:7c:b3:8c:1d:5e:63: 9e:c4:29:e0:83:fe:2b:d3:a2:13:3e:58:f4:a2:1d:d2:a7:76: 5f:5c -----BEGIN CERTIFICATE----- MIIEWzCCA8SgAwIBAgIBETANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB6jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTQwMgYDVQQDEytzaGVsbC1wYWNr YWdlczAxLnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMTQwMgYDVQQpEytzaGVs bC1wYWNrYWdlczAxLnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZI hvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEF AAOBjQAwgYkCgYEA2mRkpUmHQ2T/Q9yIhJc/RErX4dwykvzhTairNTkZP9SnHCBf nHzWL1gzQq6/bo8qwtpfk+Qc64jptlNAgwa0+tzrrZluG3sNINDy6t3zLt0aUXiK LivzGkPE9YxEEi0sHj0fdDdbb3lOT/z+IwAmqcyRrYHwarBFsKNwMbRe7sMCAwEA AaOCAVcwggFTMAkGA1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdl bmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUuHHnzju6ThkF2fg71rnIf2Qi 9/gwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAx CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUG A1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMG ZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZl ZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIw CwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAGjqAoW1q4BW2qRIHtFEQFMD 2h/A/8wsfZ1YKqQYHKpRBH4a/8Ad0Mr2lwGf7+z0224mfXnYbSoM7eJdM8gjyHW6 bJUMmooYzrsA/jZFWZ6/JPLP4STAf9XTeEouhG5ZkRG2bT/SpHyzjB1eY57EKeCD /ivTohM+WPSiHdKndl9c -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app06.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032350 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAOxpBdePvbLG3N2c jiivJPMpWOuZqcrwwr5tluoxm0ntOV/mNx8so1B9PeB2kQDnXKUwnuWsR0hjDdmw ofLkvJwUek8PP5vBFxBshHjIznATMAPPPmKxd/be4bt/H4ZJXzWZ6UO4qrcrCXIJ /Jut/83q83Wy+4LyGhevGPIEitq7AgMBAAECgYEArmw6LDXYbyu7zyHv3OKEL4fl HEbOeHW0KU2v1/Brs1p8R14Sc0S65erRmWfBSlppB1PdGHVITocOs/tXMV9EK7Tz b+pQLaTlb+q3F6PMi/9eAUHD5C/U4itQgLapnpUTzGKN64YLODLnDgsDWe1/GtUP l9OBzSOeyQprGZVZbqkCQQD7N/rFs0P4NrFhe4JAXm3jDPC06Le4P+Wu4GnHQqic tn7p0ZJi7inVPdYzctXNMWn69Wym3Clp/hiKmFwqAeMXAkEA8OjkRmnW7IdLRImT 86ywT4Wt8axCC5nNPPkN9E/7D1mSDda9misApX7w3EO+iR7HXYlU34j22OA0GfMm nFYb/QJAGoK50Asu7Q64gVULVcehSQigjjbQzHzRvDaqcwCx0nffxMT88bu4Zmx0 IlHIBjNkv7sOkD1DkY/i/x08/KHeWQJBAI/NdPXTF8f4uqUeuoIqAtR1J2+rM4FZ PXm38Ox1EZgID3bTSDpOkQQ40e2pQoL3LGpZH6CPUUoECxWyXsnTXMECQQD4Pwhr Ul0iKbvbszOpgZaqe0XKh0yXgAdE7TUV823Nb2ukHs9oUdRmzBex0RlfZMuuNjvs rRDZrD3/FCuNydJR -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app02.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032337 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 30 (0x1e) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app02.phx2.fedoraproject.org/name=mediawiki-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b9:d2:49:0f:11:a0:6b:14:f6:c5:10:cc:9e:83: 3d:8f:03:05:20:d9:d9:5f:99:92:0e:e3:7d:4f:08: 7d:3d:f6:b9:4c:b4:8d:7d:64:15:ad:b3:de:07:a9: 64:0e:a9:9b:4f:ca:47:32:a7:57:95:27:d3:8d:16: f3:58:cc:6b:63:a4:d9:ad:db:93:aa:1c:5e:4a:b4: 39:94:dd:d2:43:be:26:53:8b:ef:cb:82:11:61:82: 8b:61:d1:c3:54:1e:17:37:25:6f:c8:a8:d1:0e:a4: b6:cc:e1:fb:4b:42:88:34:f6:2f:3d:a1:f4:d3:f6: b7:f1:b5:bf:2e:d3:11:7f:ef Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 7C:CC:1E:F5:C3:3F:C9:81:8F:77:66:1C:E8:E7:BD:62:C0:70:CF:BA X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 85:0c:df:b6:93:a2:31:5a:e2:31:0e:1a:7d:6f:f0:49:37:fd: 11:d1:51:15:32:06:c1:04:81:59:b4:5e:72:db:90:f6:75:b8: c6:c9:f4:32:42:86:e1:bf:8a:5c:7e:dd:a3:70:83:10:c4:ed: 81:49:41:bb:77:db:a2:76:60:cf:9e:d7:34:43:93:da:ed:dc: 4f:0f:50:70:78:69:4d:df:19:fe:28:00:3b:23:80:48:a0:fe: 0c:7c:d4:67:52:0d:49:17:82:f9:2b:05:c7:d6:91:2c:d8:0c: 12:0e:e3:b7:9e:ee:4b:e7:5b:9d:24:de:3e:f9:b7:04:a5:8b: 0f:97 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDAyLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQC50kkPEaBrFPbFEMyegz2PAwUg2dlfmZIO431PCH099rlMtI19ZBWts94HqWQO qZtPykcyp1eVJ9ONFvNYzGtjpNmt25OqHF5KtDmU3dJDviZTi+/LghFhgoth0cNU Hhc3JW/IqNEOpLbM4ftLQog09i89ofTT9rfxtb8u0xF/7wIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBR8zB71wz/JgY93Zhzo571iwHDPujCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAhQzftpOiMVriMQ4afW/wSTf9EdFRFTIGwQSB WbRectuQ9nW4xsn0MkKG4b+KXH7do3CDEMTtgUlBu3fbonZgz57XNEOT2u3cTw9Q cHhpTd8Z/igAOyOASKD+DHzUZ1INSReC+SsFx9aRLNgMEg7jt57uS+dbnSTePvm3 BKWLD5c= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app07.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031473 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALHJHSTd/YFdzvsw 0E/TTlpd9x2m252vTueJy4PdIsNrTMYuNn6KPlDhk8zJsvuXnYK090XVUsz7Yray o78DERWpdkTZiWhr2Pm8UlSBR5sr02Kvvr0W2gmoMA0VxvyDucWXkfnGKpMCLNVw nYMgB9k0Dt7cB0TNtITTzChw8oiLAgMBAAECgYEAkwdGwfGQsEcbYONqs0mGV/ez 4WLX5x1PPO7ZT1E3abO4R4F6ccX0aUFU0RzRl344thrhEHCuTHVtmrg78UEhA449 PPr1jH82+1edXy2Ep209OF0zVng/iNEEzRRKohBSz+a58UdwE+wW1fpDltpElEnQ dIJTWVnp7WX0TVsB/fkCQQDmWxhmYDXB3bq6Yeol8eF4+kChD/76Of3RABDF4jDa LBqsZIx1kF26OAxKA5/XKoTZH6osV2EQh9xKPvXO6MAtAkEAxZPSGw8NVisXQzsq /THjw+ChfuMFpNnRKioAK60zQmkYBASo7lTremquCwh3G1WVPhXiN8f66kWC1Nyf uLymlwJAYiEAPexSOinId8lqQ4vMrwp8KaB00AeQNk4+1u1KPkZ3fmS+6P38z208 3vK4TqKQQSYaChWXBcG6d+5mLCQ+aQJAe64SKzAb+CHXWRWzznWpj5eRYL26bbyQ S+Wo3653VQ42o2VLXo44LhSTyIJPFQRY/Vlzl9mOv5It2RQWw+0MFwJBAK4CsTK4 xTfEl4+1nQfV4kuT2pDPdnaKoTIAGQB5WviximMjHQFGK61VGGkxyIt0TE/jwe9J 0Ptbw32C5QQn7ZU= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032274 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAN6rBP1MG0vxm6z0 uqSr0ur7DvIH6+Ovc26lK2EcQ/KLauIDoWsCcJb6RKl80bAcvPSxuIn4uwOMELkM 5GKOxZW3OBrigiRtn4asNF8EBENcowWCvLGgs+aa0BLJfFZV1VERUbguh0MfLIV/ cIdEk8/XlZs4+u8n5iX4AY1w6jtpAgMBAAECgYEAjiGqMKko72QM0+zvSnenTXju BE5MI2z2CNWDiBxLvwGBOz3IBo9rIOQlee6Dxp/BeYwL2H4dmdkJP6XcDpFFyucG zzATn6P5A1CnKSljM66Gwe1zbAHY/Yuj6tDeNy0GE3uJuF9yT/bYaDskQ4TaqC2q qYhKC/ctkW8zt4cDrPUCQQD8AFPSjogK6TrYz6JkA0lnD9WoxsMXBZuYehk32J4W zOEXERpRi+hUPYML5sdciA+fD+GNAh3cLl+XTHHhxYx/AkEA4jOJEM2qR4yoKO4R NmVqn0rc8TNeleOvEP1H+WJpUIVqD/Huh8ZecGLdZNqtSju79aegYT+Z4CURExxB MjdkFwJBANVwIY7xEeDL8f+4vT4gWodkLf8peguBwGvA3qMiYaPGG8/BuJzg9wKC pv/pk2mYBEMg3FTmOgxHasdnA/3JqFkCQEegKfa4KQMe9uB/AdRHqMtn2S5HJdww jG7ExNWi49YraLpD0VQM7DqKE7CrzdODtrDCs3YXvZHMKuvyNnLAN2ECQQCLo2HG 0kOyrEUzs55WFsUvgWZpD8n8ekTHw7HYIbF3Ltv6Z5nYxuuQ5YxQqvPcSPEPiN/O /BlP8at/An/PXiLU -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/15.pem0000644000175000017500000001002512207656441023376 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 21 (0x15) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app02.phx2.fedoraproject.org/name=bodhi-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d9:b1:07:22:2d:26:46:b9:33:8a:4b:c6:5c:92: 06:2a:cf:c2:90:5a:36:b8:fc:81:48:b2:ab:97:56: 43:eb:b3:8d:76:ca:12:57:c6:56:90:92:13:70:43: d7:65:9a:52:61:cd:69:d9:76:aa:64:29:c9:09:49: 83:9e:03:b2:1f:25:26:e1:b5:be:b5:98:c8:09:71: 31:cd:84:5b:cf:1c:8a:37:4b:12:0f:b7:c5:95:9d: d1:a2:00:a0:78:7f:86:80:c0:e6:05:b2:9b:f7:0d: 77:c3:cb:7c:d9:db:b9:63:b0:12:29:a0:05:ee:4f: 61:76:55:ca:0c:ea:a2:bd:13 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 84:80:BF:15:57:CB:7E:84:06:34:8E:81:73:0F:2F:7D:82:E1:ED:CC X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption c6:62:0a:ac:71:8c:48:32:38:40:4f:e9:7d:08:19:a7:28:12: d9:18:c6:30:04:b3:93:6f:b1:11:03:96:69:b3:60:70:bc:bb: 2f:52:61:28:09:c4:da:b3:a4:b9:29:16:34:b9:ce:e8:ec:77: f0:d4:93:09:c3:5e:08:aa:8a:da:88:39:6b:79:88:c9:a2:d1: 8f:59:a5:78:66:43:eb:86:50:96:ee:25:4a:8b:7e:67:54:32: 60:76:a6:90:a3:d7:b2:8e:0b:d2:eb:61:29:50:db:05:e9:92: 64:98:db:d2:99:3d:f0:66:66:b1:bd:23:7b:16:10:78:97:ea: b9:c3 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw Mi5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwMi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2bEHIi0m RrkzikvGXJIGKs/CkFo2uPyBSLKrl1ZD67ONdsoSV8ZWkJITcEPXZZpSYc1p2Xaq ZCnJCUmDngOyHyUm4bW+tZjICXExzYRbzxyKN0sSD7fFlZ3RogCgeH+GgMDmBbKb 9w13w8t82du5Y7ASKaAF7k9hdlXKDOqivRMCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUhIC/FVfLfoQGNI6Bcw8vfYLh7cwwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMZiCqxxjEgyOEBP6X0IGacoEtkYxjAEs5NvsREDlmmzYHC8 uy9SYSgJxNqzpLkpFjS5zujsd/DUkwnDXgiqitqIOWt5iMmi0Y9ZpXhmQ+uGUJbu JUqLfmdUMmB2ppCj17KOC9LrYSlQ2wXpkmSY29KZPfBmZrG9I3sWEHiX6rnD -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app01.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032336 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 29 (0x1d) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app01.phx2.fedoraproject.org/name=mediawiki-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d3:c7:22:b0:a4:17:63:3e:c5:a9:b1:6a:7e:d6: 5e:49:44:83:81:5f:e0:05:f4:04:86:f7:3d:95:a3: 6c:43:d8:78:cd:11:11:ec:50:74:1e:68:7b:78:52: ff:d0:60:1e:6d:69:60:0a:78:f1:47:28:d0:07:58: 05:1f:5d:fa:c7:1c:1b:af:bc:3d:10:8e:5f:7e:b0: 26:96:6e:2d:da:85:71:6e:d0:05:b6:76:c3:ed:24: 2e:8e:6d:b1:d0:8d:77:0b:21:b1:07:99:b1:13:70: ee:91:66:01:16:31:f9:b6:76:9a:04:c6:a4:1a:88: 49:f4:89:5b:0c:7e:d4:39:05 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 58:5B:64:3E:FC:59:09:90:6D:7C:DF:96:C7:F2:FA:52:50:EE:25:06 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 30:4f:4e:da:61:06:fd:b3:42:b8:31:67:d8:40:72:33:ed:48: 01:c7:32:4a:00:cd:e6:25:cd:42:b4:27:67:b8:75:f7:9e:24: 43:fe:96:8e:f2:6a:76:35:4e:48:e2:ca:0c:f0:73:91:80:40: 1d:69:ab:c0:35:64:30:1f:86:8f:79:f7:79:92:2c:de:6e:4f: e9:de:ec:94:41:8b:bc:77:7f:13:38:0e:06:63:1c:02:ce:fd: 11:ea:fd:6e:62:0d:de:d7:39:9c:17:8b:3c:f9:b5:78:e5:db: a6:a5:8f:d8:07:21:bf:bb:8a:27:54:99:93:10:75:3d:92:da: a9:e4 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDAxLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDTxyKwpBdjPsWpsWp+1l5JRIOBX+AF9ASG9z2Vo2xD2HjNERHsUHQeaHt4Uv/Q YB5taWAKePFHKNAHWAUfXfrHHBuvvD0Qjl9+sCaWbi3ahXFu0AW2dsPtJC6ObbHQ jXcLIbEHmbETcO6RZgEWMfm2dpoExqQaiEn0iVsMftQ5BQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRYW2Q+/FkJkG1835bH8vpSUO4lBjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAME9O2mEG/bNCuDFn2EByM+1IAccySgDN5iXN QrQnZ7h1954kQ/6WjvJqdjVOSOLKDPBzkYBAHWmrwDVkMB+Gj3n3eZIs3m5P6d7s lEGLvHd/EzgOBmMcAs79Eer9bmIN3tc5nBeLPPm1eOXbpqWP2Achv7uKJ1SZkxB1 PZLaqeQ= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app02.stg.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032255 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 28 (0x1c) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app02.stg.phx2.fedoraproject.org/name=bodhi-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c4:65:3f:d8:8c:e8:35:dd:f0:08:56:7d:6e:36: cd:91:39:80:77:7c:00:64:5e:0b:c3:83:81:04:4e: 12:8f:dd:97:54:0e:dc:25:cd:55:9f:cc:b3:64:02: 75:10:c9:0a:b9:a0:f5:f6:b3:b6:a0:c4:de:26:20: e7:7e:e2:92:c2:94:a9:25:5f:a2:71:9d:fc:04:41: 39:e0:75:a5:07:ee:01:21:b2:4a:ee:aa:99:1c:be: f4:31:d2:30:bf:ba:0b:23:a9:9e:54:03:9d:35:c2: c9:6c:15:3f:89:37:92:72:4a:d8:87:e5:eb:45:55: 94:96:fa:c4:1d:9f:b1:f9:2f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 52:1F:96:23:E1:BA:58:03:AC:D0:F7:32:CA:BF:03:4D:4F:4B:88:02 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ac:5c:0b:f5:5b:bb:df:ed:fc:7a:bf:79:4b:9f:37:b5:77:7e: 99:6e:54:cf:1c:62:8e:fa:71:e0:0a:c3:80:05:54:6d:b2:b0: 38:f3:17:bd:10:73:05:1d:5c:1e:1e:24:c8:cf:50:a6:5e:1f: b1:dd:53:fa:92:ba:26:af:61:3f:a0:7a:a1:d8:7d:73:24:43: ad:a5:f0:df:e7:85:84:27:60:85:0c:d8:8c:44:7b:85:07:6a: a3:2e:01:9c:61:57:e6:50:fe:74:26:78:14:00:ed:1f:2c:d9: 73:7b:4e:a0:f7:95:b4:5b:c7:bb:af:e0:cd:72:4c:c1:a9:e9: 34:92 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZib2RoaS1hcHAw Mi5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmYm9kaGktYXBw MDIuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDEZT/YjOg13fAIVn1uNs2ROYB3fABkXgvDg4EEThKP3ZdUDtwlzVWfzLNkAnUQ yQq5oPX2s7agxN4mIOd+4pLClKklX6JxnfwEQTngdaUH7gEhskruqpkcvvQx0jC/ ugsjqZ5UA501wslsFT+JN5JyStiH5etFVZSW+sQdn7H5LwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRSH5Yj4bpYA6zQ9zLKvwNNT0uIAjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEArFwL9Vu73+38er95S583tXd+mW5Uzxxijvpx 4ArDgAVUbbKwOPMXvRBzBR1cHh4kyM9Qpl4fsd1T+pK6Jq9hP6B6odh9cyRDraXw 3+eFhCdghQzYjER7hQdqoy4BnGFX5lD+dCZ4FADtHyzZc3tOoPeVtFvHu6/gzXJM wanpNJI= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app05.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031471 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMhCv1RgGwY8Z8mA D5ERXelxvMJQyXKXF3s8dAHTxb3SpQ4pdJNAmT4sqQwRiU4nlg44PtG407q4MItM RtvDhUNfqS7ONyiWconpUxzZQnFuxYa+nW9WjEJGVs3VOMm3WtWb7mcEszmg/hTh 81vVR3RJA8TxQlT/jRKivzvpJlFfAgMBAAECgYAdjTP8uH3kaq+KHZqudpicJUuM hS1k+oTdi6s2xdBtVZNDxrxMKoEympaLkF7pqI/NI2GpwxODf0CynZvrPCwC5U9H Gwkwo9kGgFQHoFzzGSOqmNOzbe5ZthdKwF/rNFl7/PB7NaHCNapTHnG3XgHtCfO2 BM0tYjIegr47E9NI6QJBAOuSTZLymGWdNa4M3p0e3bdz87Dp7dkZ3m4LqWvSC/Ut 6zfjiN1TvkZXqrJENIl1pKT4wr1umiNAtkbjRBtzBIsCQQDZoIs+6blFx9iaZY8y 8DYWEG/BOAnuRYgE2A0L98KK6ZdXI4IcjBbpjWEIkIgbh2Zy3eBis6s01IIi7V02 Rvz9AkEAso5LhGWjg+n8hTe2COwbbHFUNjWqFhPYmBr4yQQGEkpC7zLlS7WtFM5g UQ0HsWVdbbosib9qz+u9/c9HkXLF7wJAO/Hg6R9wDSyTGVRIMXvBKiq03cAV3DAC 23K3hUhlqeXV7ga13C8qUILE65sEIrEVIybCm+1ph0/R2NURC9ZZ8QJAIDoOfJC5 fsyJbAU0J9d/zQHqUiTI6JeWFtaNrgoNvrWEODhF1rGAonuVs4SIhqvN0OBOnn5s LmXmnyz5Lut0Gg== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages01.phx2.fedoraproject.org.csr0000644000175000017500000000146212207656441032504 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICIzCCAYwCAQAwgeIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEwMC4GA1UEAxMnc2hlbGwtcGFja2FnZXMwMS5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMTAwLgYDVQQpEydzaGVsbC1wYWNrYWdlczAxLnBoeDIuZmVkb3JhcHJv amVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3Jn MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBCCeQ7IBJYZ1tAiq7IrFP1ivz z5CQkTgrWaaQL2pBgk8VEk4V/In3pVeWcLjlgV/ai8eqW7OMYb7pE/dD82miCRp9 ciXFbyi+tykeR/mOcDY2ygx13z59wboB0XbL7rW/xJMTN7F57Ynn+Pn1U5No72zK pW2v18PKqZRJY9an4QIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAIWVZkpX26eGQ ldHVWQow/XkMcNx6YRJhwCZUGniAsHzv1bo2u8x+svzIabzjgKdZ926lo/xdKmoW hJ2S6QnBzzJShRUxLNtCxQE9cMYRunh7zhyYb43iFLdKbpCcgDsiY9maNBHJjEax Oxp+IA0e6W1/sybqOKa3Ifdyo2VAP6Q= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app02.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031467 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBANmxByItJka5M4pLxlySBirPwpBaNrj8gUiyq5dW Q+uzjXbKElfGVpCSE3BD12WaUmHNadl2qmQpyQlJg54Dsh8lJuG1vrWYyAlxMc2E W88cijdLEg+3xZWd0aIAoHh/hoDA5gWym/cNd8PLfNnbuWOwEimgBe5PYXZVygzq or0TAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQCYM58fxG/vDKkQ+Ge8urDNlHM/ T4+hDnkcavYwE2EMSybrBbqUOQcoWQKA0jm4sDLKdDItIbXHwohQdkxzZYDEyHdd f2wQ5Hf7rkiiT+M2xmaelHAVuId+WKExy56+Hvgb/hEw4fGvwg02h65opeqi2u1i ySpmP8SUCelEUPu/pg== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app02.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031466 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANmxByItJka5M4pL xlySBirPwpBaNrj8gUiyq5dWQ+uzjXbKElfGVpCSE3BD12WaUmHNadl2qmQpyQlJ g54Dsh8lJuG1vrWYyAlxMc2EW88cijdLEg+3xZWd0aIAoHh/hoDA5gWym/cNd8PL fNnbuWOwEimgBe5PYXZVygzqor0TAgMBAAECgYAM6UoCBemCQlPDPRFLxkFlYqMo iqE6QYetdyNkO3KV1TVruTpzSEk0E+XhP7TTyt5d/J/tjPM4M54/1cNfqNp0kGkA uMa71QLLbzvuNBxQ7uwHNkL6e3JV/07bSkNiUQo6JtXQhiUKXPUGC1hRrb+JXtwo yIsvBRRjYzbpMGxz0QJBAPaKQG5W7HOk1OtC0FmQLZxgJrvYUqMPjCBnzEqHP82p erMo2KHNbopiVw9PB18DtNOnBdEThl9kh3yaM14ldDkCQQDiC2YVt2/a3xN1k3rT j9Oa1yMtziOp5bDdcp7oTkRS/QTuD/BpJ4sUrQkhL2a8HoZ2XZiZRdBw2aq1eIiE rPOrAkB1dbjs2Q0eq9GlpNePVFnmvwi1RoNYnPeuGMYEXBvR6IVFBpjvveiElgXU jVp9sk5c6J6k1iCXIlZKz0zZ9g5BAkAx6mJ4mTFSG8CoThDpdvE7WBaknsixU89i l1UP53ie+tCD4XEtR1YnEq7ZbSY6lGMM8E4qSohk4ywXNq6u3aJRAkEAzxkOEzgf xk9+TBdNJH4FwZUkqNIQY2uBct8wDfQMK1z3PLPkrTANR1UPhshdc8uP46axvnes Yu/brBtgR30iYA== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app02.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032344 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALnSSQ8RoGsU9sUQ zJ6DPY8DBSDZ2V+Zkg7jfU8IfT32uUy0jX1kFa2z3gepZA6pm0/KRzKnV5Un040W 81jMa2Ok2a3bk6ocXkq0OZTd0kO+JlOL78uCEWGCi2HRw1QeFzclb8io0Q6ktszh +0tCiDT2Lz2h9NP2t/G1vy7TEX/vAgMBAAECgYEAsksksoK1K0moJRmjW4yNakT5 jLW6LlJJpGN+fnCkyumKjiDHicKYUly88xkC2la+oOZzPhT2ojTedQfKYi9x8T1V FnREwC9vbOTSNM0o/vUe1CGLszTW6OXul3BnKmBqwwblYUSZEvEnGw8nrm0wladC bKXqrSIjPPJHRQItgIECQQDamRgpv6McqBbyRy4NSJMuXlnzGpS1NmNI2rwlKrKw RBznlwYteTAVKW5qn/fm+CWxRZdZjYAVGjNMSi/zgzThAkEA2Z2Hex2bW5cdIRvd CMbvYvvDPOhguO5QzwEgqJqjd1zY0fPKjxphj2v3/Ky3k67buKmSDl5XrjA1xVuH k1N+zwJAGSSWxOaH6lnjGcbaIyj/1MuBaRbbl+RDkzOlhFje6KtM785NJZnUz/pN +vGfX++W1kb8244M92BmGhZGYanrwQJAUx2GrHA/cTkDSC0DPCH3NqAgDrhWkOt8 88NjfOIrQyC0M2Rg3k1eK9A6FEjHiOGFTD9/6HsCFCaXsvxliNCgIwJABLsUStPW Xs9QAG4KLHIoUh8JZ3Ck8ex3COz/0ZLGvo5vHVs9JE6bQ4ReN/VYsop0cHrUUjXk Np7vFLbH4uA9BA== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441033301 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBANpkZKVJh0Nk/0Pc iISXP0RK1+HcMpL84U2oqzU5GT/UpxwgX5x81i9YM0Kuv26PKsLaX5PkHOuI6bZT QIMGtPrc662Zbht7DSDQ8urd8y7dGlF4ii4r8xpDxPWMRBItLB49H3Q3W295Tk/8 /iMAJqnMka2B8GqwRbCjcDG0Xu7DAgMBAAECgYEAhM+OwVHA14RhFDTWNMQB7pcR SEJv4yG0JlUPoTNTHpVE9v7dBj6Ixov9yGya8DJSj+LbQwXzbG17q6xfTA9VGSZJ fqhSR9IykGBbgOeVX4poLjCu8qldBt4DWI2Oc8DG53ihufQ5/71iWrQqptsvflqu q/sdd1f6DVZ0DzDczVkCQQD3BXb80tc58tAZ+zTWxJq8bR6oyAVFQrV/S7SVfaNQ SPf1a6grq75daGUBFgey7m1rdXK4/U6SgvhDklql8ZDPAkEA4lSImYe4OuU6xfXY u4UyIQZz3hGRkQlayRJD/xLwVeQunTOPEDPBOPgj5BY7a0qO2mnw0NdLR5LbuZjo XHa3zQJAaOhoPT1p7JFjsfUO3rtGoAmTwMiZ/G01WaeUPPzLtBgZPqCHHmzk/xSL +OcbQ/GghMevfkMN8Ikw2Lm6R8mM3wJBAKAd5bWYCoHAAeBimL2w8VHj2rzT+QN+ drehMHGX2GcrUr7r5t4zfxLqmZmXENpKmN1z7WYRqbQs9T1MK7aeVlECQQCHynYD C6qb++heJlvc1i748GgwrOdugosWi1W7ITHTa38COiEh4VZ1CoUS8vCxcY/PwGMG 498OJAZ3mwgySO65 -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032276 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmc2hlbGwtZmFzMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJnNoZWxsLWZhczAxLnN0Zy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3qsE/UwbS/GbrPS6pKvS6vsO8gfr 469zbqUrYRxD8otq4gOhawJwlvpEqXzRsBy89LG4ifi7A4wQuQzkYo7Flbc4GuKC JG2fhqw0XwQEQ1yjBYK8saCz5prQEsl8VlXVURFRuC6HQx8shX9wh0STz9eVmzj6 7yfmJfgBjXDqO2kCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAHzrmMqz7AHHXfI1 rwpYMfxMU1oNob5Qn/PUYuOriAYK+JynecZ0edKVzscF5NTCbNNZvOk8+7AtaiYC gj9Iy0KGs2BU2CKv+MAOSc1UM51wNL/S5gyJ5Pb9T/+muvREu3oMxzZMtI+AvRwu 6iIFgT/gSYNKwYVO09GJ+2NEbbXA -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app02.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031501 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 4 (0x4) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app02.phx2.fedoraproject.org/name=shell-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ac:a0:3c:f8:e5:f7:d7:53:87:11:44:26:fb:e6: e3:d2:eb:cc:7d:a7:86:bd:29:b9:a8:e4:6f:bf:e9: a4:4f:aa:d5:3f:01:4f:90:b7:1b:a2:a1:ad:0b:43: 48:90:24:6b:42:33:af:ae:9c:4f:6a:a9:98:b6:e5: 5d:0d:99:c8:df:d7:3e:8c:02:aa:b5:5a:d2:38:2b: 5a:97:00:c2:b7:e7:85:ec:0c:61:1d:d0:69:3e:b3: bc:69:f4:11:d7:7e:65:47:b4:08:36:51:0e:8f:ac: 91:9c:38:81:3a:b1:2c:f9:d9:1f:4a:12:2a:46:9d: e3:3b:a1:c4:30:bc:57:cd:bf Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A0:9C:FA:C6:03:D5:A1:F5:76:BA:2D:74:EF:1D:32:6C:51:77:CB:54 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 66:e6:c2:3e:d8:61:c8:17:ac:90:64:8d:5c:98:87:ac:ba:4c: 6d:e9:f5:36:6e:6c:a1:88:b0:91:db:f0:f7:a6:4a:b8:3a:cd: 00:c9:02:d6:e3:f6:98:d6:95:e4:a9:95:27:6f:7a:50:e6:3f: 5a:4b:4e:3d:b1:56:eb:c8:a9:09:81:9a:61:73:67:ab:d1:3c: 86:22:31:e9:1d:28:87:90:c8:d4:9f:93:e1:07:de:17:ef:54: 4b:70:73:4a:94:91:9e:0b:b7:41:86:25:8e:bb:13:d3:d8:03: e3:a5:71:b3:eb:27:cc:2b:52:12:b0:a5:46:27:01:58:49:b0: 77:17 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw Mi5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwMi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArKA8+OX3 11OHEUQm++bj0uvMfaeGvSm5qORvv+mkT6rVPwFPkLcboqGtC0NIkCRrQjOvrpxP aqmYtuVdDZnI39c+jAKqtVrSOCtalwDCt+eF7AxhHdBpPrO8afQR135lR7QINlEO j6yRnDiBOrEs+dkfShIqRp3jO6HEMLxXzb8CAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUoJz6xgPVofV2ui107x0ybFF3y1QwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAGbmwj7YYcgXrJBkjVyYh6y6TG3p9TZubKGIsJHb8PemSrg6 zQDJAtbj9pjWleSplSdvelDmP1pLTj2xVuvIqQmBmmFzZ6vRPIYiMekdKIeQyNSf k+EH3hfvVEtwc0qUkZ4Lt0GGJY67E9PYA+OlcbPrJ8wrUhKwpUYnAVhJsHcX -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app02.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032304 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKWiSLBw+YSeifH9 0aILC73qD+H646I/tQ134pY4Qc97vpj9PK08+ND4Du+RMLDUt8210jYapxdlpQp4 /Yxv3/UETIOF1yU0wbHsLDEGMhzKiNVusRWwp45hBvgYgXkZhQNWJ2yFmIomfLOO s/LW6YWHpCnfRdlbLIaBw0voGsUrAgMBAAECgYEAnQ5fvKazgtRN21+hKvUsYh2S h+Y9ePjNtgKqoWSgypv849akdWRuTsAYcYOL1vEthGrW9CSbsizYrTCCw2rFwWl5 j/+M6HyP6Q8BHP4TDKuelAfuYBRGWYzB66Q+NgZ4gYERqchIB/LOlScEPG3p+K3l W9sHHw5RD6KmQ3WhS8kCQQDTL+JaoMk8l9TQQEv/V3xK5KlFlEwXhH49c5rkydgN UHuYiFUVm/++8t5B0eyiP3u8jjjzA2NMdIqkW9ymFaKvAkEAyMfcKxKaAOMWbbbL PNxjFPX97/bzFmGcUFUYgQmRz5NseaxYPfSfOJo3fKOXRj2X4W4M95FcuHez8GU/ JoPURQJAZ+tjLgd6ntdzwDoza2WoYs4cQYHU46mt2R1e9gAg0YRuHUPQ4n5OHa8z ER50m+4zPDib63EaVs/uPSx66jsxPwJBALsKVHRbs9O3uSEj9FkSBct1DccKCpKD BBdh7p3myErTT25ZuyqcQ+d64s3dqALrRh3fY30NkY7XFG2SJC5BCPECQQCdMqhf 9zZkfmfwdnyDIDzn/6aZWZAh1HTIv8LyFTPKlgbGFizh7mmgr93CIb9f6/qwclva ZciEWGRcLcI64fSx -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages01.phx2.fedoraproject.org.crt0000644000175000017500000001011612207656441034024 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 41 (0x29) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedoratagger-packages01.phx2.fedoraproject.org/name=fedoratagger-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:f2:0f:0a:65:78:33:21:ad:bb:46:88:48:79:c1: b3:4d:df:fa:99:27:15:7d:b6:7b:a6:b4:b3:87:a7: ea:26:6c:f0:5d:e0:cf:a3:1b:c7:f3:fa:64:d4:76: 96:b3:d8:83:e0:4c:91:5e:70:2d:73:27:92:2a:24: 3e:f2:48:05:6f:1e:f4:ac:d6:dc:dc:f9:1c:e5:b7: fe:ca:0a:09:e6:0b:1d:a3:f4:8e:48:e9:3e:5c:27: 01:bc:69:de:5b:dd:28:5b:39:29:03:97:96:12:e0: 0b:e7:6a:e3:37:f6:db:d2:b7:48:24:10:62:45:02: 6f:a8:b9:67:31:4c:94:74:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 16:2E:F4:F6:8B:ED:79:92:67:17:B1:CC:B6:A7:23:68:CF:AE:F4:D5 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 5a:d2:87:48:3b:ee:a4:3e:d5:7b:85:40:18:ea:cb:0d:04:f8: 53:30:bb:57:1a:47:9d:84:ff:03:de:ee:4a:ef:b1:1a:d8:bd: 8d:37:84:80:fd:88:37:3d:e1:68:2a:f0:c6:14:02:58:d6:ea: 38:84:e3:0e:9e:24:1e:2a:70:b3:e9:c8:25:8e:ca:50:d6:69: ac:26:49:34:3b:d6:e6:b7:9f:8d:e0:bd:75:75:30:a4:29:04: 0c:4b:15:15:23:f2:be:b9:c9:90:63:dc:3c:54:ce:67:e6:5c: cc:cc:51:ca:d4:05:77:32:84:3f:10:0b:f3:fa:b4:13:ec:73: fc:0f -----BEGIN CERTIFICATE----- MIIEYTCCA8qgAwIBAgIBKTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB8DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTcwNQYDVQQDEy5mZWRvcmF0YWdn ZXItcGFja2FnZXMwMS5waHgyLmZlZG9yYXByb2plY3Qub3JnMTcwNQYDVQQpEy5m ZWRvcmF0YWdnZXItcGFja2FnZXMwMS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYw JAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEA8g8KZXgzIa27RohIecGzTd/6mScVfbZ7prSzh6fq JmzwXeDPoxvH8/pk1HaWs9iD4EyRXnAtcyeSKiQ+8kgFbx70rNbc3Pkc5bf+ygoJ 5gsdo/SOSOk+XCcBvGneW90oWzkpA5eWEuAL52rjN/bb0rdIJBBiRQJvqLlnMUyU dC0CAwEAAaOCAVcwggFTMAkGA1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3kt UlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUFi709ovteZJnF7HM tqcjaM+u9NUwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaak gaMwgaAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWln aDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0G A1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYB BQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAFrSh0g77qQ+1XuF QBjqyw0E+FMwu1caR52E/wPe7krvsRrYvY03hID9iDc94Wgq8MYUAljW6jiE4w6e JB4qcLPpyCWOylDWaawmSTQ71ua3n43gvXV1MKQpBAxLFRUj8r65yZBj3DxUzmfm XMzMUcrUBXcyhD8QC/P6tBPsc/wP -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app06.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031472 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALX8mtoIBCeeyBHz +6Agu0EqkeKmSPcnq9j4oc2Ls9Ydzo3Tfp1xT2XOe8GwSYozh1jHGylcLQ7S+516 QZCZFac6929keql15ycz+UIwmcVkx+OeZdL4+jO2cTlkuSvhPlFxN+qzpcElQdyN QcBP+AcMkIrUh2PrRfaiXOV4DFmrAgMBAAECgYBCUdLwv9kbwy5v9HTvbt4uql/N tAGFKEzk3f7BFDcuQWCDqN5Ma/2eQTgyZpb2KT8aqDyKvw+ghlyxj9sS4ebUk/5T 0nTAHldGKCCdBRxvZtQkMpNkkSkjGYiUndUXx9kDccpSnx0Xpinoz7nh5nEltPz/ adjRq71qiItrJ8E2mQJBAOTu0OB4yzjn9RsHFVZXeVCPJmC2Q+gKytqHBuj0TDNB hoipu2cjW9ismQ1vly00hQnW1VA/h0Stc3ig0Oxu3+0CQQDLgNr2Q84FAfou6VoZ n9XxY9m2pHlVPUThEDcyA+e4LvF86GQKwHi1WAQZzTDsyx3fftjekE4483Lho8Xg mfz3AkEAjeZxVhHJdXZheOVFFoWVzpdMZHnVUYkO/7DeWZrDeKnO5/q9DErgbUde fvOCMyTwqY6eHeWixLD2d/jGRybaaQJAMHJirlICD+sillxzWLpWgnsU74hEYmiN p07m9P89APob/3KLrouXsQRdJY9V4GmSmQxnsMSF+sTqSpFkoE3IjQJAA8WsUKZL UiJN5RVZOG4hHuo+TK/wzO336CrKMQk5eRxi42Urxhz3+5mGEIGBUC46ssBqi3kN R//QzGzkaeBOHw== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app01.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032345 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDAxLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwMS5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA08cisKQXYz7FqbFqftZeSUSDgV/g BfQEhvc9laNsQ9h4zRER7FB0Hmh7eFL/0GAebWlgCnjxRyjQB1gFH136xxwbr7w9 EI5ffrAmlm4t2oVxbtAFtnbD7SQujm2x0I13CyGxB5mxE3DukWYBFjH5tnaaBMak GohJ9IlbDH7UOQUCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBADZh7aT6PbzCJ4DP WTL2wKLuHMnyNtnaXJUz2TzXc6DH4iFapaIiWMBiCKrmVzFXHixko1jgFJmDBpc7 xDJ0QG123W0dQVgbRhoWYXF6wO5wOKKUixwaPdHB15Zf1upg89tKX2E7DTO6VXgD vANcQfQIZVx8iyIc16RU0sYX2De3 -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app07.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032351 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKJLpJvKvNA6vDDH h3kt31sbCF6PtR8ToS1lfienyT9l16ahQ9vEnGpxTWWIhRRlwPD7pdBKJpmfgvX1 BmhWhudnUpBA2VwR90DDF6ejfUWkCSmrmZ3wOfeiBS0INMYiALDmEMr5keSnFRhG F8IcK75stqD3jEoZKSPVToqEYVZZAgMBAAECgYAakHUOBv4muyZoeZBEFm0TtXYG PFFyF71u98jRZtY66UmF/alkxGaxyX/YmaLmts0A5L+8OxbcWE6QQZ3d4CPOY7TQ LHR/JtBV+5AfAMLqkGur2sb70omCfAif+EGJyi01HWfgFguuZMoctsiFJB5Jfp6R +sFiKYitDQ+fjNOlvQJBANgXfUHEFhrND2B6yUm4wV9pnymtSsQIMNJqZ8cpADmL wJX/H0nTIkst1VMVq5iop6P8idJ6HbA7HcdTDPo0WlMCQQDARL4N71x2eRhy3MP7 jO1iqeRTILG8vKWHuHVhd2c37WcAsbi3+/BJtMZmdiUzB24DUGDCtvCCu1IF8pkX 1W8jAkBVXMoVTcGxqqnVYgvb/IkfCNlgHF25nMa0iGYgjbjSArv8RQD2J9qXOi7Y GGpl7tHyfNNw+t55fJDh6ZPpzv6TAkAo7znLe7ei3ZtP8SKkrtdnlyYucJqGxV80 qxgKnUJTjO7OHghm23PILX3EGMlIuP86I2XGbu571ufarlDb2ywjAkEApaK4KMBo Ex5iX81COzmKlWe0+FPrb7gV+dap6+aadX2ji8IUGFeqwdC6uJB0/Fsa5Aeq7u5L fonUyQqyaI3nXg== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app02.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032306 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmc2hlbGwtYXBwMDIuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJnNoZWxsLWFwcDAyLnN0Zy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApaJIsHD5hJ6J8f3RogsLveoP4frj oj+1DXfiljhBz3u+mP08rTz40PgO75EwsNS3zbXSNhqnF2WlCnj9jG/f9QRMg4XX JTTBsewsMQYyHMqI1W6xFbCnjmEG+BiBeRmFA1YnbIWYiiZ8s46z8tbphYekKd9F 2VsshoHDS+gaxSsCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAIKEVrjEWIYHdSLN SY+DmOsp2T1Rlym2qlTSdSfVpbUOMet4eogYaNDbd2haSwyttmo4vlKfU//gduEf PNJtAByHF8VUXKSxdjmFdF7P9DV9tVSDWkF6/yGaM+hrMQP37BlXjWEnrhul7p9J iMpmu1cSE/FxAfJE5d7zsFuAhkxN -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/1F.pem0000644000175000017500000001005212207656441023417 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 31 (0x1f) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app03.phx2.fedoraproject.org/name=mediawiki-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:cc:6e:6b:1a:e7:62:fe:80:1a:4f:a3:b3:60:0a: 6c:08:d1:86:97:10:cb:31:6f:ec:26:d8:f7:f7:33: 3c:0d:6c:cd:66:3d:b9:fa:6d:60:00:54:5b:3d:0c: fb:a3:0f:c5:6f:66:4a:4f:c7:20:28:f3:05:0e:b8: 7d:ca:29:c7:00:c8:17:17:7e:38:6b:75:00:73:34: 54:a9:5d:ac:c8:14:f7:c0:45:d8:14:f9:87:8c:68: ba:62:f5:bf:c9:47:74:53:4c:09:81:b2:f5:83:4a: 5c:8b:fb:90:6e:27:e2:c5:da:e0:43:9d:23:ad:5f: 79:40:09:d9:ea:85:5c:72:af Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: D9:AB:48:A4:29:FB:1D:27:9C:81:6A:3E:D1:6C:1A:90:22:A6:F5:20 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption e8:72:87:85:23:17:ca:18:ee:04:59:06:96:0d:25:3a:24:00: e3:b7:ae:c0:d4:94:4c:8d:3d:c1:60:a1:58:38:92:87:11:4e: e7:db:fa:14:ac:30:6e:4c:79:3e:e8:24:7a:5f:9b:84:bf:f0: ef:2f:6f:07:e2:eb:4a:b2:e9:98:d5:b2:29:ce:78:0d:8c:0d: 06:56:2a:eb:05:7e:ff:d1:7d:18:6a:4d:ad:ac:cd:24:b4:e6: f5:82:f6:5f:d4:2f:04:bc:75:4f:93:50:8a:b6:6d:f2:f9:1b: 18:10:b5:dd:a3:e8:75:c0:e9:aa:ea:07:14:bb:60:f6:ea:32: c3:90 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDMucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDAzLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDMbmsa52L+gBpPo7NgCmwI0YaXEMsxb+wm2Pf3MzwNbM1mPbn6bWAAVFs9DPuj D8VvZkpPxyAo8wUOuH3KKccAyBcXfjhrdQBzNFSpXazIFPfARdgU+YeMaLpi9b/J R3RTTAmBsvWDSlyL+5BuJ+LF2uBDnSOtX3lACdnqhVxyrwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBTZq0ikKfsdJ5yBaj7RbBqQIqb1IDCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA6HKHhSMXyhjuBFkGlg0lOiQA47euwNSUTI09 wWChWDiShxFO59v6FKwwbkx5Pugkel+bhL/w7y9vB+LrSrLpmNWyKc54DYwNBlYq 6wV+/9F9GGpNrazNJLTm9YL2X9QvBLx1T5NQirZt8vkbGBC13aPodcDpquoHFLtg 9uoyw5A= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app02.stg.phx2.fedoraproject.org.crt0000644000175000017500000001005112207656441032276 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 11 (0xb) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app02.stg.phx2.fedoraproject.org/name=shell-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:a5:a2:48:b0:70:f9:84:9e:89:f1:fd:d1:a2:0b: 0b:bd:ea:0f:e1:fa:e3:a2:3f:b5:0d:77:e2:96:38: 41:cf:7b:be:98:fd:3c:ad:3c:f8:d0:f8:0e:ef:91: 30:b0:d4:b7:cd:b5:d2:36:1a:a7:17:65:a5:0a:78: fd:8c:6f:df:f5:04:4c:83:85:d7:25:34:c1:b1:ec: 2c:31:06:32:1c:ca:88:d5:6e:b1:15:b0:a7:8e:61: 06:f8:18:81:79:19:85:03:56:27:6c:85:98:8a:26: 7c:b3:8e:b3:f2:d6:e9:85:87:a4:29:df:45:d9:5b: 2c:86:81:c3:4b:e8:1a:c5:2b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 0E:91:E8:05:7B:09:E6:BD:10:83:D3:49:6A:F6:0C:C5:78:47:50:27 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 9b:4e:d3:49:45:7f:8e:d0:50:22:eb:3e:11:b4:b8:dd:05:cc: 07:98:ef:e7:66:0f:9d:b9:a0:7c:8d:9f:f0:b4:61:4a:95:d5: ec:35:3c:4f:f9:8d:d1:a6:bb:12:2c:ff:70:f4:35:45:62:1f: b8:cb:bc:bf:b2:8e:c1:fa:80:5d:32:cd:31:8d:48:2c:5b:83: 76:23:ea:66:35:36:f1:9c:23:e1:9f:81:f2:c4:ad:12:1b:58: 76:14:16:22:5f:47:f7:2d:44:f7:38:4a:2a:cf:92:db:ff:1e: c6:be:9e:d9:89:96:a1:ca:b6:1d:b7:87:58:f0:cc:e1:75:e1: 37:73 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBCzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1hcHAw Mi5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtYXBw MDIuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQClokiwcPmEnonx/dGiCwu96g/h+uOiP7UNd+KWOEHPe76Y/TytPPjQ+A7vkTCw 1LfNtdI2GqcXZaUKeP2Mb9/1BEyDhdclNMGx7CwxBjIcyojVbrEVsKeOYQb4GIF5 GYUDVidshZiKJnyzjrPy1umFh6Qp30XZWyyGgcNL6BrFKwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQOkegFewnmvRCD00lq9gzFeEdQJzCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAm07TSUV/jtBQIus+EbS43QXMB5jv52YPnbmg fI2f8LRhSpXV7DU8T/mN0aa7Eiz/cPQ1RWIfuMu8v7KOwfqAXTLNMY1ILFuDdiPq ZjU28Zwj4Z+B8sStEhtYdhQWIl9H9y1E9zhKKs+S2/8exr6e2YmWocq2HbeHWPDM 4XXhN3M= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031465 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBANYic06s5HaUXdWR hhxbNhs5NA/HSxLIQ5cwtePNctWa0NsKOvvhkjIYCuaQ9LP+8KXQVIHcYBTiIjko jzRlcnKtCNzkRyMCTN4C9fJEFzy4ZETPlOP2Gggnb6VFCixkRdbPDoNnRLD4rfwS SyechfNFtRqzqutmK6GvIYGG898JAgMBAAECgYEAhm7qZSI17BwJLONHhtXcigrH nIBJqWkAxhJWnsWEqoWfSWSK00cyOTDO5yFp/va2reK0qzJnP7UYNzo3bXWi+yUe f3BFFwhqyTvNJboVsXvjH+ALRJXsYk5wvDRowGHqxZBFnwc19+qtLlol1g5/shwe SK6W56bjxFF1BmIBsuECQQD4BdcodE4FEZCrPiry7i1n9rNGvyfYLmUF/G1wchnB cc3ZCaxyS6ZsL4PCPyhRkzzt1n2Rf3VJXsPlDofckXMDAkEA3QWVGO1RPx/Qthqf /5r5zQoXg0pIR6CF8bIRuDDOhnxhyv4GUGGG/FwRbdY8yhdLTN3WWJPz9gDQHjzW lEiCAwJBALMalJsUEds7KftfM2imcoem8SNfmwhTyIQgG2+eFddJtVrLz4nh81Yg occ+EIGID/G4eIj/P9Ux58ibS6UOK70CQQCi7lKTJZ8XIaUCGW6JRv2PITlkF4Zh Bvy2x8Y4OgKFMXwF4G1XJA4WSuiuR5hYggOIjqBMfAUD/GVvZPnqJelxAkAcxCX3 Y75QHX/E2Hqnvi3xMz6SmAhto3bIhC4C/R7kjeKvdk6lfgIRqpGl46fKh17qRX6E zSsMjX94jz0psbZ0 -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app02.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031510 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKygPPjl99dThxFE Jvvm49LrzH2nhr0puajkb7/ppE+q1T8BT5C3G6KhrQtDSJAka0Izr66cT2qpmLbl XQ2ZyN/XPowCqrVa0jgrWpcAwrfnhewMYR3QaT6zvGn0Edd+ZUe0CDZRDo+skZw4 gTqxLPnZH0oSKkad4zuhxDC8V82/AgMBAAECgYBKFPY1ppNnEAyN516Hij3JPbJj VmqncWmgxnACvyTpn5mmUUyxATPV5mZZyAUy/r4dCgth9ujKEIBeNS5q8M1YNbAy r2DUd9QsORrEQeHL24PgXI91zbCzQQFKMNg+cjTHUY9jsmVehQVjw1KtxIafyAuh LOD5GB3O7ClNJCH/0QJBAOEKQ6cZmVzFTX+YBnr+IGYh/tFHyPjof2BfzH8A8ajv MK+RDu3SJGfvCohOrKRyVHlD1HfNgTsXilrnbVnMXZcCQQDEX/z1b2oQtEUJB9RD tBnYrt3MceI1AWYQFRHfnNeAugYs3R+rwLh4N9j2FuR0i6OqjjKddwNTYvGaPJay u+YZAkEAxjOdHDpeqaeYty01X/QcoveED9zys89KCJ63ZJB3RzvLnIXdKTbxG50c oKryQS/1GIzWP+H+1QXJtICp/fIR5wJBAIstPKr2e8W6/fKYiegyDN91j90GGbxX cW6UgEZrcpDZRuclEP05aYRKkIpZTzEKhsSqY1UWtFS1G2ak6mliooECQQC/sXa3 TW4WZ5Gsdai15+zuycbJO0x30jYJWwwDF+8ExP9GBoN50s27/uWpYMKS/K5lt8P0 2rhKu/RFdItZukSi -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages01.phx2.fedoraproject.org.crt0000644000175000017500000001005712207656441032505 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 15 (0xf) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-packages01.phx2.fedoraproject.org/name=shell-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c1:08:27:90:ec:80:49:61:9d:6d:02:2a:bb:22: b1:4f:d6:2b:f3:cf:90:90:91:38:2b:59:a6:90:2f: 6a:41:82:4f:15:12:4e:15:fc:89:f7:a5:57:96:70: b8:e5:81:5f:da:8b:c7:aa:5b:b3:8c:61:be:e9:13: f7:43:f3:69:a2:09:1a:7d:72:25:c5:6f:28:be:b7: 29:1e:47:f9:8e:70:36:36:ca:0c:75:df:3e:7d:c1: ba:01:d1:76:cb:ee:b5:bf:c4:93:13:37:b1:79:ed: 89:e7:f8:f9:f5:53:93:68:ef:6c:ca:a5:6d:af:d7: c3:ca:a9:94:49:63:d6:a7:e1 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 4D:1F:87:3B:3A:69:9E:5B:4F:65:3A:EA:C4:77:90:F9:8A:C3:41:5B X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 7e:b5:e5:d2:05:62:4f:52:22:b4:d0:36:a2:c4:56:b3:7b:c4: 50:9b:92:95:00:1d:10:0d:1b:7b:8e:9e:d0:a9:46:dd:c2:f7: a1:a1:2b:09:f3:90:9b:bc:a9:3c:5e:00:36:42:6c:c3:59:a1: b8:6a:b2:24:00:40:57:69:de:bd:af:61:5f:d7:7d:cd:77:50: 50:c5:f1:43:75:5b:aa:af:13:86:ca:ba:64:f2:bf:0f:d5:b6: c8:6f:83:28:39:94:13:d6:56:85:2d:4d:df:dc:84:12:1d:aa: 30:14:39:e0:12:d9:3d:61:2e:22:1c:79:18:fa:4a:9e:17:0d: db:85 -----BEGIN CERTIFICATE----- MIIEUzCCA7ygAwIBAgIBDzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTAwLgYDVQQDEydzaGVsbC1wYWNr YWdlczAxLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMDAuBgNVBCkTJ3NoZWxsLXBh Y2thZ2VzMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYX YWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMEIJ5DsgElhnW0CKrsisU/WK/PPkJCROCtZppAvakGCTxUSThX8ifelV5Zw uOWBX9qLx6pbs4xhvukT90PzaaIJGn1yJcVvKL63KR5H+Y5wNjbKDHXfPn3BugHR dsvutb/EkxM3sXntief4+fVTk2jvbMqlba/Xw8qplElj1qfhAgMBAAGjggFXMIIB UzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQg Q2VydGlmaWNhdGUwHQYDVR0OBBYEFE0fhzs6aZ5bT2U66sR3kPmKw0FbMIHVBgNV HSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQG EwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZl ZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEP MA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9q ZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE AwIHgDANBgkqhkiG9w0BAQUFAAOBgQB+teXSBWJPUiK00DaixFaze8RQm5KVAB0Q DRt7jp7QqUbdwvehoSsJ85CbvKk8XgA2QmzDWaG4arIkAEBXad69r2Ff133Nd1BQ xfFDdVuqrxOGyrpk8r8P1bbIb4MoOZQT1laFLU3f3IQSHaowFDngEtk9YS4iHHkY +kqeFw3bhQ== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/07.pem0000644000175000017500000001002312207656441023375 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 7 (0x7) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app05.phx2.fedoraproject.org/name=shell-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:bf:cb:b3:59:50:a2:bc:de:06:de:e6:e6:47:e3: 45:12:0e:86:a0:5b:8e:84:8a:4a:44:80:f7:06:bf: 3d:5f:6d:01:e0:dc:78:4d:af:5c:b9:db:5c:1d:61: c7:c2:5b:a9:1b:82:66:56:1f:2b:cf:33:14:6c:9c: 39:36:21:42:be:60:ca:79:53:3b:8e:a9:3c:b6:18: 11:96:d0:73:c6:5c:74:0b:0a:a7:48:9d:3e:1c:0c: 1e:b7:c9:f3:d1:47:28:d1:47:31:92:c9:d4:b9:61: 54:f7:92:7c:0b:d9:d4:81:1e:41:84:e2:3f:90:44: 00:5b:ef:dc:69:cf:79:5c:59 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:C3:41:E8:A2:BA:2D:DC:DD:AD:45:CC:29:A2:0C:E7:F6:21:62:D9 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 6d:ca:0c:aa:bf:2e:75:b5:cb:c7:f7:f9:b2:40:ff:2a:d9:7f: 06:8e:ed:fb:69:aa:bb:36:d8:23:aa:58:58:31:b3:62:7e:88: e3:45:54:4f:43:9d:79:d4:50:ba:57:7d:3c:92:0a:d3:a9:08: 1b:df:a0:ff:5e:e4:38:72:9f:0d:cd:b8:52:4d:53:bd:06:1c: 99:e6:2b:07:2e:39:f7:24:71:a8:1d:70:1a:e2:31:46:d3:af: 85:5f:e5:f5:9f:2a:76:88:a7:87:43:b2:7a:36:76:64:88:45: 9e:69:20:74:e6:0d:ab:5b:5e:f1:e1:82:51:ac:d7:c7:5d:5b: ca:c5 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw NS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv8uzWVCi vN4G3ubmR+NFEg6GoFuOhIpKRID3Br89X20B4Nx4Ta9cudtcHWHHwlupG4JmVh8r zzMUbJw5NiFCvmDKeVM7jqk8thgRltBzxlx0CwqnSJ0+HAwet8nz0Uco0UcxksnU uWFU95J8C9nUgR5BhOI/kEQAW+/cac95XFkCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU4cNB6KK6LdzdrUXMKaIM5/YhYtkwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAG3KDKq/LnW1y8f3+bJA/yrZfwaO7ftpqrs22COqWFgxs2J+ iONFVE9DnXnUULpXfTySCtOpCBvfoP9e5Dhynw3NuFJNU70GHJnmKwcuOfckcagd cBriMUbTr4Vf5fWfKnaIp4dDsno2dmSIRZ5pIHTmDatbXvHhglGs18ddW8rF -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0E.pem0000644000175000017500000001005112207656441023414 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 14 (0xe) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-fas01.dev.phx2.fedoraproject.org/name=shell-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:df:60:8a:56:a3:8e:46:fa:db:94:95:3e:27:ba: 87:38:f5:0f:f7:4f:29:41:38:25:b6:f5:1c:bf:49: 89:38:41:ed:29:26:f9:96:6a:0c:98:16:ed:0d:e9: 01:56:d5:f5:83:07:7e:8b:40:c7:df:89:91:2e:ea: 0d:82:d9:91:13:35:61:d1:22:e8:56:96:18:a0:45: 3f:45:57:91:d2:86:76:58:66:f2:38:70:fb:db:81: 2a:b5:d6:a9:01:80:85:59:97:d3:3d:49:35:c6:6c: 2d:b5:a8:47:50:9d:b4:b9:79:95:8b:c2:6b:25:20: f3:e8:96:6d:79:fc:53:be:a5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E7:96:A6:27:1B:7F:5F:3A:37:D5:0D:67:56:D5:65:0D:A5:DF:58:0A X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ef:83:7d:74:e5:d4:ef:85:c1:21:cd:c1:fa:eb:6e:75:67:ea: 75:56:59:d2:a2:1b:33:16:4e:7f:47:fa:19:64:b6:01:9f:c0: d7:c6:2f:c3:ff:fd:62:9e:e2:7b:1d:6a:32:32:14:fc:83:f9: e4:7c:58:f7:7c:03:2a:d8:84:7f:49:5e:c4:84:ef:73:1a:6f: 7e:e0:a5:4b:19:11:49:c4:7e:ba:30:b5:ba:84:e6:b5:1b:c1: 7f:ad:10:75:99:5f:28:55:1b:48:9b:ee:30:7e:be:fa:a2:0f: 31:0a:5d:4d:f5:34:7f:66:aa:6f:0d:d6:e3:8f:f6:ba:72:56: 5f:f8 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBDjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1mYXMw MS5kZXYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtZmFz MDEuZGV2LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDfYIpWo45G+tuUlT4nuoc49Q/3TylBOCW29Ry/SYk4Qe0pJvmWagyYFu0N6QFW 1fWDB36LQMffiZEu6g2C2ZETNWHRIuhWlhigRT9FV5HShnZYZvI4cPvbgSq11qkB gIVZl9M9STXGbC21qEdQnbS5eZWLwmslIPPolm15/FO+pQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBTnlqYnG39fOjfVDWdW1WUNpd9YCjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA74N9dOXU74XBIc3B+utudWfqdVZZ0qIbMxZO f0f6GWS2AZ/A18Yvw//9Yp7iex1qMjIU/IP55HxY93wDKtiEf0lexITvcxpvfuCl SxkRScR+ujC1uoTmtRvBf60QdZlfKFUbSJvuMH6++qIPMQpdTfU0f2aqbw3W44/2 unJWX/g= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app07.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031474 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBALHJHSTd/YFdzvsw0E/TTlpd9x2m252vTueJy4Pd IsNrTMYuNn6KPlDhk8zJsvuXnYK090XVUsz7Yrayo78DERWpdkTZiWhr2Pm8UlSB R5sr02Kvvr0W2gmoMA0VxvyDucWXkfnGKpMCLNVwnYMgB9k0Dt7cB0TNtITTzChw 8oiLAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQA0em33ZbVhyROZwAwOVLHUYkBq Kk9p0D8qk5eQk37aQJiSdnvX42QIjinpt/sP2P8YOLOClgNNtbUgP5UsERIrBf7I Ke6OfEwdwZ7EYeZ36txNAsaO9YhFOyxloKvzAqFWixWvEZDUfIAyboCpwDFzVbC5 BwZ3o8B2Ps9jeYYupQ== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/18.pem0000644000175000017500000001002512207656441023401 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 24 (0x18) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app05.phx2.fedoraproject.org/name=bodhi-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c8:42:bf:54:60:1b:06:3c:67:c9:80:0f:91:11: 5d:e9:71:bc:c2:50:c9:72:97:17:7b:3c:74:01:d3: c5:bd:d2:a5:0e:29:74:93:40:99:3e:2c:a9:0c:11: 89:4e:27:96:0e:38:3e:d1:b8:d3:ba:b8:30:8b:4c: 46:db:c3:85:43:5f:a9:2e:ce:37:28:96:72:89:e9: 53:1c:d9:42:71:6e:c5:86:be:9d:6f:56:8c:42:46: 56:cd:d5:38:c9:b7:5a:d5:9b:ee:67:04:b3:39:a0: fe:14:e1:f3:5b:d5:47:74:49:03:c4:f1:42:54:ff: 8d:12:a2:bf:3b:e9:26:51:5f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:B5:55:CD:B1:4D:4F:E3:BC:BA:A7:7F:57:9C:D3:4E:5B:01:51:DA X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption a1:49:36:a4:c7:27:6b:11:3d:e3:a0:b6:d1:d9:4b:fd:3e:a6: 09:e6:24:7b:18:fa:7b:ec:7a:e6:ff:bb:5f:bc:1a:62:bf:d1: 80:07:39:32:15:47:2e:ca:2a:a8:58:47:56:24:07:79:24:6b: 54:9e:ed:80:78:f5:c6:17:ea:0f:91:78:c2:2f:ed:99:3e:f9: f3:af:c7:ea:87:6a:87:ad:cf:a0:e4:71:67:3f:17:56:9b:9b: c6:4f:25:6e:21:23:80:e0:7a:7b:69:fa:c8:5b:7a:51:1f:31: 70:13:b4:c3:1b:51:37:9a:e7:b6:9e:f8:2a:71:fd:11:7e:fd: ff:21 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBGDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw NS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyEK/VGAb BjxnyYAPkRFd6XG8wlDJcpcXezx0AdPFvdKlDil0k0CZPiypDBGJTieWDjg+0bjT urgwi0xG28OFQ1+pLs43KJZyielTHNlCcW7Fhr6db1aMQkZWzdU4ybda1ZvuZwSz OaD+FOHzW9VHdEkDxPFCVP+NEqK/O+kmUV8CAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU4bVVzbFNT+O8uqd/V5zTTlsBUdowgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAKFJNqTHJ2sRPeOgttHZS/0+pgnmJHsY+nvseub/u1+8GmK/ 0YAHOTIVRy7KKqhYR1YkB3kka1Se7YB49cYX6g+ReMIv7Zk++fOvx+qHaoetz6Dk cWc/F1abm8ZPJW4hI4Dgentp+shbelEfMXATtMMbUTea57ae+Cpx/RF+/f8h -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/26.pem0000644000175000017500000001001512207656441023377 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 38 (0x26) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fas-fas01.phx2.fedoraproject.org/name=fas-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:9d:a7:37:34:0a:a2:66:c0:a8:c9:40:77:58:d4: 41:a1:ab:88:b7:e5:75:87:c5:7d:2c:d3:71:5d:ee: 6f:0c:11:1f:51:3b:8c:2e:a0:b2:54:e4:01:4a:a0: d0:08:c3:7b:18:06:2a:1a:f5:9f:4a:47:5b:2c:8f: d5:83:f1:d8:87:24:82:61:37:b2:87:81:78:23:79: b7:9f:5e:22:3a:75:11:a3:69:e6:94:c0:33:03:53: d1:71:45:5e:4e:ca:cc:95:a6:92:93:7c:ae:6a:e6: 89:71:c1:78:67:0d:c6:ef:41:b4:c8:57:ab:31:82: 80:b5:52:15:d6:b3:29:3f:99 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 2C:3A:53:24:0B:F6:30:F6:AC:66:FA:3E:F6:85:03:AA:B6:7E:FB:67 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 49:0f:21:c5:45:b6:a8:1c:a5:b2:e7:fc:c2:04:07:3c:a9:2d: 26:f6:bd:23:26:f4:77:b2:46:66:e3:20:4a:36:60:c9:19:8c: b5:45:4e:f9:25:00:85:57:80:7c:7e:78:f8:e5:5b:47:83:20: cd:5c:f1:91:87:d7:b1:4e:71:7e:ac:1e:d6:62:25:28:d2:d3: 79:c0:3d:78:30:5b:73:36:56:47:59:21:9e:f1:ed:83:e6:73: 9f:3d:85:42:30:93:63:00:3e:83:58:0d:0b:4c:6e:3c:33:a0: d5:ff:eb:f9:a5:5f:4f:a1:e4:66:86:d2:7e:38:dc:67:be:5d: a1:19 -----BEGIN CERTIFICATE----- MIIERTCCA66gAwIBAgIBJjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB1DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSkwJwYDVQQDEyBmYXMtZmFzMDEu cGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEpMCcGA1UEKRMgZmFzLWZhczAxLnBoeDIu ZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXBy b2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdpzc0CqJmwKjJ QHdY1EGhq4i35XWHxX0s03Fd7m8MER9RO4wuoLJU5AFKoNAIw3sYBioa9Z9KR1ss j9WD8diHJIJhN7KHgXgjebefXiI6dRGjaeaUwDMDU9FxRV5OysyVppKTfK5q5olx wXhnDcbvQbTIV6sxgoC1UhXWsyk/mQIDAQABo4IBVzCCAVMwCQYDVR0TBAIwADAt BglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G A1UdDgQWBBQsOlMkC/Yw9qxm+j72hQOqtn77ZzCB1QYDVR0jBIHNMIHKgBQAmKXV 58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT Ak5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEP MA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1z ZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeCCQCO6yjY qROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcN AQEFBQADgYEASQ8hxUW2qBylsuf8wgQHPKktJva9Iyb0d7JGZuMgSjZgyRmMtUVO +SUAhVeAfH54+OVbR4MgzVzxkYfXsU5xfqwe1mIlKNLTecA9eDBbczZWR1khnvHt g+Zznz2FQjCTYwA+g1gNC0xuPDOg1f/r+aVfT6HkZobSfjjcZ75doRk= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/scm-pkgs01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031346 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAOA6AyhHzuTM2mdV zeS0k0NpqNVuBqF/peFWQO+EnWKr5AzQAezBYGZVuhIodJKCYijLEXtWOH7+kXUG 505WxBwBzyUsVM9oWskCaxBGeWUwHXbhXeF5a3vv3QnYwYoNEPh9LekLvGenJVWt 8DxvCWGhuegpSmXR9KyARdc5K4vPAgMBAAECgYBNcHuqq7IunvlG+wFS3XKGs7UV kRxFJnq5qjpe/mQEseze5+/iPp72eOD8aHBqMRGJmSh+ejak1XKTAkFccubjR41q KNoLRl4JyO9ei45Eo534kkdGFK5xRs7YdrXOrrknTkx+Tp3GpeTxmuQ3TEJQoJUe Twdguojqw9RTt275EQJBAP4fdyfniSkJFlIlm7zso6M7lVQbWR5TvgwdbVkDzuUI mKKIGawQDCbtXL9BfRVboPSy1TWQOxwykpa75xwVrZUCQQDh4gOt7Cc6wesSQHB0 gNUp9Fwy+10JlX3QM+QCK3i8UGvlAqOcyzh3BD6EEpf8E/0hmH5JSGMDpVAUqhZY dRLTAkEAnbkh156ZPuLo+6tj8epd1h5RHJasxWnsdtB84da/PuAK/DXE2UpMgIyq F/qpi+wHBllIg6o1RdcNrIiLdJ7v0QJBAMTLDVuUd+UYF34SSCcoKw7fRwhfuIHm DPO8kbRWPV0LT8T4lKTA5JPETdbxABrtK0b+vV+JQkJl3yvxt4Afl2MCQDRiyVDD mFF+zbNqXTs4yziKzNVnWzB49J0f++98h+/72s5zBRrD9svFEOBNmy7K26dwa9qP YLC5UwO2y3FBCAg= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages02.phx2.fedoraproject.org.csr0000644000175000017500000000150612207656441034027 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICMTCCAZoCAQAwgfAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzE3MDUGA1UEAxMuZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDIucGh4Mi5mZWRv cmFwcm9qZWN0Lm9yZzE3MDUGA1UEKRMuZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDIu cGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVk b3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM7lpFZK nsxGMkg2wt1gVjQf0lAGjn1BwmSaFikVchC6g4fgKZn9+Rs2BmQg7pSSAPaKHY4N 3MfvsSauWHCwnnrdKu+3Ex7OBp5esLdG+LopVt9X+p7252ZMxkuZKg99mNbdJlA4 rw50NApQI3vc/MXtSHbg/E7IUGF8GE1B1CcNAgMBAAGgADANBgkqhkiG9w0BAQUF AAOBgQCbLantimjnqx45VP/yFum2pSXLU/1xHvqYp4/gaE0vIshTwErt0v/U4fIQ osY0OUDoF/k1t/Imb8IHK7yxypx4zrePI0ErgVOV1DcMOeXu/6EeZ/43zQUhU34v 5ojRjGD3L5v6dAQuTG0NpUDgmzasoLmOMp3DnztAnAL+BQowGg== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app03.phx2.fedoraproject.org.key0000644000175000017500000000162012207656441031463 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBANXm1363KFq3lbmf uKJwZwMYQe0t6wxjHdITPyZ7JbhEIExXD4/Gnsqs+o/jmOx0KkJRc4jjR26ySuBk oGkGuTzTxXq7FMFCPZNoVYS0VcH73elgIgg5MB0UBwEwJXGAq4WbiAqGDwkBDlS0 CZBHRIvvLcpYZffrYg+sKTdn4V8XAgMBAAECgYBfSMeyENEPKDywRbAv3DZnMIUd rJjKGdUM4bn94Fm7Lc3dc+Lgvy+5RTkQo+hZXJ3+kN4Qmn4Vl6K3NtwmLPKSj52K CEszKTN4v/mAKBIlVYZNH6Xmwq7JUjdrbJ+XrmPkR8/UvW5p1Toq1YdRy2psb7ge dOCXagplM13LmtwsIQJBAOxB1nq9rgtay6U1NknevYrQKr2CAAnH2yiL4CKwvvBG J7U19dDT8sWg1Ks4bNqFsWlNWIifGWlyam+KJv4pkdkCQQDnxsMVlu9mCiK8Y7P/ tZj9dwTJf193SAXciEAllDpXnLXax51ejHON34fb5rLF0X9lIPJ+4hFcngNvR4qu XPJvAkA9KGniChn0vIM8+AJeqvc76Nk3h2CFJ6Q24caalFBJGJAM27QPY95ThGep Dwk2pCch0DDb5PuKDWE6EHQ5lP85AkBTogUC5VO9Hisqj0+EFaL+0tOHYc6w2+xB h2ieJr5mnsWADEdctpF7wAzl7HjVqKKvexQFdM2O/fV/UfFYuXFBAkBd6uhiPyjX rlT5kLvQNWWuIC3xxl3O0Eu5SYD1XA9g3mQa781d9n1TXfkjNAswJVwRiqjWBDmf JTdMt2e9QhRC -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0D.pem0000644000175000017500000001005112207656441023413 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 13 (0xd) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-fas01.stg.phx2.fedoraproject.org/name=shell-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:de:ab:04:fd:4c:1b:4b:f1:9b:ac:f4:ba:a4:ab: d2:ea:fb:0e:f2:07:eb:e3:af:73:6e:a5:2b:61:1c: 43:f2:8b:6a:e2:03:a1:6b:02:70:96:fa:44:a9:7c: d1:b0:1c:bc:f4:b1:b8:89:f8:bb:03:8c:10:b9:0c: e4:62:8e:c5:95:b7:38:1a:e2:82:24:6d:9f:86:ac: 34:5f:04:04:43:5c:a3:05:82:bc:b1:a0:b3:e6:9a: d0:12:c9:7c:56:55:d5:51:11:51:b8:2e:87:43:1f: 2c:85:7f:70:87:44:93:cf:d7:95:9b:38:fa:ef:27: e6:25:f8:01:8d:70:ea:3b:69 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 18:2B:D1:42:4E:D1:DE:2E:4A:39:66:9B:1D:B9:21:9C:38:A9:CE:78 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 61:52:82:64:2d:70:0e:14:a2:5a:34:20:f3:5e:81:e4:4a:37: 45:1b:64:ca:78:58:ff:18:6d:66:be:47:a3:07:31:ba:2a:d7: 81:93:32:37:34:7d:d9:7c:89:1c:e8:30:eb:9d:a1:30:b3:b5: 95:29:28:bc:66:6d:55:5b:75:3a:f7:b9:55:87:49:10:e5:d9: b6:d0:71:22:46:96:b3:23:c8:29:b2:58:f8:45:6d:03:f3:d5: ff:96:11:a8:0b:ec:b1:b1:7b:a0:ad:9c:0e:93:26:df:de:f4: 69:f2:cd:35:ec:85:8d:ac:56:59:c9:f3:cb:77:6e:96:ee:cb: 65:3e -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBDTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1mYXMw MS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtZmFz MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDeqwT9TBtL8Zus9Lqkq9Lq+w7yB+vjr3NupSthHEPyi2riA6FrAnCW+kSpfNGw HLz0sbiJ+LsDjBC5DORijsWVtzga4oIkbZ+GrDRfBARDXKMFgryxoLPmmtASyXxW VdVREVG4LodDHyyFf3CHRJPP15WbOPrvJ+Yl+AGNcOo7aQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQYK9FCTtHeLko5ZpsduSGcOKnOeDCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAYVKCZC1wDhSiWjQg816B5Eo3RRtkynhY/xht Zr5HowcxuirXgZMyNzR92XyJHOgw652hMLO1lSkovGZtVVt1Ove5VYdJEOXZttBx IkaWsyPIKbJY+EVtA/PV/5YRqAvssbF7oK2cDpMm3970afLNNeyFjaxWWcnzy3du lu7LZT4= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app02.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031461 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 21 (0x15) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app02.phx2.fedoraproject.org/name=bodhi-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d9:b1:07:22:2d:26:46:b9:33:8a:4b:c6:5c:92: 06:2a:cf:c2:90:5a:36:b8:fc:81:48:b2:ab:97:56: 43:eb:b3:8d:76:ca:12:57:c6:56:90:92:13:70:43: d7:65:9a:52:61:cd:69:d9:76:aa:64:29:c9:09:49: 83:9e:03:b2:1f:25:26:e1:b5:be:b5:98:c8:09:71: 31:cd:84:5b:cf:1c:8a:37:4b:12:0f:b7:c5:95:9d: d1:a2:00:a0:78:7f:86:80:c0:e6:05:b2:9b:f7:0d: 77:c3:cb:7c:d9:db:b9:63:b0:12:29:a0:05:ee:4f: 61:76:55:ca:0c:ea:a2:bd:13 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 84:80:BF:15:57:CB:7E:84:06:34:8E:81:73:0F:2F:7D:82:E1:ED:CC X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption c6:62:0a:ac:71:8c:48:32:38:40:4f:e9:7d:08:19:a7:28:12: d9:18:c6:30:04:b3:93:6f:b1:11:03:96:69:b3:60:70:bc:bb: 2f:52:61:28:09:c4:da:b3:a4:b9:29:16:34:b9:ce:e8:ec:77: f0:d4:93:09:c3:5e:08:aa:8a:da:88:39:6b:79:88:c9:a2:d1: 8f:59:a5:78:66:43:eb:86:50:96:ee:25:4a:8b:7e:67:54:32: 60:76:a6:90:a3:d7:b2:8e:0b:d2:eb:61:29:50:db:05:e9:92: 64:98:db:d2:99:3d:f0:66:66:b1:bd:23:7b:16:10:78:97:ea: b9:c3 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw Mi5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwMi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2bEHIi0m RrkzikvGXJIGKs/CkFo2uPyBSLKrl1ZD67ONdsoSV8ZWkJITcEPXZZpSYc1p2Xaq ZCnJCUmDngOyHyUm4bW+tZjICXExzYRbzxyKN0sSD7fFlZ3RogCgeH+GgMDmBbKb 9w13w8t82du5Y7ASKaAF7k9hdlXKDOqivRMCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUhIC/FVfLfoQGNI6Bcw8vfYLh7cwwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMZiCqxxjEgyOEBP6X0IGacoEtkYxjAEs5NvsREDlmmzYHC8 uy9SYSgJxNqzpLkpFjS5zujsd/DUkwnDXgiqitqIOWt5iMmi0Y9ZpXhmQ+uGUJbu JUqLfmdUMmB2ppCj17KOC9LrYSlQ2wXpkmSY29KZPfBmZrG9I3sWEHiX6rnD -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app05.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031514 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDUucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDUucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAL/Ls1lQorzeBt7m5kfjRRIOhqBbjoSKSkSA9wa/ PV9tAeDceE2vXLnbXB1hx8JbqRuCZlYfK88zFGycOTYhQr5gynlTO46pPLYYEZbQ c8ZcdAsKp0idPhwMHrfJ89FHKNFHMZLJ1LlhVPeSfAvZ1IEeQYTiP5BEAFvv3GnP eVxZAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQAwhHS0zBhe0Rwr8yZ81K6WJ3N/ AGfBr/UG01eXjWM4GJW1ucrTqPy1riToBd68gX7rf9tzV27zTjw6Q8yTFPWvmamg yl9l2IM+64pCJW/6mEB2SH2b+CoObVSUiIASuiSGg4HhX8Nr/XnN48YlLpuA9SS8 TonHyj3uFfrqjH9/Ug== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app01.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032343 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANPHIrCkF2M+xamx an7WXklEg4Ff4AX0BIb3PZWjbEPYeM0REexQdB5oe3hS/9BgHm1pYAp48Uco0AdY BR9d+sccG6+8PRCOX36wJpZuLdqFcW7QBbZ2w+0kLo5tsdCNdwshsQeZsRNw7pFm ARYx+bZ2mgTGpBqISfSJWwx+1DkFAgMBAAECgYAWZaIKkmAS0+mtp6C+p0czcnaB 8TTNDGCKMY2mzLC/gB5Oebauilete5lLQWPikrfFFHbexKmnv+44SJvKFHNX+CIK f/daBlQVxIXF8erM2SKZLo1JCSkQIc2xb4ftJJ1yPNURUUK5emdZ8dsYTu+zAwkK hQtpG4NWe6aSrxcS4QJBAO7HIG0rDhQDAEbssgOS4CHQ8VHHoarDH70AWoW3ogVW Zc9xbdKOC28/Bz/ma+AnOMrc8kRhDWUt5/TtTpaLdC0CQQDjDXj2bjzr+IryWQL5 OQimDrGtbce7oxYPZCgdjqyu9j/P7b7/KpzaGN3pMi/qCH4WQjRNOaCMsRWExBWt tqc5AkEAnNSTOsDNtV0nQG5Umb5NkkhvSByL1eHlJblmu28abtEJe8/vpxz+66mF NHY+onKAfdXTFhB8wNj/AkMfnAeqXQJAYxoVSxJwuto/42mgl6EiOkC9oqIBBNA5 J7yimcwVaUSIM7xkmkFCNxuVeFx0d2T/i72X0IEvp1j/uHRRtgG8WQJBAI5VFs+j l/aVhotz1jxND1jI9UYlbnIeDbdiGUH0WFjYDukzuXCCo5xmFoASAH6SYcTKXUkp VRTVc3XglnuPFj8= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/dummy-revoked.key0000644000175000017500000000162412207656441025755 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK/6iylIhjweZgFd +VCXCzox9hYAq5phtjYZPuN6dTba1sRwQTEDnRedjV36x+YGLkVi8IJyEJipKy7L +056zFDlXFBXAQxBZge3Bm/kCxPds87SjCzZwx2kIlGrzUd/WzUysG9FAfXaeI35 e2/BgfGmQEluJsHXqL0e+wxgEd+PAgMBAAECgYB0KIHRB0Erz7jvMBOQQZM0n6Pb FCgxaEv426MqTjuusLbQxXQSoVsBKosUvKNUT0IdpNgyko4n5opNgnFodSAFMZL4 KOBv4ZPjKtNUDNxf+v88GtrnIIX6BjQ8CC/e14nGNBT/G0aF6eWLSR4HKdfFAmRq me0YOOozVAwkn4uhMQJBANeVggJTmI2pp2S0Q7I4K6N/1stjxfMTNQLLEUoqDtVf jH/o7E4rEUVF5yTekDgmhC91prtExHVlvhzlmLZjqmcCQQDQ+ENSUBNjnA93v5gk EXo5aibroMJY13voE0WWK71qpAXtzX/TfozarTKC6kPczhe1JTVLJpOjSNLiG12d YbiZAkEAg8LN9gwPxi11sLf4VBm+mixNJHwzhPAtSyq/w3tXG5RNc/PxUYlDAfrK Xh9lN9xamAMpR3WtOS9Y9aJiJr9dawJAKxmZYQfNB/VvJ0aoDYBhUig3wM+WZhaD otkeuBtrZOxRoLuKysdGK/AfA+tndco4D4+OD2L0fnANtr7oLwaxuQJADpD0Di6M jVWWpmXU0GATtrv1yTc+UfIaP99okarsinZ3KwiX98Byfu0NaKoL7UT3aYefY62O rJfqn6Xk6KdHkg== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0A.pem0000644000175000017500000001005112207656441023410 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 10 (0xa) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app01.stg.phx2.fedoraproject.org/name=shell-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c1:bc:81:28:0e:43:20:28:23:dc:7f:93:1f:7e: 03:66:b7:64:86:99:2a:c5:3a:dd:c0:76:e9:26:4b: c1:ab:77:58:54:c1:b5:13:67:32:51:85:6d:1f:d0: 2a:6b:47:66:6b:d7:c9:2d:de:f7:08:69:0c:b2:62: 31:22:9c:80:c1:82:fa:d8:5f:95:2b:d7:48:b8:2d: 6f:f0:20:4c:b9:c7:9a:9b:95:30:cc:eb:10:80:e9: db:e8:50:ff:4f:a4:63:b5:d1:00:a1:44:6d:e6:5c: f1:77:3f:b1:0d:ca:8a:fb:cc:be:89:0d:11:0a:93: ca:16:05:08:cd:ea:9e:b1:9d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 4A:E2:CA:AC:F3:6B:6C:F8:87:E9:9E:F0:B5:FE:4C:F1:0F:DB:93:13 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 07:57:c8:52:52:ea:cb:a6:f2:b2:e3:79:8f:35:d5:38:f3:1c: 4e:a0:a2:61:42:bc:d8:fd:40:bd:23:24:32:ea:45:c9:0f:0f: 44:b4:0b:40:c7:14:84:52:d1:cb:b9:48:6f:45:7e:22:50:7b: 36:f1:e7:94:fd:49:96:26:05:14:b7:52:83:f3:80:ff:fc:88: 87:29:d4:0f:38:34:9c:4c:4f:11:58:be:88:99:54:0f:17:5f: 85:07:47:d9:b1:fd:a3:d8:6d:ec:ae:77:7d:b7:d8:3c:f9:fb: ea:dd:41:f4:bd:9d:20:65:16:05:ba:f8:39:63:d0:83:94:7f: b8:f5 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBCjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1hcHAw MS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtYXBw MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDBvIEoDkMgKCPcf5MffgNmt2SGmSrFOt3AdukmS8Grd1hUwbUTZzJRhW0f0Cpr R2Zr18kt3vcIaQyyYjEinIDBgvrYX5Ur10i4LW/wIEy5x5qblTDM6xCA6dvoUP9P pGO10QChRG3mXPF3P7ENyor7zL6JDREKk8oWBQjN6p6xnQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBRK4sqs82ts+IfpnvC1/kzxD9uTEzCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAB1fIUlLqy6bysuN5jzXVOPMcTqCiYUK82P1A vSMkMupFyQ8PRLQLQMcUhFLRy7lIb0V+IlB7NvHnlP1JliYFFLdSg/OA//yIhynU Dzg0nExPEVi+iJlUDxdfhQdH2bH9o9ht7K53fbfYPPn76t1B9L2dIGUWBbr4OWPQ g5R/uPU= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001014212207656441034617 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 43 (0x2b) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedoratagger-packages01.stg.phx2.fedoraproject.org/name=fedoratagger-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d3:d0:82:a2:4c:c1:4a:3f:e3:45:a4:08:f0:b6: 46:f8:14:4d:d1:3f:da:8d:71:7a:b8:17:17:3b:5c: cf:4a:39:21:fa:5c:95:23:c1:8b:4c:80:1e:72:37: 84:92:56:47:50:34:57:fd:bb:79:4b:8b:39:af:1a: 6f:3d:af:0f:f2:34:c9:e8:9c:4b:09:c5:6a:05:42: 71:9a:90:2f:96:49:96:a5:0f:7f:d9:68:49:5f:ef: 87:90:a3:05:25:e6:44:50:41:25:25:11:7f:9f:96: 03:9d:02:f5:74:4e:3e:c2:3d:84:6f:5a:6c:3c:3e: b4:c5:cf:95:fc:87:0e:63:e7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: EE:A0:70:85:34:D5:AA:7F:CE:70:7E:5E:1B:BA:2A:D2:D6:76:B4:5F X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 39:00:c8:9c:47:15:1a:f3:f3:14:8e:d3:6f:62:b1:70:e6:0d: c6:c5:b4:a4:43:b0:23:31:95:9f:14:01:db:12:b0:7e:26:12: d1:7f:59:7f:6a:76:60:39:4f:90:bd:92:a8:ab:8c:1d:33:84: 9e:1b:52:23:be:cc:41:68:89:1c:20:84:c7:60:48:af:40:c3: aa:07:5f:fa:a4:33:d4:d8:ec:a5:01:59:a5:86:c2:17:85:2c: bb:52:8c:4e:55:79:5b:7b:54:51:5a:04:a5:37:bd:c5:b6:78: cf:9d:47:19:43:63:6c:ce:42:ed:f8:33:ab:a0:e8:31:28:54: 05:3e -----BEGIN CERTIFICATE----- MIIEaTCCA9KgAwIBAgIBKzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB+DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTswOQYDVQQDEzJmZWRvcmF0YWdn ZXItcGFja2FnZXMwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzE7MDkGA1UE KRMyZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDT0IKiTMFKP+NFpAjwtkb4FE3RP9qN cXq4Fxc7XM9KOSH6XJUjwYtMgB5yN4SSVkdQNFf9u3lLizmvGm89rw/yNMnonEsJ xWoFQnGakC+WSZalD3/ZaElf74eQowUl5kRQQSUlEX+flgOdAvV0Tj7CPYRvWmw8 PrTFz5X8hw5j5wIDAQABo4IBVzCCAVMwCQYDVR0TBAIwADAtBglghkgBhvhCAQ0E IBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTuoHCF NNWqf85wfl4buirS1na0XzCB1QYDVR0jBIHNMIHKgBQAmKXV58RVDoSjZ/5mShbg BBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQH EwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEPMA0GA1UECxMGZmVk bXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3 DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeCCQCO6yjYqROdfDATBgNVHSUE DDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEFBQADgYEAOQDI nEcVGvPzFI7Tb2KxcOYNxsW0pEOwIzGVnxQB2xKwfiYS0X9Zf2p2YDlPkL2SqKuM HTOEnhtSI77MQWiJHCCEx2BIr0DDqgdf+qQz1NjspQFZpYbCF4Usu1KMTlV5W3tU UVoEpTe9xbZ4z51HGUNjbM5C7fgzq6DoMShUBT4= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032254 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 27 (0x1b) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app01.stg.phx2.fedoraproject.org/name=bodhi-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ab:ae:73:d5:a8:59:9b:56:0f:9a:93:ba:61:65: 4a:0f:b7:1c:0b:cb:01:28:ed:49:4c:93:f8:b5:13: 55:56:ab:b5:96:3a:e6:05:eb:28:01:06:52:3f:ee: 83:44:92:de:c2:9a:30:66:df:45:2e:8b:f4:aa:e0: 41:78:a6:84:94:58:b8:35:55:44:2f:37:46:e6:b5: c1:40:02:ab:ab:b8:90:6a:a2:61:5d:4f:d3:8d:32: ca:75:37:13:6f:e1:54:42:d6:b5:d0:73:a6:6b:65: f2:b2:70:76:0f:eb:33:0e:2c:c0:12:6c:9a:b6:ad: 16:47:74:47:33:47:99:0b:0f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 33:67:11:D6:5C:18:7A:EF:0F:21:38:02:06:67:CA:7C:8B:09:BC:66 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 3e:43:96:43:7d:f8:3d:d1:82:23:9a:be:8e:23:e0:3f:b2:be: e6:87:b0:46:98:e2:53:2a:8f:c4:1c:71:33:cf:f2:96:01:4d: 11:51:ea:73:17:bf:7a:cd:c9:77:e8:53:73:84:12:8d:bb:9d: 19:2f:65:1c:54:ba:ff:ff:b4:ea:ff:26:02:80:8a:00:2b:3e: 6e:57:c2:e1:76:ef:ca:8c:60:4d:ce:a3:b1:20:1c:95:33:d6: e4:5f:7e:b2:fa:94:8f:01:d3:48:4f:42:63:0e:61:7b:3d:7a: 2c:e1:d8:9d:48:e9:76:d6:d5:6a:da:a2:36:b8:d9:c9:e4:08: af:36 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBGzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZib2RoaS1hcHAw MS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmYm9kaGktYXBw MDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQCrrnPVqFmbVg+ak7phZUoPtxwLywEo7UlMk/i1E1VWq7WWOuYF6ygBBlI/7oNE kt7CmjBm30Uui/Sq4EF4poSUWLg1VUQvN0bmtcFAAquruJBqomFdT9ONMsp1NxNv 4VRC1rXQc6ZrZfKycHYP6zMOLMASbJq2rRZHdEczR5kLDwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQzZxHWXBh67w8hOAIGZ8p8iwm8ZjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAPkOWQ334PdGCI5q+jiPgP7K+5oewRpjiUyqP xBxxM8/ylgFNEVHqcxe/es3Jd+hTc4QSjbudGS9lHFS6//+06v8mAoCKACs+blfC 4XbvyoxgTc6jsSAclTPW5F9+svqUjwHTSE9CYw5hez16LOHYnUjpdtbVatqiNrjZ yeQIrzY= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/23.pem0000644000175000017500000001005212207656441023375 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 35 (0x23) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app07.phx2.fedoraproject.org/name=mediawiki-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:a2:4b:a4:9b:ca:bc:d0:3a:bc:30:c7:87:79:2d: df:5b:1b:08:5e:8f:b5:1f:13:a1:2d:65:7e:27:a7: c9:3f:65:d7:a6:a1:43:db:c4:9c:6a:71:4d:65:88: 85:14:65:c0:f0:fb:a5:d0:4a:26:99:9f:82:f5:f5: 06:68:56:86:e7:67:52:90:40:d9:5c:11:f7:40:c3: 17:a7:a3:7d:45:a4:09:29:ab:99:9d:f0:39:f7:a2: 05:2d:08:34:c6:22:00:b0:e6:10:ca:f9:91:e4:a7: 15:18:46:17:c2:1c:2b:be:6c:b6:a0:f7:8c:4a:19: 29:23:d5:4e:8a:84:61:56:59 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: AB:00:98:5E:BF:83:5B:8F:25:15:E0:31:54:1D:FC:91:FD:EF:87:73 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption b9:3a:ec:d0:04:16:90:a0:85:a8:40:0d:b5:79:6b:0e:7d:9a: b1:bf:46:91:41:7c:41:4f:72:58:92:41:a1:4f:77:1b:cd:01: 42:65:25:7b:1a:3f:36:ad:96:24:e4:6b:c0:07:c1:13:6f:88: 69:6a:39:87:1e:01:80:94:4c:2e:c7:ef:a8:47:75:8f:67:4d: 77:3c:94:b9:88:d9:dc:f2:96:cf:43:6b:7b:79:bb:f8:d6:01: 6f:d5:a1:6c:d9:3d:0d:bf:29:2c:8b:32:cc:c6:fc:23:83:31: c9:7d:75:42:7e:6e:27:b1:d3:9c:fd:1c:fd:11:96:a7:a5:07: 45:b1 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBIzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA3LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQCiS6SbyrzQOrwwx4d5Ld9bGwhej7UfE6EtZX4np8k/ZdemoUPbxJxqcU1liIUU ZcDw+6XQSiaZn4L19QZoVobnZ1KQQNlcEfdAwxeno31FpAkpq5md8Dn3ogUtCDTG IgCw5hDK+ZHkpxUYRhfCHCu+bLag94xKGSkj1U6KhGFWWQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBSrAJhev4NbjyUV4DFUHfyR/e+HczCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAuTrs0AQWkKCFqEANtXlrDn2asb9GkUF8QU9y WJJBoU93G80BQmUlexo/Nq2WJORrwAfBE2+IaWo5hx4BgJRMLsfvqEd1j2dNdzyU uYjZ3PKWz0Nre3m7+NYBb9WhbNk9Db8pLIsyzMb8I4MxyX11Qn5uJ7HTnP0c/RGW p6UHRbE= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/server.crt0000644000175000017500000001001012207656441024460 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b1:a2:5c:d7:10:6a:83:a4:1d:65:66:51:80:f5: 72:2d:15:af:77:92:ad:1d:ad:80:d8:c8:e2:ee:cf: 10:3b:07:02:1e:4f:18:c4:47:d6:82:8d:53:ff:c2: 1b:72:49:fe:62:fe:68:26:f0:91:8f:d7:e0:9e:b8: 46:96:ef:ef:4b:07:f4:21:10:09:d9:90:92:a6:25: 3a:29:ca:b6:e8:69:06:df:ba:a7:73:b1:71:c3:6c: 1c:d3:7d:d6:ff:3a:ce:15:b7:bc:7b:fc:6c:6b:d6: 6f:a7:fd:e0:28:59:07:49:bf:66:9c:3e:1f:5f:b8: 85:c4:61:51:f9:67:00:40:a7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Cert Type: SSL Server Netscape Comment: Easy-RSA Generated Server Certificate X509v3 Subject Key Identifier: 50:DA:1E:62:70:71:C2:72:0D:67:F3:F1:24:A2:E2:9E:31:E1:A3:F0 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Key Usage: Digital Signature, Key Encipherment Signature Algorithm: sha1WithRSAEncryption e8:01:80:e4:eb:85:87:d5:be:94:80:e4:e5:d2:df:e8:c6:b5: 38:1e:69:31:c0:73:1e:00:60:7b:f4:5f:5c:cb:68:d0:94:d0: bd:9c:ea:33:bd:a1:3a:83:cd:cf:29:57:8b:95:02:d5:bd:fb: fc:33:d8:a8:da:05:84:67:e2:f4:8b:ba:53:e3:e4:67:0d:52: c1:ce:9f:a9:63:ca:86:59:bd:fa:e7:9d:48:8f:b1:e1:fe:a0: a5:6b:0d:6f:03:9c:30:26:80:1b:90:30:e6:a2:ca:4c:29:1e: 74:98:5d:cf:34:fb:d7:fa:7a:3a:af:51:96:87:02:dc:18:0a: fb:83 -----BEGIN CERTIFICATE----- MIIEKzCCA5SgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALGiXNcQaoOkHWVmUYD1 ci0Vr3eSrR2tgNjI4u7PEDsHAh5PGMRH1oKNU//CG3JJ/mL+aCbwkY/X4J64Rpbv 70sH9CEQCdmQkqYlOinKtuhpBt+6p3OxccNsHNN91v86zhW3vHv8bGvWb6f94ChZ B0m/Zpw+H1+4hcRhUflnAECnAgMBAAGjggFxMIIBbTAJBgNVHRMEAjAAMBEGCWCG SAGG+EIBAQQEAwIGQDA0BglghkgBhvhCAQ0EJxYlRWFzeS1SU0EgR2VuZXJhdGVk IFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUUNoeYnBxwnINZ/PxJKLinjHh o/AwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAx CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUG A1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMG ZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZl ZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwEw CwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBBQUAA4GBAOgBgOTrhYfVvpSA5OXS3+jG tTgeaTHAcx4AYHv0X1zLaNCU0L2c6jO9oTqDzc8pV4uVAtW9+/wz2KjaBYRn4vSL ulPj5GcNUsHOn6ljyoZZvfrnnUiPseH+oKVrDW8DnDAmgBuQMOaiykwpHnSYXc80 +9f6ejqvUZaHAtwYCvuD -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app04.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031503 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 6 (0x6) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app04.phx2.fedoraproject.org/name=shell-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:e8:ae:46:69:1a:0e:10:7f:93:dd:18:cf:e0:62: 75:ef:44:6f:fc:79:d3:c6:6b:0c:27:84:2e:b5:41: 53:eb:ad:24:41:1c:1b:2c:8e:da:87:17:9b:12:35: cf:d4:e7:68:93:47:12:b6:e3:10:e7:aa:73:1e:fc: 82:47:1f:92:30:ba:89:2e:36:91:b6:55:32:c0:12: cf:75:6b:5b:98:06:06:5c:92:a5:fe:b6:26:dc:ea: 12:72:be:2b:e5:b4:62:e2:12:82:94:d8:79:c6:14: 0f:63:64:ad:7b:73:d4:83:9d:c2:b5:54:5e:d5:ab: 3e:c1:2e:66:8b:2e:ef:42:35 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: AE:12:E4:43:F3:1A:3F:DA:A5:21:20:DF:57:3D:C6:76:31:F6:A4:00 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ca:49:0a:ad:a8:10:3f:56:67:2a:80:18:03:5c:e3:2a:c0:5f: 60:a0:94:32:e4:b5:8d:ce:84:99:f2:a2:5c:37:05:d2:e0:25: cb:7d:cf:44:0f:88:24:56:b7:6e:2c:c0:61:21:93:42:3b:a8: 56:d2:57:14:8e:36:1b:6f:b6:30:32:ea:19:3a:61:83:0b:36: ef:1b:d7:74:c8:ed:75:e4:e6:5c:9f:44:e6:d8:2d:c8:be:d9: b3:81:33:8c:69:09:5b:8c:6c:fb:a1:3d:09:e4:8d:11:fb:a3: 2c:e8:5a:79:b8:5e:ea:67:5d:1f:22:95:73:8c:99:0e:05:2a: fb:29 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw NC5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNC5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6K5GaRoO EH+T3RjP4GJ170Rv/HnTxmsMJ4QutUFT660kQRwbLI7ahxebEjXP1Odok0cStuMQ 56pzHvyCRx+SMLqJLjaRtlUywBLPdWtbmAYGXJKl/rYm3OoScr4r5bRi4hKClNh5 xhQPY2Ste3PUg53CtVRe1as+wS5miy7vQjUCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUrhLkQ/MaP9qlISDfVz3GdjH2pAAwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMpJCq2oED9WZyqAGANc4yrAX2CglDLktY3OhJnyolw3BdLg Jct9z0QPiCRWt24swGEhk0I7qFbSVxSONhtvtjAy6hk6YYMLNu8b13TI7XXk5lyf RObYLci+2bOBM4xpCVuMbPuhPQnkjRH7oyzoWnm4XupnXR8ilXOMmQ4FKvsp -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.dev.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032255 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAN9gilajjkb625SV Pie6hzj1D/dPKUE4Jbb1HL9JiThB7Skm+ZZqDJgW7Q3pAVbV9YMHfotAx9+JkS7q DYLZkRM1YdEi6FaWGKBFP0VXkdKGdlhm8jhw+9uBKrXWqQGAhVmX0z1JNcZsLbWo R1CdtLl5lYvCayUg8+iWbXn8U76lAgMBAAECgYEA2l7CXphdyr4KU2Li9GvBLclE 5nwY1I1TMVzF0arN3pV0h7p2XLknvrcK34JdsMpRzNpSt0eJHdqad8aPls+ipdSI jEdjxyAKLMv/tucbIxn4wcSeg2VDOs5dqHLNy0izd7pjpZ4z2c/dFekfQym3EQVM +OfRDafkTzRI8j/JE7ECQQD6cYyDkdrOWB467GONKUP5DTJglAHuNZGThjGgTD6e J78daVSoG4SVKS9pTdgCkXp6q7qiNkbBRuVlM9B5ykUnAkEA5FVC8ccrc0ritoG7 jEpO4zlgV2aanQYwSP/tlifVSWWsUuPkHV1alTAijRQtd0djg/bJSn1gsgthO+a7 bIf1UwJAVcpj6gYiwCCral/j0k1afYwpv6+z4Zf0IGcNxO2ZXbAb5cVZPKUAi+Ap 35bM8kRHgpIlQr/5COhyWHKhbbb+bQJBANc+WME7FAa3TUjmuzngwsUIzX0WyCHG N7ZZLEskebebFPt+wQe9fSquGaQMpV+P+IvqFI8X6hNtDtg9BemlsOkCQDT1fVx/ bj7o3bZYkvjYJ6bzn3MZ9KtesmmwMLI98JtN9oVgtExgpX+Ew25umhxHku9Ll7il RUyeeA+1eTxKWk0= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/17.pem0000644000175000017500000001002512207656441023400 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 23 (0x17) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app04.phx2.fedoraproject.org/name=bodhi-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:aa:cb:fc:f9:7d:35:db:6b:71:34:3c:19:7c:ed: 21:0d:d8:ce:8e:4a:aa:b8:e1:79:18:28:f3:e0:0d: 16:bf:a3:86:13:10:24:d3:cd:02:d0:92:27:a7:8e: a9:08:fe:4f:8b:c8:d5:b4:80:3b:8c:0c:f8:7c:ae: 29:c2:b6:fe:a8:05:a7:02:ba:0e:20:0e:27:24:1c: 1a:3d:b3:15:19:cd:b0:fd:21:b1:6a:d9:f3:e5:e3: 97:49:d4:86:6b:54:4a:83:1e:5e:85:07:c7:c4:78: 83:d1:44:8a:96:e4:1c:ce:1c:a0:36:85:78:17:46: c3:06:57:b4:b3:57:00:d6:b1 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: EE:40:47:3E:1A:13:F7:DA:46:81:62:AA:88:0B:B2:4E:EB:16:EB:60 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 01:da:a1:26:2f:7d:b3:41:f0:ac:26:49:22:c4:05:d4:f3:6c: bc:87:d3:d7:02:fc:28:af:28:5d:ab:57:20:fa:c9:67:83:c3: d5:29:35:8b:e0:57:4f:ea:54:b2:28:71:39:02:65:0c:9d:65: d5:8d:97:b9:79:94:30:13:e8:d0:b7:e7:be:35:22:54:78:9f: 65:cf:7c:3d:bc:a6:f9:82:0c:5f:06:06:42:83:a7:6c:ee:d9: ba:bd:0c:9a:a4:e9:c1:6e:1a:7a:0e:e3:d5:9f:82:69:27:bf: 57:9f:dd:03:00:6a:c3:17:98:ab:b5:00:e3:fb:4f:b9:ef:9d: 38:55 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw NC5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNC5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqsv8+X01 22txNDwZfO0hDdjOjkqquOF5GCjz4A0Wv6OGExAk080C0JInp46pCP5Pi8jVtIA7 jAz4fK4pwrb+qAWnAroOIA4nJBwaPbMVGc2w/SGxatnz5eOXSdSGa1RKgx5ehQfH xHiD0USKluQczhygNoV4F0bDBle0s1cA1rECAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU7kBHPhoT99pGgWKqiAuyTusW62AwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAAHaoSYvfbNB8KwmSSLEBdTzbLyH09cC/CivKF2rVyD6yWeD w9UpNYvgV0/qVLIocTkCZQydZdWNl7l5lDAT6NC35741IlR4n2XPfD28pvmCDF8G BkKDp2zu2bq9DJqk6cFuGnoO49Wfgmknv1ef3QMAasMXmKu1AOP7T7nvnThV -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app04.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031470 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKrL/Pl9NdtrcTQ8 GXztIQ3Yzo5KqrjheRgo8+ANFr+jhhMQJNPNAtCSJ6eOqQj+T4vI1bSAO4wM+Hyu KcK2/qgFpwK6DiAOJyQcGj2zFRnNsP0hsWrZ8+Xjl0nUhmtUSoMeXoUHx8R4g9FE ipbkHM4coDaFeBdGwwZXtLNXANaxAgMBAAECgYBDBtCdPEUBefWwERHTk9+P5pCR CL5c1adHEvM57wkJZev82S4KrH65SVIkkHjHnb2r1sH/Fv/HY2O00khzMItY0r33 WRI6tLbvcw6mEFHiQPdUoyFHmN5l1yoU8YCqEz7eIoiekTunb3ws8De6f8y283zE o4vqJU6tUd7B/zMOkQJBANibLlF2xxX3FTlH9LW2Q3FtnIv5LMQNN1Sa6d2jKrOT fJo4l4bYdZh9/lCyApeDr1CMlwy1SS37z0g7qbvGNx0CQQDJ3ABLT8CodkAOufJx PgtGo0ueIaUx3HZYHyRlPRlZ7LEy42p5Zcpo0hw1Q+c6eu7gvk7pvYC22urPNfNh TsWlAkEAmNPkulWz4iuTLfc3EX6n10AfVCNbEnjAsVEb8OVPG6TUJXwIbXwMfKto 5Ea0zXJ8H7kSWkUOfQNOHQj7mSEhgQJASQT/Sj74Rzg3ZdxX2iUCeTP616H+GvJQ EQJ67PBUKlZXpzviuTVcKdzPfWkpzNrJbJ0K+LynQf4g8IHon2uaTQJAQYPLx9IJ OkWO4YVaAl3SOFV1sX0kVF/F5vMXsWnb989CRbsijSEc/k2LFjjgRRt1PIU5OgNk wlHmKJjbetEdow== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031501 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtZmFzMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtZmFzMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAJPr/Xf+v1zXuNxKZq6PmsIbosxI0SzTywF/GPzd 17DYeC2iDsSPkybIpSACC3e/GDKvXrh7uCXZM/jOyHpvyHgMFwi3lvtRajTQNEog YjZ853np06uFWycJDqhQYOx+EHDYLBhq44JTvVtiCFMrICogNAXvA2bzZyrlCory 8phhAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQCJiSzbL1ob8YpWP4StDyogmhci YgauUdrKoW0jGwhtMTN4tfzLLjiJvNjr3Vzjq3mu7HhQfwenBXcEm38EUb/zeZ3P Jb2B7L2vkFC9CQmUKPSYyoblUcjHVN8yjczc+kcurQUmZmeJMqj4/c9yGWR2xhat ohDvW9cAj3bKFj3auw== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001004212207656441031730 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 39 (0x27) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fas-fas01.stg.phx2.fedoraproject.org/name=fas-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:cf:e4:45:2a:19:69:c2:49:0d:e9:72:f1:e9:3c: 1c:a7:c5:34:e7:9a:d2:af:41:f4:dd:39:f6:8e:de: 63:60:e6:32:fe:33:bd:c0:c7:e3:ba:cb:6d:d5:b6: ac:50:54:8d:fc:2c:16:87:68:c2:d1:c1:92:f1:b6: 55:07:77:9f:d2:32:86:cc:c5:d3:76:8e:c8:ba:e5: 67:69:f3:98:2a:3e:7e:52:39:0d:29:13:0e:85:53: 0f:33:1b:1f:33:7f:3f:ea:e6:ab:03:18:b8:fe:5e: 6f:c7:2d:ff:0c:dd:b0:54:bb:1c:aa:bb:b5:2f:7c: 1b:16:5e:bc:04:9e:fd:2b:03 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 45:B5:AE:95:07:F6:A4:6F:E9:BF:47:48:95:BE:12:4B:9F:6F:24:67 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 4b:83:e1:91:44:dc:e0:74:c3:71:b5:85:33:e2:17:b6:b8:aa: a1:a7:e3:22:54:6d:76:f9:5c:f7:8a:4f:77:10:f6:51:90:e4: 3f:e8:1d:b1:2f:63:79:5e:46:ea:af:ef:be:46:5b:af:3c:4e: a9:15:2f:ac:23:89:20:74:f2:1e:e4:02:cc:5a:a8:be:08:c2: c7:b9:f4:42:8b:c9:e4:a4:3e:13:c8:41:bc:b9:4e:37:22:e0: 09:cb:c7:ab:56:26:c2:20:51:97:2b:06:ed:a3:e0:f8:b1:ea: 17:c1:00:21:b0:18:15:64:cf:68:0c:a9:a0:bc:45:c1:2c:4c: c1:49 -----BEGIN CERTIFICATE----- MIIETTCCA7agAwIBAgIBJzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB3DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS0wKwYDVQQDEyRmYXMtZmFzMDEu c3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxLTArBgNVBCkTJGZhcy1mYXMwMS5z dGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5A ZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM/k RSoZacJJDely8ek8HKfFNOea0q9B9N059o7eY2DmMv4zvcDH47rLbdW2rFBUjfws FodowtHBkvG2VQd3n9IyhszF03aOyLrlZ2nzmCo+flI5DSkTDoVTDzMbHzN/P+rm qwMYuP5eb8ct/wzdsFS7HKq7tS98GxZevASe/SsDAgMBAAGjggFXMIIBUzAJBgNV HRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2VydGlm aWNhdGUwHQYDVR0OBBYEFEW1rpUH9qRv6b9HSJW+EkufbyRnMIHVBgNVHSMEgc0w gcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZlZG9yYSBQ cm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEPMA0GA1UE KRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9y Z4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDAN BgkqhkiG9w0BAQUFAAOBgQBLg+GRRNzgdMNxtYUz4he2uKqhp+MiVG12+Vz3ik93 EPZRkOQ/6B2xL2N5Xkbqr+++RluvPE6pFS+sI4kgdPIe5ALMWqi+CMLHufRCi8nk pD4TyEG8uU43IuAJy8erVibCIFGXKwbto+D4seoXwQAhsBgVZM9oDKmgvEXBLEzB SQ== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/02.pem0000644000175000017500000000766112207656441023406 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 2 (0x2) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=dummy-revoked/name=dummy-revoked/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:af:fa:8b:29:48:86:3c:1e:66:01:5d:f9:50:97: 0b:3a:31:f6:16:00:ab:9a:61:b6:36:19:3e:e3:7a: 75:36:da:d6:c4:70:41:31:03:9d:17:9d:8d:5d:fa: c7:e6:06:2e:45:62:f0:82:72:10:98:a9:2b:2e:cb: fb:4e:7a:cc:50:e5:5c:50:57:01:0c:41:66:07:b7: 06:6f:e4:0b:13:dd:b3:ce:d2:8c:2c:d9:c3:1d:a4: 22:51:ab:cd:47:7f:5b:35:32:b0:6f:45:01:f5:da: 78:8d:f9:7b:6f:c1:81:f1:a6:40:49:6e:26:c1:d7: a8:bd:1e:fb:0c:60:11:df:8f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 2D:7E:F4:ED:38:1E:85:3B:D6:28:61:93:AE:D4:39:FC:44:21:72:ED X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 30:70:4e:0b:c2:3e:07:7f:a2:f7:cb:55:ac:a3:89:06:4f:cc: 47:ff:a5:fa:6b:4f:9d:58:2b:72:3f:db:72:6b:7a:2f:dc:82: 0f:a4:17:23:be:26:86:5e:3d:87:f6:1b:db:16:87:81:ae:08: c7:37:d7:0b:6b:7f:4f:b5:53:24:4d:0a:ab:53:1c:66:a7:92: c7:4a:8b:cd:8c:f0:c2:5f:78:d0:21:37:30:b7:02:e8:3d:03: 10:e0:c4:7d:c5:f9:da:7f:23:66:e6:92:80:3b:63:73:c2:9e: 90:89:c7:14:cc:6a:5c:b1:1b:df:ed:02:99:59:f2:6e:32:f4: d5:17 -----BEGIN CERTIFICATE----- MIIEHzCCA4igAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCBrjELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMRYwFAYDVQQDEw1kdW1teS1yZXZv a2VkMRYwFAYDVQQpEw1kdW1teS1yZXZva2VkMSYwJAYJKoZIhvcNAQkBFhdhZG1p bkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA r/qLKUiGPB5mAV35UJcLOjH2FgCrmmG2Nhk+43p1NtrWxHBBMQOdF52NXfrH5gYu RWLwgnIQmKkrLsv7TnrMUOVcUFcBDEFmB7cGb+QLE92zztKMLNnDHaQiUavNR39b NTKwb0UB9dp4jfl7b8GB8aZASW4mwdeovR77DGAR348CAwEAAaOCAVcwggFTMAkG A1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0 aWZpY2F0ZTAdBgNVHQ4EFgQULX707TgehTvWKGGTrtQ5/EQhcu0wgdUGA1UdIwSB zTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3Jh IFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYD VQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qu b3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeA MA0GCSqGSIb3DQEBBQUAA4GBADBwTgvCPgd/ovfLVayjiQZPzEf/pfprT51YK3I/ 23Jrei/cgg+kFyO+JoZePYf2G9sWh4GuCMc31wtrf0+1UyRNCqtTHGanksdKi82M 8MJfeNAhNzC3Aug9AxDgxH3F+dp/I2bmkoA7Y3PCnpCJxxTMalyxG9/tAplZ8m4y 9NUX -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/09.pem0000644000175000017500000001002312207656441023377 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 9 (0x9) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app07.phx2.fedoraproject.org/name=shell-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c5:ad:18:17:6a:54:2a:15:7e:b0:4e:7c:e0:62: 13:ed:f6:5a:be:3e:27:a0:92:7e:23:d3:61:40:51: 7b:91:79:94:bd:7a:78:f0:10:30:98:d4:5f:38:77: 05:9d:b9:57:58:89:bc:72:e6:6d:55:a8:a3:01:43: 7b:45:62:9a:54:ef:4f:1c:c3:80:6c:c0:6c:95:87: 67:28:49:77:d1:bf:64:04:2a:14:88:c8:12:9b:7f: cd:41:0b:39:79:be:06:59:1e:3a:7c:6d:4f:81:9e: 21:6b:a6:be:cd:91:94:e7:da:d2:e8:eb:f6:37:d4: ff:94:fb:5b:5c:3e:55:7d:3d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: F5:F5:64:4B:7F:89:86:9C:2A:28:5A:36:B4:C3:CB:55:87:B2:C4:C8 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption e4:cd:1f:e4:c3:ac:2c:2b:6d:a4:35:96:5d:10:94:b7:c1:be: 5d:ba:6d:f1:ec:e2:6b:4c:a9:83:3e:52:23:f0:9a:74:8b:53: 7c:fc:36:bd:74:91:47:89:f1:4e:34:83:b4:ed:57:5b:b3:ba: 45:db:33:a9:4b:8a:88:e7:30:4d:cd:75:43:40:81:87:9d:af: fd:1f:10:4e:57:f6:82:e8:86:18:27:24:74:f8:60:7e:9c:90: 99:9d:13:56:97:f0:a9:87:7e:eb:39:31:ab:af:54:54:e5:73: 38:88:fe:80:74:cf:73:43:c2:ce:46:43:25:ec:99:6d:f0:63: 91:1c -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBCTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw Ny5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxa0YF2pU KhV+sE584GIT7fZavj4noJJ+I9NhQFF7kXmUvXp48BAwmNRfOHcFnblXWIm8cuZt VaijAUN7RWKaVO9PHMOAbMBslYdnKEl30b9kBCoUiMgSm3/NQQs5eb4GWR46fG1P gZ4ha6a+zZGU59rS6Ov2N9T/lPtbXD5VfT0CAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU9fVkS3+JhpwqKFo2tMPLVYeyxMgwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAOTNH+TDrCwrbaQ1ll0QlLfBvl26bfHs4mtMqYM+UiPwmnSL U3z8Nr10kUeJ8U40g7TtV1uzukXbM6lLiojnME3NdUNAgYedr/0fEE5X9oLohhgn JHT4YH6ckJmdE1aX8KmHfus5MauvVFTlcziI/oB0z3NDws5GQyXsmW3wY5Ec -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/10.pem0000644000175000017500000001006012207656441023370 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 16 (0x10) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-packages02.phx2.fedoraproject.org/name=shell-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c1:5d:b2:f3:e1:95:08:73:5c:1d:84:e4:6a:f7: c6:b6:15:ce:f0:ce:a7:18:72:fe:43:0f:50:28:6c: 97:e6:b2:cd:47:86:a7:ad:95:74:a7:c8:c1:23:29: 6e:6a:75:61:a4:be:62:80:a6:fe:54:2a:8a:b4:13: 16:56:af:8b:56:c0:c2:a5:49:10:86:be:be:23:26: 5c:7e:b9:6d:3d:8e:d9:a1:be:5d:11:56:d7:62:a6: e5:57:4a:2d:f7:0e:ae:bf:52:a8:65:ac:6f:38:f3: d3:c9:e6:12:ad:ff:b5:d2:46:0b:7d:df:50:cb:01: 84:9e:13:1d:07:32:11:a2:57 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A5:84:96:52:F0:B2:05:0D:EC:6C:E0:3C:25:4F:DB:1B:7D:CD:E6:94 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 6b:09:ad:38:0a:1c:00:ce:d5:0a:85:29:86:48:34:ed:20:9a: 53:d2:6e:58:8d:e5:4d:28:60:64:30:be:91:54:14:69:de:1c: 8b:96:c7:c9:ef:63:f5:00:75:57:f5:0b:63:a8:49:86:59:ae: 7c:ab:4b:fa:1a:0b:72:ae:d6:c4:28:b1:d7:12:11:34:e5:a1: 69:fe:a3:e7:0b:23:72:ba:07:9a:23:48:39:5a:b3:63:21:0b: 13:3e:06:f4:f2:30:65:78:b4:43:e7:2e:31:85:d3:df:71:b6: dd:b4:f8:7d:25:1c:f2:55:bd:e4:b2:48:64:48:b8:c9:54:3f: b8:ee -----BEGIN CERTIFICATE----- MIIEUzCCA7ygAwIBAgIBEDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTAwLgYDVQQDEydzaGVsbC1wYWNr YWdlczAyLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMDAuBgNVBCkTJ3NoZWxsLXBh Y2thZ2VzMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYX YWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMFdsvPhlQhzXB2E5Gr3xrYVzvDOpxhy/kMPUChsl+ayzUeGp62VdKfIwSMp bmp1YaS+YoCm/lQqirQTFlavi1bAwqVJEIa+viMmXH65bT2O2aG+XRFW12Km5VdK LfcOrr9SqGWsbzjz08nmEq3/tdJGC33fUMsBhJ4THQcyEaJXAgMBAAGjggFXMIIB UzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQg Q2VydGlmaWNhdGUwHQYDVR0OBBYEFKWEllLwsgUN7GzgPCVP2xt9zeaUMIHVBgNV HSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQG EwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZl ZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEP MA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9q ZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE AwIHgDANBgkqhkiG9w0BAQUFAAOBgQBrCa04ChwAztUKhSmGSDTtIJpT0m5YjeVN KGBkML6RVBRp3hyLlsfJ72P1AHVX9QtjqEmGWa58q0v6GgtyrtbEKLHXEhE05aFp /qPnCyNyugeaI0g5WrNjIQsTPgb08jBleLRD5y4xhdPfcbbdtPh9JRzyVb3kskhk SLjJVD+47g== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0B.pem0000644000175000017500000001005112207656441023411 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 11 (0xb) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app02.stg.phx2.fedoraproject.org/name=shell-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:a5:a2:48:b0:70:f9:84:9e:89:f1:fd:d1:a2:0b: 0b:bd:ea:0f:e1:fa:e3:a2:3f:b5:0d:77:e2:96:38: 41:cf:7b:be:98:fd:3c:ad:3c:f8:d0:f8:0e:ef:91: 30:b0:d4:b7:cd:b5:d2:36:1a:a7:17:65:a5:0a:78: fd:8c:6f:df:f5:04:4c:83:85:d7:25:34:c1:b1:ec: 2c:31:06:32:1c:ca:88:d5:6e:b1:15:b0:a7:8e:61: 06:f8:18:81:79:19:85:03:56:27:6c:85:98:8a:26: 7c:b3:8e:b3:f2:d6:e9:85:87:a4:29:df:45:d9:5b: 2c:86:81:c3:4b:e8:1a:c5:2b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 0E:91:E8:05:7B:09:E6:BD:10:83:D3:49:6A:F6:0C:C5:78:47:50:27 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 9b:4e:d3:49:45:7f:8e:d0:50:22:eb:3e:11:b4:b8:dd:05:cc: 07:98:ef:e7:66:0f:9d:b9:a0:7c:8d:9f:f0:b4:61:4a:95:d5: ec:35:3c:4f:f9:8d:d1:a6:bb:12:2c:ff:70:f4:35:45:62:1f: b8:cb:bc:bf:b2:8e:c1:fa:80:5d:32:cd:31:8d:48:2c:5b:83: 76:23:ea:66:35:36:f1:9c:23:e1:9f:81:f2:c4:ad:12:1b:58: 76:14:16:22:5f:47:f7:2d:44:f7:38:4a:2a:cf:92:db:ff:1e: c6:be:9e:d9:89:96:a1:ca:b6:1d:b7:87:58:f0:cc:e1:75:e1: 37:73 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBCzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1hcHAw Mi5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtYXBw MDIuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQClokiwcPmEnonx/dGiCwu96g/h+uOiP7UNd+KWOEHPe76Y/TytPPjQ+A7vkTCw 1LfNtdI2GqcXZaUKeP2Mb9/1BEyDhdclNMGx7CwxBjIcyojVbrEVsKeOYQb4GIF5 GYUDVidshZiKJnyzjrPy1umFh6Qp30XZWyyGgcNL6BrFKwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQOkegFewnmvRCD00lq9gzFeEdQJzCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAm07TSUV/jtBQIus+EbS43QXMB5jv52YPnbmg fI2f8LRhSpXV7DU8T/mN0aa7Eiz/cPQ1RWIfuMu8v7KOwfqAXTLNMY1ILFuDdiPq ZjU28Zwj4Z+B8sStEhtYdhQWIl9H9y1E9zhKKs+S2/8exr6e2YmWocq2HbeHWPDM 4XXhN3M= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/04.pem0000644000175000017500000001002312207656441023372 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 4 (0x4) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app02.phx2.fedoraproject.org/name=shell-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ac:a0:3c:f8:e5:f7:d7:53:87:11:44:26:fb:e6: e3:d2:eb:cc:7d:a7:86:bd:29:b9:a8:e4:6f:bf:e9: a4:4f:aa:d5:3f:01:4f:90:b7:1b:a2:a1:ad:0b:43: 48:90:24:6b:42:33:af:ae:9c:4f:6a:a9:98:b6:e5: 5d:0d:99:c8:df:d7:3e:8c:02:aa:b5:5a:d2:38:2b: 5a:97:00:c2:b7:e7:85:ec:0c:61:1d:d0:69:3e:b3: bc:69:f4:11:d7:7e:65:47:b4:08:36:51:0e:8f:ac: 91:9c:38:81:3a:b1:2c:f9:d9:1f:4a:12:2a:46:9d: e3:3b:a1:c4:30:bc:57:cd:bf Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A0:9C:FA:C6:03:D5:A1:F5:76:BA:2D:74:EF:1D:32:6C:51:77:CB:54 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 66:e6:c2:3e:d8:61:c8:17:ac:90:64:8d:5c:98:87:ac:ba:4c: 6d:e9:f5:36:6e:6c:a1:88:b0:91:db:f0:f7:a6:4a:b8:3a:cd: 00:c9:02:d6:e3:f6:98:d6:95:e4:a9:95:27:6f:7a:50:e6:3f: 5a:4b:4e:3d:b1:56:eb:c8:a9:09:81:9a:61:73:67:ab:d1:3c: 86:22:31:e9:1d:28:87:90:c8:d4:9f:93:e1:07:de:17:ef:54: 4b:70:73:4a:94:91:9e:0b:b7:41:86:25:8e:bb:13:d3:d8:03: e3:a5:71:b3:eb:27:cc:2b:52:12:b0:a5:46:27:01:58:49:b0: 77:17 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw Mi5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwMi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArKA8+OX3 11OHEUQm++bj0uvMfaeGvSm5qORvv+mkT6rVPwFPkLcboqGtC0NIkCRrQjOvrpxP aqmYtuVdDZnI39c+jAKqtVrSOCtalwDCt+eF7AxhHdBpPrO8afQR135lR7QINlEO j6yRnDiBOrEs+dkfShIqRp3jO6HEMLxXzb8CAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUoJz6xgPVofV2ui107x0ybFF3y1QwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAGbmwj7YYcgXrJBkjVyYh6y6TG3p9TZubKGIsJHb8PemSrg6 zQDJAtbj9pjWleSplSdvelDmP1pLTj2xVuvIqQmBmmFzZ6vRPIYiMekdKIeQyNSf k+EH3hfvVEtwc0qUkZ4Lt0GGJY67E9PYA+OlcbPrJ8wrUhKwpUYnAVhJsHcX -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/scm-pkgs01.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031337 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 44 (0x2c) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=scm-pkgs01.phx2.fedoraproject.org/name=scm-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:e0:3a:03:28:47:ce:e4:cc:da:67:55:cd:e4:b4: 93:43:69:a8:d5:6e:06:a1:7f:a5:e1:56:40:ef:84: 9d:62:ab:e4:0c:d0:01:ec:c1:60:66:55:ba:12:28: 74:92:82:62:28:cb:11:7b:56:38:7e:fe:91:75:06: e7:4e:56:c4:1c:01:cf:25:2c:54:cf:68:5a:c9:02: 6b:10:46:79:65:30:1d:76:e1:5d:e1:79:6b:7b:ef: dd:09:d8:c1:8a:0d:10:f8:7d:2d:e9:0b:bc:67:a7: 25:55:ad:f0:3c:6f:09:61:a1:b9:e8:29:4a:65:d1: f4:ac:80:45:d7:39:2b:8b:cf Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 1E:CA:5C:34:1E:F1:2E:A1:94:37:14:01:10:43:9A:17:DF:38:7C:01 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 29:b1:60:50:bc:5f:cc:3c:11:a1:c5:64:eb:e1:df:59:c7:fc: ba:dd:37:9c:51:0e:c8:0c:b6:ce:52:37:6a:f5:8b:9b:cd:36: 1a:84:ad:65:64:dd:32:24:f9:f1:91:c9:63:76:f5:ee:52:19: 3f:af:44:a2:c4:3c:69:2e:20:31:85:97:81:ae:71:b9:f5:e2: 46:82:71:8d:4d:f4:20:6e:8f:6c:5b:04:2e:74:b4:24:1e:c2: 62:d9:7d:b5:14:cd:0f:b8:3d:af:be:49:b9:6d:67:25:0b:06: 63:dd:9e:de:16:e8:9e:99:0e:8f:38:0e:6b:2d:1d:11:46:e5: c2:2a -----BEGIN CERTIFICATE----- MIIERzCCA7CgAwIBAgIBLDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB1jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSowKAYDVQQDEyFzY20tcGtnczAx LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxKjAoBgNVBCkTIXNjbS1wa2dzMDEucGh4 Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3Jh cHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOA6AyhHzuTM 2mdVzeS0k0NpqNVuBqF/peFWQO+EnWKr5AzQAezBYGZVuhIodJKCYijLEXtWOH7+ kXUG505WxBwBzyUsVM9oWskCaxBGeWUwHXbhXeF5a3vv3QnYwYoNEPh9LekLvGen JVWt8DxvCWGhuegpSmXR9KyARdc5K4vPAgMBAAGjggFXMIIBUzAJBgNVHRMEAjAA MC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw HQYDVR0OBBYEFB7KXDQe8S6hlDcUARBDmhffOHwBMIHVBgNVHSMEgc0wgcqAFACY pdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZlZG9yYSBQcm9qZWN0 MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEPMA0GA1UEKRMGZmVk bXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZ4IJAI7r KNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDANBgkqhkiG 9w0BAQUFAAOBgQApsWBQvF/MPBGhxWTr4d9Zx/y63TecUQ7IDLbOUjdq9YubzTYa hK1lZN0yJPnxkcljdvXuUhk/r0SixDxpLiAxhZeBrnG59eJGgnGNTfQgbo9sWwQu dLQkHsJi2X21FM0PuD2vvkm5bWclCwZj3Z7eFuiemQ6POA5rLR0RRuXCKg== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/16.pem0000644000175000017500000001002512207656441023377 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 22 (0x16) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app03.phx2.fedoraproject.org/name=bodhi-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d5:e6:d7:7e:b7:28:5a:b7:95:b9:9f:b8:a2:70: 67:03:18:41:ed:2d:eb:0c:63:1d:d2:13:3f:26:7b: 25:b8:44:20:4c:57:0f:8f:c6:9e:ca:ac:fa:8f:e3: 98:ec:74:2a:42:51:73:88:e3:47:6e:b2:4a:e0:64: a0:69:06:b9:3c:d3:c5:7a:bb:14:c1:42:3d:93:68: 55:84:b4:55:c1:fb:dd:e9:60:22:08:39:30:1d:14: 07:01:30:25:71:80:ab:85:9b:88:0a:86:0f:09:01: 0e:54:b4:09:90:47:44:8b:ef:2d:ca:58:65:f7:eb: 62:0f:ac:29:37:67:e1:5f:17 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A1:41:27:47:9A:DA:D7:92:A1:10:AB:68:5B:5B:90:9F:6A:8C:8A:D1 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 61:80:ed:85:75:7a:87:8e:62:f8:37:8c:68:58:1f:bb:02:67: de:bc:b5:1b:fe:88:b6:18:12:97:eb:17:91:10:10:83:07:4b: 6d:52:87:dd:6f:64:dd:a9:c0:49:15:35:e9:e5:d4:6d:be:2b: f5:3b:4a:a4:e0:af:16:04:e7:2a:fe:66:e5:81:1a:95:3e:76: 24:8e:35:6d:73:a3:6c:b7:c0:74:dd:04:02:53:81:cc:94:c3: 03:0a:c7:ad:eb:d0:97:91:ab:08:83:85:7f:d3:ee:f1:d5:19: 4b:f1:14:2f:56:d4:f5:5d:96:33:87:19:ab:7b:09:f1:1b:33: c0:58 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw My5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwMy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1ebXfrco WreVuZ+4onBnAxhB7S3rDGMd0hM/JnsluEQgTFcPj8aeyqz6j+OY7HQqQlFziONH brJK4GSgaQa5PNPFersUwUI9k2hVhLRVwfvd6WAiCDkwHRQHATAlcYCrhZuICoYP CQEOVLQJkEdEi+8tylhl9+tiD6wpN2fhXxcCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUoUEnR5ra15KhEKtoW1uQn2qMitEwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAGGA7YV1eoeOYvg3jGhYH7sCZ968tRv+iLYYEpfrF5EQEIMH S21Sh91vZN2pwEkVNenl1G2+K/U7SqTgrxYE5yr+ZuWBGpU+diSONW1zo2y3wHTd BAJTgcyUwwMKx63r0JeRqwiDhX/T7vHVGUvxFC9W1PVdljOHGat7CfEbM8BY -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app02.stg.phx2.fedoraproject.org.key0000644000175000017500000000162012207656441032256 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMRlP9iM6DXd8AhW fW42zZE5gHd8AGReC8ODgQROEo/dl1QO3CXNVZ/Ms2QCdRDJCrmg9faztqDE3iYg 537iksKUqSVfonGd/ARBOeB1pQfuASGySu6qmRy+9DHSML+6CyOpnlQDnTXCyWwV P4k3knJK2Ifl60VVlJb6xB2fsfkvAgMBAAECgYAwJe5wJaNsSVvmf2XC1naxStqe 8GycLp5NsXi42HcehCHsfrQkJGIAikvUkfGnStJxTe/fKpH0ei9IQ7rdVajK03lK yIKHTT6q2zRKrPBJQgPT4ByukYcQH0Z24K97o0tM9ONhtTn8LjNYWisIYJBX22Dh h+Ng02+oOXTEC8xDUQJBAOM47sFesnlyabs5zZc/mYHiBnA24Cf/XS3S6vsVtily QjGLcbZoc1CIPyH3sDtBt5d+LLu86YooIaHBGAS7QqkCQQDdRNbANqcKDpCx1JPo oED95MrcGLLHaAawDBEssYWkDX4O7LbblzyWfpLZ9N/T0UGgx2eo/tmfaIMo+R6M QJwXAkBhk+F0SSZ74RZmwLv5Z+aUUGxTZD1+77skIp+mk/xWcCrc+/UpUFG1E82I 2MVlrSMae6TaOpZQLkvDGxklbwWBAkB9kADllp33wQgvQdilW7tF2L2dZI6fRdL1 uANO/3Y9AEMWqRGjTxFcvXsMID+b7dV2LXIPnn9UTHSRnbzODiQFAkA5rl+Ldf+e w+FNWGTVnLT/Rf4zyIOFw4lza544iITUJ+a0xMG8V54wym+02f4PrHiHWzzxDg2X SlyT488WVxZl -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/29.pem0000644000175000017500000001011612207656441023404 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 41 (0x29) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedoratagger-packages01.phx2.fedoraproject.org/name=fedoratagger-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:f2:0f:0a:65:78:33:21:ad:bb:46:88:48:79:c1: b3:4d:df:fa:99:27:15:7d:b6:7b:a6:b4:b3:87:a7: ea:26:6c:f0:5d:e0:cf:a3:1b:c7:f3:fa:64:d4:76: 96:b3:d8:83:e0:4c:91:5e:70:2d:73:27:92:2a:24: 3e:f2:48:05:6f:1e:f4:ac:d6:dc:dc:f9:1c:e5:b7: fe:ca:0a:09:e6:0b:1d:a3:f4:8e:48:e9:3e:5c:27: 01:bc:69:de:5b:dd:28:5b:39:29:03:97:96:12:e0: 0b:e7:6a:e3:37:f6:db:d2:b7:48:24:10:62:45:02: 6f:a8:b9:67:31:4c:94:74:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 16:2E:F4:F6:8B:ED:79:92:67:17:B1:CC:B6:A7:23:68:CF:AE:F4:D5 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 5a:d2:87:48:3b:ee:a4:3e:d5:7b:85:40:18:ea:cb:0d:04:f8: 53:30:bb:57:1a:47:9d:84:ff:03:de:ee:4a:ef:b1:1a:d8:bd: 8d:37:84:80:fd:88:37:3d:e1:68:2a:f0:c6:14:02:58:d6:ea: 38:84:e3:0e:9e:24:1e:2a:70:b3:e9:c8:25:8e:ca:50:d6:69: ac:26:49:34:3b:d6:e6:b7:9f:8d:e0:bd:75:75:30:a4:29:04: 0c:4b:15:15:23:f2:be:b9:c9:90:63:dc:3c:54:ce:67:e6:5c: cc:cc:51:ca:d4:05:77:32:84:3f:10:0b:f3:fa:b4:13:ec:73: fc:0f -----BEGIN CERTIFICATE----- MIIEYTCCA8qgAwIBAgIBKTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB8DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTcwNQYDVQQDEy5mZWRvcmF0YWdn ZXItcGFja2FnZXMwMS5waHgyLmZlZG9yYXByb2plY3Qub3JnMTcwNQYDVQQpEy5m ZWRvcmF0YWdnZXItcGFja2FnZXMwMS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYw JAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEA8g8KZXgzIa27RohIecGzTd/6mScVfbZ7prSzh6fq JmzwXeDPoxvH8/pk1HaWs9iD4EyRXnAtcyeSKiQ+8kgFbx70rNbc3Pkc5bf+ygoJ 5gsdo/SOSOk+XCcBvGneW90oWzkpA5eWEuAL52rjN/bb0rdIJBBiRQJvqLlnMUyU dC0CAwEAAaOCAVcwggFTMAkGA1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3kt UlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUFi709ovteZJnF7HM tqcjaM+u9NUwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaak gaMwgaAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWln aDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0G A1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYB BQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAFrSh0g77qQ+1XuF QBjqyw0E+FMwu1caR52E/wPe7krvsRrYvY03hID9iDc94Wgq8MYUAljW6jiE4w6e JB4qcLPpyCWOylDWaawmSTQ71ua3n43gvXV1MKQpBAxLFRUj8r65yZBj3DxUzmfm XMzMUcrUBXcyhD8QC/P6tBPsc/wP -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/dummy-revoked.csr0000644000175000017500000000135512207656441025755 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIIB7zCCAVgCAQAwga4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEWMBQGA1UEAxMNZHVtbXktcmV2b2tlZDEWMBQGA1UEKRMNZHVtbXktcmV2 b2tlZDEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8w DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK/6iylIhjweZgFd+VCXCzox9hYAq5ph tjYZPuN6dTba1sRwQTEDnRedjV36x+YGLkVi8IJyEJipKy7L+056zFDlXFBXAQxB Zge3Bm/kCxPds87SjCzZwx2kIlGrzUd/WzUysG9FAfXaeI35e2/BgfGmQEluJsHX qL0e+wxgEd+PAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQBh+kBr6szmOw+lh1jJ x+AR1onj+9x9VGK1pOeMjRiaa6TENcrRdhdysWyQxlL4Hoe+r4BNR5jrLS8L3hYh gdqWjJ66US9GBTY/KvA02193FFp4NixccsmabeH7iCsASKg5RtCVh6Dkr2KrVtkL 8IFfybYD8v/vHTUr29Nyi9O7Lg== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages01.phx2.fedoraproject.org.csr0000644000175000017500000000150612207656441034026 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICMTCCAZoCAQAwgfAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzE3MDUGA1UEAxMuZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDEucGh4Mi5mZWRv cmFwcm9qZWN0Lm9yZzE3MDUGA1UEKRMuZmVkb3JhdGFnZ2VyLXBhY2thZ2VzMDEu cGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVk b3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAPIPCmV4 MyGtu0aISHnBs03f+pknFX22e6a0s4en6iZs8F3gz6Mbx/P6ZNR2lrPYg+BMkV5w LXMnkiokPvJIBW8e9KzW3Nz5HOW3/soKCeYLHaP0jkjpPlwnAbxp3lvdKFs5KQOX lhLgC+dq4zf229K3SCQQYkUCb6i5ZzFMlHQtAgMBAAGgADANBgkqhkiG9w0BAQUF AAOBgQBLZpfzte7U2R6ylshxePsgZywAiypwl+6O6WRrJuDzPMrpgR62kw0jQDEU rChf7kr6y3ZgTjE90fjawEANYNRs+G+pW3xQ1EuEdr3NQ+bvE+DHQGx5L1VlICea wptU57C0jfH2zOzMciURKwz/8M8HmVF1GTF6YKH+CywBpEBi2w== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app01.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031510 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMldMnb56KSE5hbNJH6ZaCo+p1tPwjs6dKw8ML7l mRdig3ZdQHkVs37KTkDliCuVfqNqsWAOrWoiuGz38pWC9SBiMJVT/Zmuc8JEb1pH rVoxjkaeQe4O6BAkDgaN4J0LdFH+U1gENelp9GwqyEEqjllSknCvb1JP6KJlJQGW 5LBHAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQA7DT3kL3icRibh+nGPd14lJHub 4C2xxShBZbRljdQHFa+s0Jc/br8sikMFTDrDkBJeqPqKA5gTlTR2gr9re7lo+V8S eqZGhWNQzY0/7Z9rL48vMJk4MgySlQ6bJMAihrys8V1krOnfY2SgZV6Gvka5wsru EdPZXY9ItAmKhZGl6g== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app06.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031465 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 25 (0x19) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app06.phx2.fedoraproject.org/name=bodhi-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b5:fc:9a:da:08:04:27:9e:c8:11:f3:fb:a0:20: bb:41:2a:91:e2:a6:48:f7:27:ab:d8:f8:a1:cd:8b: b3:d6:1d:ce:8d:d3:7e:9d:71:4f:65:ce:7b:c1:b0: 49:8a:33:87:58:c7:1b:29:5c:2d:0e:d2:fb:9d:7a: 41:90:99:15:a7:3a:f7:6f:64:7a:a9:75:e7:27:33: f9:42:30:99:c5:64:c7:e3:9e:65:d2:f8:fa:33:b6: 71:39:64:b9:2b:e1:3e:51:71:37:ea:b3:a5:c1:25: 41:dc:8d:41:c0:4f:f8:07:0c:90:8a:d4:87:63:eb: 45:f6:a2:5c:e5:78:0c:59:ab Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 03:B9:F9:5C:00:5B:75:A4:26:CD:A7:4E:4B:B0:50:D7:BE:01:06:F8 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption be:8f:ec:83:41:35:69:9d:45:82:1b:c6:83:3f:b1:24:1a:1a: 1b:8a:ca:bf:35:95:42:62:08:d3:04:62:08:e2:ed:fe:d3:72: a6:12:0d:75:95:ec:ff:1d:1c:3e:77:cc:54:17:76:19:e5:06: 47:51:a7:83:11:49:ba:29:58:eb:31:b7:06:1c:d3:7b:42:71: 23:c0:40:27:90:1c:ed:62:58:ca:f4:76:2d:f4:40:f9:3d:0b: 64:71:17:53:a8:ab:13:40:f3:c7:61:2b:3b:b4:38:be:4d:1b: 69:60:17:16:d2:63:f5:b7:6d:01:15:99:02:d5:60:ae:6a:a4: 9e:e1 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBGTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw Ni5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtfya2ggE J57IEfP7oCC7QSqR4qZI9yer2PihzYuz1h3OjdN+nXFPZc57wbBJijOHWMcbKVwt DtL7nXpBkJkVpzr3b2R6qXXnJzP5QjCZxWTH455l0vj6M7ZxOWS5K+E+UXE36rOl wSVB3I1BwE/4BwyQitSHY+tF9qJc5XgMWasCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUA7n5XABbdaQmzadOS7BQ174BBvgwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAL6P7INBNWmdRYIbxoM/sSQaGhuKyr81lUJiCNMEYgji7f7T cqYSDXWV7P8dHD53zFQXdhnlBkdRp4MRSbopWOsxtwYc03tCcSPAQCeQHO1iWMr0 di30QPk9C2RxF1OoqxNA88dhKzu0OL5NG2lgFxbSY/W3bQEVmQLVYK5qpJ7h -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app04.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031471 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDQucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDQucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAKrL/Pl9NdtrcTQ8GXztIQ3Yzo5KqrjheRgo8+AN Fr+jhhMQJNPNAtCSJ6eOqQj+T4vI1bSAO4wM+HyuKcK2/qgFpwK6DiAOJyQcGj2z FRnNsP0hsWrZ8+Xjl0nUhmtUSoMeXoUHx8R4g9FEipbkHM4coDaFeBdGwwZXtLNX ANaxAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQA8CrXG5lM+JfJMZJIbbn9OoCa8 ySBhVSR8JoklBoKq5p3lrizZt6UY6bzDQQVGxlxdXbQd+JxM7WEQ9SYS3Teub7mk Ow4ecQK4iWHzFerNkgb7YzWiPUYCZuPHxlLj0dDLgcnJhbAvhLAzcP3aZT3/5tv1 jEiRfPeXXn+Ox7ydyA== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app03.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032340 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 31 (0x1f) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app03.phx2.fedoraproject.org/name=mediawiki-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:cc:6e:6b:1a:e7:62:fe:80:1a:4f:a3:b3:60:0a: 6c:08:d1:86:97:10:cb:31:6f:ec:26:d8:f7:f7:33: 3c:0d:6c:cd:66:3d:b9:fa:6d:60:00:54:5b:3d:0c: fb:a3:0f:c5:6f:66:4a:4f:c7:20:28:f3:05:0e:b8: 7d:ca:29:c7:00:c8:17:17:7e:38:6b:75:00:73:34: 54:a9:5d:ac:c8:14:f7:c0:45:d8:14:f9:87:8c:68: ba:62:f5:bf:c9:47:74:53:4c:09:81:b2:f5:83:4a: 5c:8b:fb:90:6e:27:e2:c5:da:e0:43:9d:23:ad:5f: 79:40:09:d9:ea:85:5c:72:af Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: D9:AB:48:A4:29:FB:1D:27:9C:81:6A:3E:D1:6C:1A:90:22:A6:F5:20 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption e8:72:87:85:23:17:ca:18:ee:04:59:06:96:0d:25:3a:24:00: e3:b7:ae:c0:d4:94:4c:8d:3d:c1:60:a1:58:38:92:87:11:4e: e7:db:fa:14:ac:30:6e:4c:79:3e:e8:24:7a:5f:9b:84:bf:f0: ef:2f:6f:07:e2:eb:4a:b2:e9:98:d5:b2:29:ce:78:0d:8c:0d: 06:56:2a:eb:05:7e:ff:d1:7d:18:6a:4d:ad:ac:cd:24:b4:e6: f5:82:f6:5f:d4:2f:04:bc:75:4f:93:50:8a:b6:6d:f2:f9:1b: 18:10:b5:dd:a3:e8:75:c0:e9:aa:ea:07:14:bb:60:f6:ea:32: c3:90 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDMucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDAzLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDMbmsa52L+gBpPo7NgCmwI0YaXEMsxb+wm2Pf3MzwNbM1mPbn6bWAAVFs9DPuj D8VvZkpPxyAo8wUOuH3KKccAyBcXfjhrdQBzNFSpXazIFPfARdgU+YeMaLpi9b/J R3RTTAmBsvWDSlyL+5BuJ+LF2uBDnSOtX3lACdnqhVxyrwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBTZq0ikKfsdJ5yBaj7RbBqQIqb1IDCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA6HKHhSMXyhjuBFkGlg0lOiQA47euwNSUTI09 wWChWDiShxFO59v6FKwwbkx5Pugkel+bhL/w7y9vB+LrSrLpmNWyKc54DYwNBlYq 6wV+/9F9GGpNrazNJLTm9YL2X9QvBLx1T5NQirZt8vkbGBC13aPodcDpquoHFLtg 9uoyw5A= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-pkgs01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032467 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANsTLTV8HY/Dcu4W qSakYn32iEhmy/kLGOaiIBC6Vy0KMLgBsBUQHBTcbiyhArEd19fmGu1q6LXwAQSL 9vwtvPYpRBaKyLQQZK0ZmpPIgmgFBqk6dvToiNFaaN2DE2/ZoMyhw0AT5hi549Oi 5OxpgDBGZT7nPFfENMOZegtzFedbAgMBAAECgYALlSr5vfMuK65C6k3NLjnK4SL5 eP3lz/FkGERLvh5n0jcbM3Ok2XIypCjrESQ8SxCjaJYZ4WImZGcZX3ESijSIUjmv DNZVtQxtDZdfXwjhiIAY5+xPkkC4a0n5uKbKa3yUX6vb2anHOq2cL0+35XHQxQcn EUuNuUoL92WCaljjaQJBAPjGBOAweVv5OCZHDY8YBT7HSm21zaT+fxSMkZEfWgOh OOrfPPrmicYrmOIo9oWFGa888kmGcbNc7Q4b5j8zBbcCQQDhcE6BosERNI4kkurl GRL0Oq+NDW/GJD27rDLtQtZ/tGAzSky4F8yu8pssm85/5HbxmCYqHRwopmRwN9CL fMt9AkEAmxMtNOdir1+ijdHa9Ok/U8v9bHhZEdIHO7MIhtNpVDvq9BZmt+x/08WX jtuEGOVIhoFSc1zYgbualiH0HE9c7wJAaJUUJnmdfWDXLEpn5B4st9ZdyF7aYp4/ cUfiXEUsgxPnqQOn8aNA1kxABoLFWnlfYJbH5bOZc5Y1dAXAnmUndQJBAOJsrvVz EU/aQeBpFu8xM26u892zcJ+Lf4M6vW+yZ1ustRVrhs9Xga5k6NG3YF+3Ay5GG8D4 nP+2o1wNtJisgS8= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app05.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032347 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAPs9in9eg8GrR3Xt XAAJR6h8pJiISScm4eEYASh6hdJZPMMGNtxGYPh7Sb3lWa0Qibemtc+npO9HFp0y ylUMpmXgH5eIIzFgrJmsd94YiazuAUwpRuNdubm4tqQX1FU41yOJUlqaPhtwygLE faomNmxTCdzCy6aPWvQsCCYpji0zAgMBAAECgYA7+9p4RHmSoLEkD7Kac5y/NlsZ 69gDV/4v/sov/ui6awHd0jsA5nC6grz9cKezcTJgPZZE6NKxKjjU+U5jdey4Butt 7BI6WD9p7jvfNNPatqcwwnHbq4nvrIxNFei7RqUoFAve90TVT320pRiYcCaPHMVF MgZZCiuTDcEWfUAO4QJBAP8JZUknXEIb0J2FJdcwrt2SLlrgtM3j9pX2z5b9Pk1i lGU0JnK1OWa583ZwYtto2+Fh8hGC8KI2E6y6RH3J7pECQQD8MHl9ZfnCmsM9Wd5Q 1yjKbVOKp5dUurKenlyOwABNf959CmghhGP9OBfESeMaEFAKtNvdWgDNT9qA+IGL dgmDAkAq32B4eLZoopZiNITU9OkgdDd4rXeXeO/168Sf5Dh5981saeTguZhJrY7A 5UmpCqqT68wup21eR2rtSW7EGpMRAkEAmcx2SyOFzkjUCPZlvqd5GPrTmBvdDq9N f67Ug7pUdO8moNtX5hj3YdZzqCHnfl20ctMZw0TAeHXarAzh9EtoQQJALqKMBSS4 m1uoFkkJgUuaij+LkcfqM3HZ0D/f4j4Z4Lv3Eu+MumrJ+fw9LNohvKd1VS0nCNVM x2pTHPCBW7rgAg== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/1A.pem0000644000175000017500000001002512207656441023412 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 26 (0x1a) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app07.phx2.fedoraproject.org/name=bodhi-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b1:c9:1d:24:dd:fd:81:5d:ce:fb:30:d0:4f:d3: 4e:5a:5d:f7:1d:a6:db:9d:af:4e:e7:89:cb:83:dd: 22:c3:6b:4c:c6:2e:36:7e:8a:3e:50:e1:93:cc:c9: b2:fb:97:9d:82:b4:f7:45:d5:52:cc:fb:62:b6:b2: a3:bf:03:11:15:a9:76:44:d9:89:68:6b:d8:f9:bc: 52:54:81:47:9b:2b:d3:62:af:be:bd:16:da:09:a8: 30:0d:15:c6:fc:83:b9:c5:97:91:f9:c6:2a:93:02: 2c:d5:70:9d:83:20:07:d9:34:0e:de:dc:07:44:cd: b4:84:d3:cc:28:70:f2:88:8b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A1:DB:45:9B:BC:F2:0E:99:B9:E9:C9:67:95:B1:94:7A:F1:6A:C7:9A X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 59:c6:61:f6:ed:4c:81:e6:fc:da:e7:4b:42:f2:db:4a:a1:77: b4:31:ef:bf:93:e6:72:b7:6e:48:86:e9:98:36:ff:03:ad:4d: c8:51:db:39:66:86:66:dc:fe:63:86:66:86:d4:07:e5:49:4f: 15:f1:32:17:81:cd:15:b9:b7:66:f3:be:33:2a:28:a3:3a:94: 82:db:53:1b:f3:da:52:3b:84:35:06:a7:f4:f8:26:ff:9a:90: 9f:1d:b5:7c:79:82:09:76:53:82:a1:84:f2:33:72:05:89:46: df:75:b0:ba:ed:bc:2a:c5:a0:6b:29:80:df:24:1c:08:78:bd: 4e:bf -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBGjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw Ny5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsckdJN39 gV3O+zDQT9NOWl33Habbna9O54nLg90iw2tMxi42foo+UOGTzMmy+5edgrT3RdVS zPtitrKjvwMRFal2RNmJaGvY+bxSVIFHmyvTYq++vRbaCagwDRXG/IO5xZeR+cYq kwIs1XCdgyAH2TQO3twHRM20hNPMKHDyiIsCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUodtFm7zyDpm56clnlbGUevFqx5owgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAFnGYfbtTIHm/NrnS0Ly20qhd7Qx77+T5nK3bkiG6Zg2/wOt TchR2zlmhmbc/mOGZobUB+VJTxXxMheBzRW5t2bzvjMqKKM6lILbUxvz2lI7hDUG p/T4Jv+akJ8dtXx5ggl2U4KhhPIzcgWJRt91sLrtvCrFoGspgN8kHAh4vU6/ -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app07.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032353 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDA3LnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwNy5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAokukm8q80Dq8MMeHeS3fWxsIXo+1 HxOhLWV+J6fJP2XXpqFD28ScanFNZYiFFGXA8Pul0EommZ+C9fUGaFaG52dSkEDZ XBH3QMMXp6N9RaQJKauZnfA596IFLQg0xiIAsOYQyvmR5KcVGEYXwhwrvmy2oPeM ShkpI9VOioRhVlkCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBACZE/2yqDlBt+jx5 lfDi4sBG7P2KJ8DdOAoo//V2KX2IN0Zf9BhBRWByBdanKJmrPp1RjDE6t5pSsTZM y0Tqm4gnPGTsCQ/eQ+5Cj7CvC0Z2nnTr7ZQmK8R3RI41i5L8iRVjaEb7qcdwBhOJ SyqIxPeAYvqpVUkScHxAIdZw2SZ4 -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app05.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032351 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDA1LnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwNS5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+z2Kf16DwatHde1cAAlHqHykmIhJ Jybh4RgBKHqF0lk8wwY23EZg+HtJveVZrRCJt6a1z6ek70cWnTLKVQymZeAfl4gj MWCsmax33hiJrO4BTClG4125ubi2pBfUVTjXI4lSWpo+G3DKAsR9qiY2bFMJ3MLL po9a9CwIJimOLTMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBACwAIqA5+/gQOKk6 eUNEKQdqY6M15cFg2KTakgI7nYHTtlJLrzMvw7XngXcGT572638cGGM2GkPvhSBg 568TEqE2fkbKR0wxQD2fS+wOzAHtBLpjJWfK28/TzPw6XM5EFVLgZrIc08an7Nd5 HMbF1BhkHMt2Zvd7sXzTysSu+EQ2 -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app03.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031470 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDMucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDMucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBANXm1363KFq3lbmfuKJwZwMYQe0t6wxjHdITPyZ7 JbhEIExXD4/Gnsqs+o/jmOx0KkJRc4jjR26ySuBkoGkGuTzTxXq7FMFCPZNoVYS0 VcH73elgIgg5MB0UBwEwJXGAq4WbiAqGDwkBDlS0CZBHRIvvLcpYZffrYg+sKTdn 4V8XAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQACeDntrwbqeX3waVOyEhdUFv2h t1kwbmwoKddF7NN2LDrqtiGcK4EMHdWpBPh2ZLSILi5KWm539KcZWOl60lSZpsI7 HOyZB6+FAvo9l0pxREbFDcQ/q+26BWXYp4uKujyGiumNZQsSoNq20h2RxrvLBxlE SwLU0LOe6dr61spTvw== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app03.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032345 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMxuaxrnYv6AGk+j s2AKbAjRhpcQyzFv7CbY9/czPA1szWY9ufptYABUWz0M+6MPxW9mSk/HICjzBQ64 fcopxwDIFxd+OGt1AHM0VKldrMgU98BF2BT5h4xoumL1v8lHdFNMCYGy9YNKXIv7 kG4n4sXa4EOdI61feUAJ2eqFXHKvAgMBAAECgYEAuW9DWiEfS8l5lFniYLCzdIBS fH8wQUTLyiUvMB1aULcrzZ0aMM27sjDSnhtDupKYvcbki18Njfd60/KHr7SbnDqy DaFrKvfcOLzUUfQXoas5ZzWh9THKotXaiPqM9gmNQ++B0l/QTf1ab/CtxqTfwdrI DaP93lxF9YuKgMz52GkCQQD2mN8jiXvdSxZRWLoYkX0yGVxdxtJyIeIssSCG1ImS vOvCG0waOxRV03E+fkcaMMydxW1UI9WHDnoVLrY5w0TdAkEA1DnzNrER+FruWuyt m/EYdrSkf1YKsH9rKVhQ+tL5xu9w440XyQaCp2pdSdsFbB+PAdUg0/e3LT8jQmlF wWnG+wJAZBtpMncEprBtzfY0Dfc6GNV8zsEA+75PoA8EAlhTxRMWrkUAnwFu3uyo Y1NGMBaxajcUi/zEGUDCRMkixs5DrQJAOGXOBFK5+83uWatb130SizkmHdC3tn+l 8q7NllpKlls7HL15/KoGPoc9k0ro/frE/i+tMac6voNw0002hFef0QJATadPFYV/ yeQmlqnZurT0mQLoagn6NWOomh8BG+PaQg6R8zayFv5VIXhGYZmUWGnmKOd3VXY4 Zih+XyuljIP7Ng== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages02.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032506 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMFdsvPhlQhzXB2E 5Gr3xrYVzvDOpxhy/kMPUChsl+ayzUeGp62VdKfIwSMpbmp1YaS+YoCm/lQqirQT Flavi1bAwqVJEIa+viMmXH65bT2O2aG+XRFW12Km5VdKLfcOrr9SqGWsbzjz08nm Eq3/tdJGC33fUMsBhJ4THQcyEaJXAgMBAAECgYEAsSizqBXpgVCP+MukqwxQFsts SdxL426X3cDN4/t6QHdY9Es+nR7tPjwEF78B1q+swk9b2BsnsN05Lzq9oLY8paqp MMg6OUNlqIlb6yek87uyIg1k5HqTmrxyHI7VguKJPOvl2ZJ2/Hf8qMG2xd/gL22m 7v5eKMmcW0inmqFN7mECQQDrUEjZ7DxeJDmmoMN8RAhXPOOyvgj2CqBHAkC7/vj9 RJv4+iKlLy+OXcmp9rWruJgAXU5BArG1VZw6g7qQ6nU7AkEA0l1jBy8P+hw9gw6U DOFTxokFMoa4+elnmFUtGNM3eN1XXFRP2gmE4892wEfv+jCzNmPLAqWXG2vAFLgv /d/FlQJBAMwhNVF2kVfJbQmTZIGkMugathwUpolp5mgzGBz9rtlmbzepJezN5h9G VO7QSgDRfWqzhnL291orDf/kzi9wdIkCQCAwQfLbdKpkn9Tp6iV+ZP9AABeXHb6/ xCY/AkOGLjrEQ5XRINbQFhF1sUoCt+mkggeUhX/GLrT3a9C/zjgegXECQGjjM6cQ 6+hpmjmB/272y4s0Tue0B1D8RVubpiuORcgOf3p6M2LLCCpik3e847IzjyRUl49g J29/SIncVD60qjU= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001007612207656441033140 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 36 (0x24) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app01.stg.phx2.fedoraproject.org/name=mediawiki-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:af:f8:46:1b:09:86:56:1f:02:e4:e6:8f:0a:01: 0e:af:5c:d5:e2:9f:2b:96:b4:32:73:da:d5:3f:c8: 07:24:7b:5e:cc:b2:a6:43:24:eb:c8:b8:42:38:2c: a6:0b:32:c0:bc:ac:3d:f7:3a:e3:7c:56:52:c6:c6: a1:2d:b7:53:9e:d4:75:c7:63:21:56:20:fa:c6:46: 77:c7:e8:96:4a:d1:49:b6:89:14:d1:18:0e:af:19: 4c:5b:da:bd:f8:3b:80:be:e0:5b:81:14:da:cc:e6: c5:99:1d:42:a6:3b:0b:93:30:14:d2:6f:83:d8:99: a1:49:1e:7b:e6:ea:60:c8:29 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:66:08:F7:79:4A:8D:3A:85:0E:FD:04:C6:12:3C:44:91:D4:ED:91 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 5e:95:9d:35:70:32:7b:25:01:3a:2d:36:3c:a4:86:5b:00:a5: c9:4a:ec:fb:9d:50:1d:22:02:1f:46:95:da:3f:97:3c:01:83: 41:b8:a0:2e:26:ee:7e:75:c9:39:9c:23:bf:ab:4e:a8:c9:5d: 40:be:e5:34:73:3c:e8:62:3c:bf:ea:a9:01:94:60:41:cc:45: e6:fa:eb:54:ca:f4:d0:0f:7c:02:a6:06:7d:16:77:8e:0e:7e: af:70:a1:2c:a4:32:9b:ab:b1:3c:2d:86:16:2b:bb:64:b9:2e: db:fe:32:24:75:2a:74:15:33:5d:0b:07:e3:0f:97:5d:a0:03: 58:4a -----BEGIN CERTIFICATE----- MIIEWTCCA8KgAwIBAgIBJDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB6DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTMwMQYDVQQDEyptZWRpYXdpa2kt YXBwMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMzAxBgNVBCkTKm1lZGlh d2lraS1hcHAwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3 DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAK/4RhsJhlYfAuTmjwoBDq9c1eKfK5a0MnPa1T/IByR7XsyypkMk 68i4QjgspgsywLysPfc643xWUsbGoS23U57UdcdjIVYg+sZGd8folkrRSbaJFNEY Dq8ZTFvavfg7gL7gW4EU2szmxZkdQqY7C5MwFNJvg9iZoUkee+bqYMgpAgMBAAGj ggFXMIIBUzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5l cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFOFmCPd5So06hQ79BMYSPESR1O2R MIHVBgNVHSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQsw CQYDVQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNV BAoTDkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZl ZG1zZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsG A1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQBelZ01cDJ7JQE6LTY8pIZbAKXJ Suz7nVAdIgIfRpXaP5c8AYNBuKAuJu5+dck5nCO/q06oyV1AvuU0czzoYjy/6qkB lGBBzEXm+utUyvTQD3wCpgZ9FneODn6vcKEspDKbq7E8LYYWK7tkuS7b/jIkdSp0 FTNdCwfjD5ddoANYSg== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app01.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031466 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBANYic06s5HaUXdWRhhxbNhs5NA/HSxLIQ5cwtePN ctWa0NsKOvvhkjIYCuaQ9LP+8KXQVIHcYBTiIjkojzRlcnKtCNzkRyMCTN4C9fJE Fzy4ZETPlOP2Gggnb6VFCixkRdbPDoNnRLD4rfwSSyechfNFtRqzqutmK6GvIYGG 898JAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQCro90AjIssEc3vEMENm3EaU2mN QebbY5fAGT2j996tuHx2/oRlUxLG5hnxTxkcCAqL5rAGT23e4hgEWJVXnXiKTTNA KMkiFLt7GdIClRhYPTlqlePcU4Mu1AS0vnt/rrU8JhsJcpPOeO87OuQHKLXQwY3f 4f7+pA4nt3O8l972fw== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/ca.crt0000644000175000017500000000253712207656441023554 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE----- MIIDyzCCAzSgAwIBAgIJAI7rKNipE518MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD VQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoT DkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1z ZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFw cm9qZWN0Lm9yZzAeFw0xMjA3MTUyMTE4NTFaFw0yMjA3MTMyMTE4NTFaMIGgMQsw CQYDVQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNV BAoTDkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZl ZG1zZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA9J6RmGr1 LzSJ5Fau2wdkVUiS5WXBcd0bNPyUJ9/G7t9SrycnLnEK4GQh2B525p4SCqvsHZtM 8rqii/Y2PPF5PbpgVjJLYsJk4SSv84aH+VPYcaEtYlPClXgHb3J9jgAxgHBHkJMQ 7mvxiIau7frKFqmJGZkxO2M+Sv8eLCKLJP8CAwEAAaOCAQkwggEFMB0GA1UdDgQW BBQAmKXV58RVDoSjZ/5mShbgBBXdITCB1QYDVR0jBIHNMIHKgBQAmKXV58RVDoSj Z/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAw DgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEPMA0GA1UE CxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1zZzEmMCQG CSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeCCQCO6yjYqROdfDAM BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAN5r+1rbeTyGDdlelbqWOXBu uS0a9BfusO0uwf3tHK9zeB5CDKFgxdfSZ+Fxg1w2HFRHhCOYoZ2ASPfbyANTzxUF fVAId1uhBD1SlhXpTb3Ndo4uXfalf3W8MrQzFiVHbevvfsyd+RwoVT/PDokE3i4A fftCd0uwvSqVgyE28SFt -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001010012207656441033266 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 17 (0x11) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-packages01.stg.phx2.fedoraproject.org/name=shell-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:da:64:64:a5:49:87:43:64:ff:43:dc:88:84:97: 3f:44:4a:d7:e1:dc:32:92:fc:e1:4d:a8:ab:35:39: 19:3f:d4:a7:1c:20:5f:9c:7c:d6:2f:58:33:42:ae: bf:6e:8f:2a:c2:da:5f:93:e4:1c:eb:88:e9:b6:53: 40:83:06:b4:fa:dc:eb:ad:99:6e:1b:7b:0d:20:d0: f2:ea:dd:f3:2e:dd:1a:51:78:8a:2e:2b:f3:1a:43: c4:f5:8c:44:12:2d:2c:1e:3d:1f:74:37:5b:6f:79: 4e:4f:fc:fe:23:00:26:a9:cc:91:ad:81:f0:6a:b0: 45:b0:a3:70:31:b4:5e:ee:c3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: B8:71:E7:CE:3B:BA:4E:19:05:D9:F8:3B:D6:B9:C8:7F:64:22:F7:F8 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 68:ea:02:85:b5:ab:80:56:da:a4:48:1e:d1:44:40:53:03:da: 1f:c0:ff:cc:2c:7d:9d:58:2a:a4:18:1c:aa:51:04:7e:1a:ff: c0:1d:d0:ca:f6:97:01:9f:ef:ec:f4:db:6e:26:7d:79:d8:6d: 2a:0c:ed:e2:5d:33:c8:23:c8:75:ba:6c:95:0c:9a:8a:18:ce: bb:00:fe:36:45:59:9e:bf:24:f2:cf:e1:24:c0:7f:d5:d3:78: 4a:2e:84:6e:59:91:11:b6:6d:3f:d2:a4:7c:b3:8c:1d:5e:63: 9e:c4:29:e0:83:fe:2b:d3:a2:13:3e:58:f4:a2:1d:d2:a7:76: 5f:5c -----BEGIN CERTIFICATE----- MIIEWzCCA8SgAwIBAgIBETANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB6jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTQwMgYDVQQDEytzaGVsbC1wYWNr YWdlczAxLnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMTQwMgYDVQQpEytzaGVs bC1wYWNrYWdlczAxLnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZI hvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEF AAOBjQAwgYkCgYEA2mRkpUmHQ2T/Q9yIhJc/RErX4dwykvzhTairNTkZP9SnHCBf nHzWL1gzQq6/bo8qwtpfk+Qc64jptlNAgwa0+tzrrZluG3sNINDy6t3zLt0aUXiK LivzGkPE9YxEEi0sHj0fdDdbb3lOT/z+IwAmqcyRrYHwarBFsKNwMbRe7sMCAwEA AaOCAVcwggFTMAkGA1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdl bmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUuHHnzju6ThkF2fg71rnIf2Qi 9/gwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAx CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUG A1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMG ZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZl ZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIw CwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAGjqAoW1q4BW2qRIHtFEQFMD 2h/A/8wsfZ1YKqQYHKpRBH4a/8Ad0Mr2lwGf7+z0224mfXnYbSoM7eJdM8gjyHW6 bJUMmooYzrsA/jZFWZ6/JPLP4STAf9XTeEouhG5ZkRG2bT/SpHyzjB1eY57EKeCD /ivTohM+WPSiHdKndl9c -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162012207656441033133 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAK/4RhsJhlYfAuTm jwoBDq9c1eKfK5a0MnPa1T/IByR7XsyypkMk68i4QjgspgsywLysPfc643xWUsbG oS23U57UdcdjIVYg+sZGd8folkrRSbaJFNEYDq8ZTFvavfg7gL7gW4EU2szmxZkd QqY7C5MwFNJvg9iZoUkee+bqYMgpAgMBAAECgYBM/QGnGJ62lTDN9vWD+fxzytkl ImCOud4NBCQimKBPXM6YHl1RqRijo8INE7O92IGsymr9/LzEjHwAzax89OVXMWC6 v6XeUNlYjeSCfD3g/Wkm5fpnF1akFk71YxObVChZd/EelFhwDonFX5EVik2GTqO7 8BNO6MREh/Ad4jUSkQJBANxkP5dNB7SAw0gDOqTsbNL/GbE2llTRpk7oXKoQRymJ UJ0W0i+lcdA4rSxSR0Q//kYX+blon6CFWdhmE4Lnpc0CQQDMZqtRgbPQyeOlDA+e fxSz/4XzNCeNJPyanXY69sHG7WhZgyQA0H+j/laPNw4WogGa7XU+SXG9AKNolAmK 0g/NAkAtIgZ3yJmUWG4lWCvxTE145C7xwJkGo6xoKmOXnB/GnM06bkr64Omu13x3 QB5CFszOs+g7FPbjm4trqnPCcgfdAkAVOU/ura4TLvNxTthMV9u5eP3aq/6zXDTS hSkipD6ovjwIl2Jkp0GpsJ4iTtAqr3XFNYToC85AltFg6YY4IOm9AkB7ojC77PqX UIn38BKnEXMlm3H9OlCp9/E+BACy2l4TisNFUG2cWdeo8coJY55yGXF92Z+9oyL7 cgGawJ9GZoaY -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app03.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031511 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBALw2qSUElmrrgF7j naVFoFaIUUxhv4l62FCKdlEfuxG535PpvGOnCuua3nDylxN0baz+t6E9I6G35+QB WfRq3tFYqg/JGzkXWuTDKOQa1z5gDU2qE7hSOn3YyTGVRar0E8Hh9fYwkYclbYRp iMF0aYta8m8WLL/VvkoYKVTFp/uDAgMBAAECgYEAkV4+giLq8qX2PlPbXN1MG8mp 0S7mOw8wp/RpsfqqB+TiNGIhaW6JVrQE/oO///y7ARSzS8vnC275ofcRPWCVuxJv 4BNkhiss9+BLsyRKFLXYDv8Ngp4yVlMugcNT/MjpNo/jMHL1WmaBIIMjgfbjyHx4 xsb1OvkG5AXZy/aMPdECQQD1PxTK1Tud88NjtYTimncLmJBzOoMXH7Cp0a/P28IQ X47jtnpPQ+itasEeBfBib7+CTmdUJNKP4am5Krj4+Xr9AkEAxHdg+eaT59zfnn1H ASUihuVA/ycgEmMXMnuNndr0Q6eUD6B0WpKbPipl+Qshc7Kmkj6FKi9TNdm6bwHq ySFYfwJBAKWINXWOpZXAcdJ8M7xrvAx0ppNQHClgd3K4GK34y60Xgq/KfBXCZWuf 0cd9BLq8aIwAdZgC3qjFDTTxVDag1dUCQAW+Z7tmnlRdBLyhdP33k/bVpPzQrANd mkQDkLRYvmNr9swuKLitKJS8sJaDWMsFIhGMemAtWgVtBCJSsAaJTwkCQQDKp02G 0XR2B7i4IcqIPZK8+wt/c+8/P3MpzQr6xFXdxWupIpwsUQLp1xpaPBBCeNoDVlBv EwUdHI3nsuWnd0yu -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/12.pem0000644000175000017500000001003312207656441023372 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 18 (0x12) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-pkgs01.phx2.fedoraproject.org/name=shell-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d5:37:fb:d4:8a:a5:30:40:11:25:eb:66:ba:8d: 55:31:68:a3:e0:1a:77:db:c7:37:a3:84:44:ed:93: 3f:d4:32:8b:59:a1:fb:8b:64:6f:2f:54:f6:69:aa: fa:b0:88:ff:bb:b5:1d:4b:18:a7:1b:ec:54:c2:d0: 56:a5:da:78:4b:17:13:3b:8b:93:f3:7c:df:3d:16: 21:c4:90:7e:1d:6b:ef:13:31:be:41:4e:21:a7:97: 9c:2b:7b:9b:32:7e:62:44:5f:59:ac:31:74:12:ba: d5:cf:14:0d:58:42:1a:49:b9:c6:2a:53:e8:87:77: 12:3e:2e:ea:e3:4d:40:ff:8b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A5:8B:A6:2A:28:0E:3C:4E:6C:81:45:A4:4E:B9:3C:38:15:9F:58:DE X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 56:40:ad:61:bd:82:0a:e8:f7:6c:59:cf:2b:08:65:69:72:d2: 6d:28:b5:d4:fd:2a:88:11:45:ac:93:52:92:fd:1f:05:94:d2: bb:d5:3b:0f:79:cb:0d:f3:00:60:9d:e8:7d:2c:15:cf:b3:d8: a0:e5:60:d3:d9:bf:45:fb:f0:10:92:ce:bd:eb:30:da:70:45: 06:1e:c2:71:83:f0:7c:92:e5:43:01:63:f4:2e:4d:60:ec:70: 93:40:6d:d1:00:46:7c:a9:2d:2c:00:df:56:44:38:60:88:4a: b7:df:79:6e:2d:d9:3d:d3:f7:e7:31:66:b4:37:0d:85:52:76: ec:27 -----BEGIN CERTIFICATE----- MIIESzCCA7SgAwIBAgIBEjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSwwKgYDVQQDEyNzaGVsbC1wa2dz MDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEsMCoGA1UEKRMjc2hlbGwtcGtnczAx LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZl ZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVN/vU iqUwQBEl62a6jVUxaKPgGnfbxzejhETtkz/UMotZofuLZG8vVPZpqvqwiP+7tR1L GKcb7FTC0Fal2nhLFxM7i5PzfN89FiHEkH4da+8TMb5BTiGnl5wre5syfmJEX1ms MXQSutXPFA1YQhpJucYqU+iHdxI+LurjTUD/iwIDAQABo4IBVzCCAVMwCQYDVR0T BAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmlj YXRlMB0GA1UdDgQWBBSli6YqKA48TmyBRaROuTw4FZ9Y3jCB1QYDVR0jBIHNMIHK gBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJ BgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJv amVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkT BmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeC CQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJ KoZIhvcNAQEFBQADgYEAVkCtYb2CCuj3bFnPKwhlaXLSbSi11P0qiBFFrJNSkv0f BZTSu9U7D3nLDfMAYJ3ofSwVz7PYoOVg09m/RfvwEJLOvesw2nBFBh7CcYPwfJLl QwFj9C5NYOxwk0Bt0QBGfKktLADfVkQ4YIhKt995bi3ZPdP35zFmtDcNhVJ27Cc= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages02.phx2.fedoraproject.org.csr0000644000175000017500000000146212207656441032505 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICIzCCAYwCAQAwgeIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEwMC4GA1UEAxMnc2hlbGwtcGFja2FnZXMwMi5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMTAwLgYDVQQpEydzaGVsbC1wYWNrYWdlczAyLnBoeDIuZmVkb3JhcHJv amVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3Jn MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBXbLz4ZUIc1wdhORq98a2Fc7w zqcYcv5DD1AobJfmss1HhqetlXSnyMEjKW5qdWGkvmKApv5UKoq0ExZWr4tWwMKl SRCGvr4jJlx+uW09jtmhvl0RVtdipuVXSi33Dq6/UqhlrG8489PJ5hKt/7XSRgt9 31DLAYSeEx0HMhGiVwIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAeL2djAQK57BD XrPrFdNHx55L0YoOtxt8/gAKRCczOXuTbZJJoisA1nmSlR/S3ZuNWta8Nk/8hoZX qhmMc/D0EfnjVIIIMPrTHc5lNR34rMN84katMAQgpOl1u8i8ga4vUZC/efwPSxP1 TNm8dMg35KJz3QevxI5UDV5+33LXx+E= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app04.phx2.fedoraproject.org.crt0000644000175000017500000001005212207656441032341 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 32 (0x20) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app04.phx2.fedoraproject.org/name=mediawiki-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:eb:55:b8:4b:6f:d0:85:8e:b6:ce:92:e4:09:d0: 4a:d4:2b:e9:47:3a:b6:27:57:61:27:64:b4:71:46: 79:1e:04:33:54:23:72:59:48:e4:73:86:2b:68:33: 85:a9:3a:85:d2:9e:7a:1a:89:c9:a0:0c:1a:b9:ad: e3:25:b2:f1:17:1b:85:83:07:56:03:b2:e2:1a:32: fd:17:3f:90:c2:f9:1d:39:f7:22:5a:77:c3:61:35: a3:fe:64:9f:5b:a7:20:89:60:4c:70:51:af:34:c8: 01:f7:c9:ef:76:02:0d:7d:69:f5:9b:11:05:5f:89: 9c:4b:ff:d6:eb:e7:96:73:03 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 05:2F:27:1F:0B:FE:55:17:3A:FA:C7:59:E3:EF:2A:96:9A:EC:49:49 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption f3:50:1d:7d:e5:e3:71:04:fb:cd:42:29:71:20:95:36:04:d4: 45:f6:5e:14:4e:e8:f6:b9:8d:f1:53:82:a4:b8:28:a0:79:4d: db:3b:99:10:bc:50:c8:39:d7:b1:cd:49:c9:5f:9e:a4:f9:95: c4:41:68:5e:8b:65:d8:28:d1:81:cc:0c:57:ab:d8:95:3d:03: 17:b3:5a:25:12:a7:b7:65:ed:fe:ec:48:4b:b6:b3:f7:ae:48: 51:72:e0:55:45:8e:ef:ed:f7:50:73:f4:b4:ba:03:c9:be:68: 3d:3b:7e:44:3b:ab:d9:2d:e2:5a:54:bf:bd:af:de:ca:17:b2: b3:c8 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBIDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDQucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA0LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDrVbhLb9CFjrbOkuQJ0ErUK+lHOrYnV2EnZLRxRnkeBDNUI3JZSORzhitoM4Wp OoXSnnoaicmgDBq5reMlsvEXG4WDB1YDsuIaMv0XP5DC+R059yJad8NhNaP+ZJ9b pyCJYExwUa80yAH3ye92Ag19afWbEQVfiZxL/9br55ZzAwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQFLycfC/5VFzr6x1nj7yqWmuxJSTCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA81AdfeXjcQT7zUIpcSCVNgTURfZeFE7o9rmN 8VOCpLgooHlN2zuZELxQyDnXsc1JyV+epPmVxEFoXotl2CjRgcwMV6vYlT0DF7Na JRKnt2Xt/uxIS7az965IUXLgVUWO7+33UHP0tLoDyb5oPTt+RDur2S3iWlS/va/e yheys8g= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.phx2.fedoraproject.org.crt0000644000175000017500000001002412207656441031472 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 12 (0xc) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-fas01.phx2.fedoraproject.org/name=shell-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:93:eb:fd:77:fe:bf:5c:d7:b8:dc:4a:66:ae:8f: 9a:c2:1b:a2:cc:48:d1:2c:d3:cb:01:7f:18:fc:dd: d7:b0:d8:78:2d:a2:0e:c4:8f:93:26:c8:a5:20:02: 0b:77:bf:18:32:af:5e:b8:7b:b8:25:d9:33:f8:ce: c8:7a:6f:c8:78:0c:17:08:b7:96:fb:51:6a:34:d0: 34:4a:20:62:36:7c:e7:79:e9:d3:ab:85:5b:27:09: 0e:a8:50:60:ec:7e:10:70:d8:2c:18:6a:e3:82:53: bd:5b:62:08:53:2b:20:2a:20:34:05:ef:03:66:f3: 67:2a:e5:0a:8a:f2:f2:98:61 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 57:24:78:6A:46:74:8F:BA:E0:0D:AE:1D:10:72:8D:6B:FF:E7:64:D5 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 33:56:05:7a:bb:46:ba:a1:90:ae:72:12:09:c7:79:a6:59:69: 68:32:d0:4f:56:cb:f3:15:81:89:8f:d8:84:37:02:01:a8:2b: d3:9a:21:1c:20:db:aa:ce:56:73:6b:99:a6:2c:1a:c3:a6:89: 72:a0:f7:a7:5b:a7:a6:8d:ff:8b:20:1e:48:2f:18:ff:01:d1: 33:17:7d:eb:06:35:6c:b3:b8:f4:86:10:f9:d4:5e:48:8d:15: 1b:93:6e:75:39:01:e9:60:a9:9d:05:e7:82:2e:7d:46:c8:d4: ad:82:d8:80:52:44:a6:0d:37:a8:26:4a:fc:40:67:98:22:11: 44:ca -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBDDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1mYXMw MS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1mYXMwMS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAk+v9d/6/ XNe43Epmro+awhuizEjRLNPLAX8Y/N3XsNh4LaIOxI+TJsilIAILd78YMq9euHu4 Jdkz+M7Iem/IeAwXCLeW+1FqNNA0SiBiNnzneenTq4VbJwkOqFBg7H4QcNgsGGrj glO9W2IIUysgKiA0Be8DZvNnKuUKivLymGECAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUVyR4akZ0j7rgDa4dEHKNa//nZNUwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBADNWBXq7RrqhkK5yEgnHeaZZaWgy0E9Wy/MVgYmP2IQ3AgGo K9OaIRwg26rOVnNrmaYsGsOmiXKg96dbp6aN/4sgHkgvGP8B0TMXfesGNWyzuPSG EPnUXkiNFRuTbnU5AelgqZ0F54IufUbI1K2C2IBSRKYNN6gmSvxAZ5giEUTK -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032261 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKuuc9WoWZtWD5qT umFlSg+3HAvLASjtSUyT+LUTVVartZY65gXrKAEGUj/ug0SS3sKaMGbfRS6L9Krg QXimhJRYuDVVRC83Rua1wUACq6u4kGqiYV1P040yynU3E2/hVELWtdBzpmtl8rJw dg/rMw4swBJsmratFkd0RzNHmQsPAgMBAAECgYBpJLFqc+1VFhL+X2UxSwBduY4i ptRyBUjz7lfORiXoq8bNWAsSKt/YKM/suZ2JPM3Sru3fwvOyuyJAGJHgW1MsKdm+ 7R5uyjtDnonSNVi3jAM11r9tkcU9a8aKqyTAnrr2SRFbObBTGoz21izISREmopbZ feAXaiiKC7jjKJz90QJBAOIEgl4IEihM/WVqbLzbJXpgbU33QRRanTqkZakwlIas Ys7j9mSIZ7qgdicLtNfZ7o1HHWfQrOsltfP+3ex5NzkCQQDCdLQW1HTRUxq9Sbnm O2Qb17eDxUVvFe2VdA5vBqVsep88FAeXqEMdD/uuetCZtSL+BOfznZFZY6kueGtJ iEyHAkBr4d8gZxXTqrwhFmWE183R1gkWd/jWcFIwVZw43/llNw+K1YEch4eLq1/6 Tzoo9dtKEDHXBeIj88IgDv17DHjxAkEAoGS0uvQJWzOqJaHvZZltbI3VQCpyqDs1 GgZ9dVTNFBpcx6hZzt0qZoltdrC06WQAdfhD/qzkXBAZV0xaam+zdwJAZBHpw/Gh NkzV25UUTIcTo8PFbA9jsP3Oowqd7ICYleE4wemeLKb+imfGxrfYCCIrNsJ9vaO/ hFH12T07Hzed2w== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app04.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031463 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 23 (0x17) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app04.phx2.fedoraproject.org/name=bodhi-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:aa:cb:fc:f9:7d:35:db:6b:71:34:3c:19:7c:ed: 21:0d:d8:ce:8e:4a:aa:b8:e1:79:18:28:f3:e0:0d: 16:bf:a3:86:13:10:24:d3:cd:02:d0:92:27:a7:8e: a9:08:fe:4f:8b:c8:d5:b4:80:3b:8c:0c:f8:7c:ae: 29:c2:b6:fe:a8:05:a7:02:ba:0e:20:0e:27:24:1c: 1a:3d:b3:15:19:cd:b0:fd:21:b1:6a:d9:f3:e5:e3: 97:49:d4:86:6b:54:4a:83:1e:5e:85:07:c7:c4:78: 83:d1:44:8a:96:e4:1c:ce:1c:a0:36:85:78:17:46: c3:06:57:b4:b3:57:00:d6:b1 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: EE:40:47:3E:1A:13:F7:DA:46:81:62:AA:88:0B:B2:4E:EB:16:EB:60 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 01:da:a1:26:2f:7d:b3:41:f0:ac:26:49:22:c4:05:d4:f3:6c: bc:87:d3:d7:02:fc:28:af:28:5d:ab:57:20:fa:c9:67:83:c3: d5:29:35:8b:e0:57:4f:ea:54:b2:28:71:39:02:65:0c:9d:65: d5:8d:97:b9:79:94:30:13:e8:d0:b7:e7:be:35:22:54:78:9f: 65:cf:7c:3d:bc:a6:f9:82:0c:5f:06:06:42:83:a7:6c:ee:d9: ba:bd:0c:9a:a4:e9:c1:6e:1a:7a:0e:e3:d5:9f:82:69:27:bf: 57:9f:dd:03:00:6a:c3:17:98:ab:b5:00:e3:fb:4f:b9:ef:9d: 38:55 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw NC5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNC5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqsv8+X01 22txNDwZfO0hDdjOjkqquOF5GCjz4A0Wv6OGExAk080C0JInp46pCP5Pi8jVtIA7 jAz4fK4pwrb+qAWnAroOIA4nJBwaPbMVGc2w/SGxatnz5eOXSdSGa1RKgx5ehQfH xHiD0USKluQczhygNoV4F0bDBle0s1cA1rECAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU7kBHPhoT99pGgWKqiAuyTusW62AwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAAHaoSYvfbNB8KwmSSLEBdTzbLyH09cC/CivKF2rVyD6yWeD w9UpNYvgV0/qVLIocTkCZQydZdWNl7l5lDAT6NC35741IlR4n2XPfD28pvmCDF8G BkKDp2zu2bq9DJqk6cFuGnoO49Wfgmknv1ef3QMAasMXmKu1AOP7T7nvnThV -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/2A.pem0000644000175000017500000001011612207656441023414 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 42 (0x2a) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedoratagger-packages02.phx2.fedoraproject.org/name=fedoratagger-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ce:e5:a4:56:4a:9e:cc:46:32:48:36:c2:dd:60: 56:34:1f:d2:50:06:8e:7d:41:c2:64:9a:16:29:15: 72:10:ba:83:87:e0:29:99:fd:f9:1b:36:06:64:20: ee:94:92:00:f6:8a:1d:8e:0d:dc:c7:ef:b1:26:ae: 58:70:b0:9e:7a:dd:2a:ef:b7:13:1e:ce:06:9e:5e: b0:b7:46:f8:ba:29:56:df:57:fa:9e:f6:e7:66:4c: c6:4b:99:2a:0f:7d:98:d6:dd:26:50:38:af:0e:74: 34:0a:50:23:7b:dc:fc:c5:ed:48:76:e0:fc:4e:c8: 50:61:7c:18:4d:41:d4:27:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: EA:E7:19:57:F0:2A:87:D3:FE:C5:04:6A:08:DA:93:5A:D4:C2:EF:14 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 90:42:74:42:ea:0c:9e:05:85:e9:15:87:b1:16:a2:52:4a:f1: 10:a0:64:f3:52:b3:d6:1f:54:48:aa:a7:f7:63:5e:7a:cc:a6: 10:ad:3c:af:1f:26:1f:19:1c:e9:97:a6:9d:bd:a9:c5:ab:85: 2d:57:83:f3:6d:cb:9a:48:71:7c:66:f8:bc:56:16:35:a4:80: 9c:fe:6e:19:ec:cb:dc:0c:11:75:c3:3c:3f:73:7a:6c:c0:81: 1c:93:f5:50:1c:da:a9:d9:9c:71:c8:95:2a:e4:88:99:94:e9: 9c:0f:b7:9d:89:6d:6f:0c:49:5b:26:eb:7b:23:e6:d1:a5:c2: 5d:eb -----BEGIN CERTIFICATE----- MIIEYTCCA8qgAwIBAgIBKjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB8DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTcwNQYDVQQDEy5mZWRvcmF0YWdn ZXItcGFja2FnZXMwMi5waHgyLmZlZG9yYXByb2plY3Qub3JnMTcwNQYDVQQpEy5m ZWRvcmF0YWdnZXItcGFja2FnZXMwMi5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYw JAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAzuWkVkqezEYySDbC3WBWNB/SUAaOfUHCZJoWKRVy ELqDh+Apmf35GzYGZCDulJIA9oodjg3cx++xJq5YcLCeet0q77cTHs4Gnl6wt0b4 uilW31f6nvbnZkzGS5kqD32Y1t0mUDivDnQ0ClAje9z8xe1IduD8TshQYXwYTUHU Jw0CAwEAAaOCAVcwggFTMAkGA1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3kt UlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU6ucZV/Aqh9P+xQRq CNqTWtTC7xQwgdUGA1UdIwSBzTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaak gaMwgaAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWln aDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0G A1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYB BQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAJBCdELqDJ4FhekV h7EWolJK8RCgZPNSs9YfVEiqp/djXnrMphCtPK8fJh8ZHOmXpp29qcWrhS1Xg/Nt y5pIcXxm+LxWFjWkgJz+bhnsy9wMEXXDPD9zemzAgRyT9VAc2qnZnHHIlSrkiJmU 6ZwPt52JbW8MSVsm63sj5tGlwl3r -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/server.key0000644000175000017500000000162012207656441024467 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALGiXNcQaoOkHWVm UYD1ci0Vr3eSrR2tgNjI4u7PEDsHAh5PGMRH1oKNU//CG3JJ/mL+aCbwkY/X4J64 Rpbv70sH9CEQCdmQkqYlOinKtuhpBt+6p3OxccNsHNN91v86zhW3vHv8bGvWb6f9 4ChZB0m/Zpw+H1+4hcRhUflnAECnAgMBAAECgYAfnrlMBz4OpN4euLH1dLuYTu3n KRLr34C6FjhfLjjDaSH1ZzsPZYJHxwSW2GSuWYGQ+ZxsohInOtRfLIpUP+2mb1SU 8j0cIlrvYiussHJZ0774OYwW6iRsu9qW14+6T53hY0lCzJq5HRgh1OD95TYDe4D7 ano1dcAgQ/43ca3ZYQJBAOitxcE5oy2N0zcLlpjV/l12tb3Rcdhigz3phdpj2Hk8 DI6fLMFynbvFTlHaFjZZVVzsk93Ho3F7Z0sIZ65a1M8CQQDDcDhPmiJMN6b5WaeD Lj1BTwjXN4RHUj+xC8nh+l+xjAuBRY2ZNtwbx3jEO2DHWaFQmp8ZsN+yOX/MztOD EvypAkAg5qmG6BKF138dUnsqA2BjcOzD+YDCmzN5prKxrdqnUfFonWNju0RIj97C PjdT2g/zAtTp0FfxLQTvHDIk+l0LAkBdZw9yc656kIpbVw6osfuSb8xA1wZ/833/ BixItJjxSIXjFTOUCtTs7cr4tYwOGfbvh8YLyC1Qhwxd/Ga3mOZpAkBJYHyf3bCH wEW4PqHOyGUl8yiSNEdhY9VDHec2LT7++oFtlKk+sv1ekzA7uEeygEiKp2WfjNOW zmdI0NoDbN+c -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.phx2.fedoraproject.org.crt0000644000175000017500000001001512207656441031134 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 38 (0x26) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fas-fas01.phx2.fedoraproject.org/name=fas-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:9d:a7:37:34:0a:a2:66:c0:a8:c9:40:77:58:d4: 41:a1:ab:88:b7:e5:75:87:c5:7d:2c:d3:71:5d:ee: 6f:0c:11:1f:51:3b:8c:2e:a0:b2:54:e4:01:4a:a0: d0:08:c3:7b:18:06:2a:1a:f5:9f:4a:47:5b:2c:8f: d5:83:f1:d8:87:24:82:61:37:b2:87:81:78:23:79: b7:9f:5e:22:3a:75:11:a3:69:e6:94:c0:33:03:53: d1:71:45:5e:4e:ca:cc:95:a6:92:93:7c:ae:6a:e6: 89:71:c1:78:67:0d:c6:ef:41:b4:c8:57:ab:31:82: 80:b5:52:15:d6:b3:29:3f:99 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 2C:3A:53:24:0B:F6:30:F6:AC:66:FA:3E:F6:85:03:AA:B6:7E:FB:67 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 49:0f:21:c5:45:b6:a8:1c:a5:b2:e7:fc:c2:04:07:3c:a9:2d: 26:f6:bd:23:26:f4:77:b2:46:66:e3:20:4a:36:60:c9:19:8c: b5:45:4e:f9:25:00:85:57:80:7c:7e:78:f8:e5:5b:47:83:20: cd:5c:f1:91:87:d7:b1:4e:71:7e:ac:1e:d6:62:25:28:d2:d3: 79:c0:3d:78:30:5b:73:36:56:47:59:21:9e:f1:ed:83:e6:73: 9f:3d:85:42:30:93:63:00:3e:83:58:0d:0b:4c:6e:3c:33:a0: d5:ff:eb:f9:a5:5f:4f:a1:e4:66:86:d2:7e:38:dc:67:be:5d: a1:19 -----BEGIN CERTIFICATE----- MIIERTCCA66gAwIBAgIBJjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB1DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSkwJwYDVQQDEyBmYXMtZmFzMDEu cGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEpMCcGA1UEKRMgZmFzLWZhczAxLnBoeDIu ZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXBy b2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdpzc0CqJmwKjJ QHdY1EGhq4i35XWHxX0s03Fd7m8MER9RO4wuoLJU5AFKoNAIw3sYBioa9Z9KR1ss j9WD8diHJIJhN7KHgXgjebefXiI6dRGjaeaUwDMDU9FxRV5OysyVppKTfK5q5olx wXhnDcbvQbTIV6sxgoC1UhXWsyk/mQIDAQABo4IBVzCCAVMwCQYDVR0TBAIwADAt BglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G A1UdDgQWBBQsOlMkC/Yw9qxm+j72hQOqtn77ZzCB1QYDVR0jBIHNMIHKgBQAmKXV 58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT Ak5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEgUHJvamVjdDEP MA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNVBCkTBmZlZG1z ZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmeCCQCO6yjY qROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcN AQEFBQADgYEASQ8hxUW2qBylsuf8wgQHPKktJva9Iyb0d7JGZuMgSjZgyRmMtUVO +SUAhVeAfH54+OVbR4MgzVzxkYfXsU5xfqwe1mIlKNLTecA9eDBbczZWR1khnvHt g+Zznz2FQjCTYwA+g1gNC0xuPDOg1f/r+aVfT6HkZobSfjjcZ75doRk= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-packages02.phx2.fedoraproject.org.crt0000644000175000017500000001006012207656441032500 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 16 (0x10) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-packages02.phx2.fedoraproject.org/name=shell-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c1:5d:b2:f3:e1:95:08:73:5c:1d:84:e4:6a:f7: c6:b6:15:ce:f0:ce:a7:18:72:fe:43:0f:50:28:6c: 97:e6:b2:cd:47:86:a7:ad:95:74:a7:c8:c1:23:29: 6e:6a:75:61:a4:be:62:80:a6:fe:54:2a:8a:b4:13: 16:56:af:8b:56:c0:c2:a5:49:10:86:be:be:23:26: 5c:7e:b9:6d:3d:8e:d9:a1:be:5d:11:56:d7:62:a6: e5:57:4a:2d:f7:0e:ae:bf:52:a8:65:ac:6f:38:f3: d3:c9:e6:12:ad:ff:b5:d2:46:0b:7d:df:50:cb:01: 84:9e:13:1d:07:32:11:a2:57 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A5:84:96:52:F0:B2:05:0D:EC:6C:E0:3C:25:4F:DB:1B:7D:CD:E6:94 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 6b:09:ad:38:0a:1c:00:ce:d5:0a:85:29:86:48:34:ed:20:9a: 53:d2:6e:58:8d:e5:4d:28:60:64:30:be:91:54:14:69:de:1c: 8b:96:c7:c9:ef:63:f5:00:75:57:f5:0b:63:a8:49:86:59:ae: 7c:ab:4b:fa:1a:0b:72:ae:d6:c4:28:b1:d7:12:11:34:e5:a1: 69:fe:a3:e7:0b:23:72:ba:07:9a:23:48:39:5a:b3:63:21:0b: 13:3e:06:f4:f2:30:65:78:b4:43:e7:2e:31:85:d3:df:71:b6: dd:b4:f8:7d:25:1c:f2:55:bd:e4:b2:48:64:48:b8:c9:54:3f: b8:ee -----BEGIN CERTIFICATE----- MIIEUzCCA7ygAwIBAgIBEDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTAwLgYDVQQDEydzaGVsbC1wYWNr YWdlczAyLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMDAuBgNVBCkTJ3NoZWxsLXBh Y2thZ2VzMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYX YWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMFdsvPhlQhzXB2E5Gr3xrYVzvDOpxhy/kMPUChsl+ayzUeGp62VdKfIwSMp bmp1YaS+YoCm/lQqirQTFlavi1bAwqVJEIa+viMmXH65bT2O2aG+XRFW12Km5VdK LfcOrr9SqGWsbzjz08nmEq3/tdJGC33fUMsBhJ4THQcyEaJXAgMBAAGjggFXMIIB UzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQg Q2VydGlmaWNhdGUwHQYDVR0OBBYEFKWEllLwsgUN7GzgPCVP2xt9zeaUMIHVBgNV HSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQG EwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZl ZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEP MA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9q ZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE AwIHgDANBgkqhkiG9w0BAQUFAAOBgQBrCa04ChwAztUKhSmGSDTtIJpT0m5YjeVN KGBkML6RVBRp3hyLlsfJ72P1AHVX9QtjqEmGWa58q0v6GgtyrtbEKLHXEhE05aFp /qPnCyNyugeaI0g5WrNjIQsTPgb08jBleLRD5y4xhdPfcbbdtPh9JRzyVb3kskhk SLjJVD+47g== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/index.txt.old0000644000175000017500000002066712207656441025110 0ustar threebeanthreebean00000000000000V 220713211852Z 01 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org R 220713211852Z 120715211852Z 02 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=dummy-revoked/name=dummy-revoked/emailAddress=admin@fedoraproject.org V 220713211852Z 03 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app01.phx2.fedoraproject.org/name=shell-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 04 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app02.phx2.fedoraproject.org/name=shell-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 05 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app03.phx2.fedoraproject.org/name=shell-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 06 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app04.phx2.fedoraproject.org/name=shell-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 07 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app05.phx2.fedoraproject.org/name=shell-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 08 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app06.phx2.fedoraproject.org/name=shell-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 09 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app07.phx2.fedoraproject.org/name=shell-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0A unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app01.stg.phx2.fedoraproject.org/name=shell-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0B unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app02.stg.phx2.fedoraproject.org/name=shell-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0C unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-fas01.phx2.fedoraproject.org/name=shell-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0D unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-fas01.stg.phx2.fedoraproject.org/name=shell-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0E unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-fas01.dev.phx2.fedoraproject.org/name=shell-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0F unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-packages01.phx2.fedoraproject.org/name=shell-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 10 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-packages02.phx2.fedoraproject.org/name=shell-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 11 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-packages01.stg.phx2.fedoraproject.org/name=shell-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 12 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-pkgs01.phx2.fedoraproject.org/name=shell-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 13 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-pkgs01.stg.phx2.fedoraproject.org/name=shell-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 14 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app01.phx2.fedoraproject.org/name=bodhi-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 15 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app02.phx2.fedoraproject.org/name=bodhi-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 16 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app03.phx2.fedoraproject.org/name=bodhi-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 17 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app04.phx2.fedoraproject.org/name=bodhi-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 18 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app05.phx2.fedoraproject.org/name=bodhi-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 19 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app06.phx2.fedoraproject.org/name=bodhi-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1A unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app07.phx2.fedoraproject.org/name=bodhi-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1B unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app01.stg.phx2.fedoraproject.org/name=bodhi-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1C unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app02.stg.phx2.fedoraproject.org/name=bodhi-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1D unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app01.phx2.fedoraproject.org/name=mediawiki-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1E unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app02.phx2.fedoraproject.org/name=mediawiki-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1F unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app03.phx2.fedoraproject.org/name=mediawiki-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 20 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app04.phx2.fedoraproject.org/name=mediawiki-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 21 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app05.phx2.fedoraproject.org/name=mediawiki-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 22 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app06.phx2.fedoraproject.org/name=mediawiki-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 23 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app07.phx2.fedoraproject.org/name=mediawiki-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 24 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app01.stg.phx2.fedoraproject.org/name=mediawiki-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 25 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app02.stg.phx2.fedoraproject.org/name=mediawiki-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 26 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fas-fas01.phx2.fedoraproject.org/name=fas-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 27 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fas-fas01.stg.phx2.fedoraproject.org/name=fas-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 28 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fas-fas01.dev.phx2.fedoraproject.org/name=fas-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 29 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedoratagger-packages01.phx2.fedoraproject.org/name=fedoratagger-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2A unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedoratagger-packages02.phx2.fedoraproject.org/name=fedoratagger-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2B unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedoratagger-packages01.stg.phx2.fedoraproject.org/name=fedoratagger-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2C unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=scm-pkgs01.phx2.fedoraproject.org/name=scm-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app02.stg.phx2.fedoraproject.org.csr0000644000175000017500000000147212207656441033140 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICKTCCAZICAQAwgegxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEzMDEGA1UEAxMqbWVkaWF3aWtpLWFwcDAyLnN0Zy5waHgyLmZlZG9yYXBy b2plY3Qub3JnMTMwMQYDVQQpEyptZWRpYXdpa2ktYXBwMDIuc3RnLnBoeDIuZmVk b3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2pl Y3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEsb7cnJW/lVkbw+fo a1WE26XpRpZs1lFenIxiwLCYhk3iH1Zd4tktYQAGP7ieh1DbyXzYflYDNblYB8Kq ONfquIqHoQn4TBPTAY7DLm7AtvhtovZ5sUyDb/gRobLidRWwymF3T0scpblA2UaK QQDcYJk+zeu/MRN65qg8Bn+DIwIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAK87p ysz+JmXvradhGK3kTUv1bWNr3ufW44N0qzhEE726RYFBNmHOmS3y7kBGnlSItpcN 2p77HzpNKZsMa5EqOabNr41o+a+nsWthHwRvgvniMX6xOt/vrpGvGAuy+SAmxaj5 jzljUlBUz9l6IZj0B1Dbq5avMI8PMqoZzAyeYXk= -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441034624 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBANPQgqJMwUo/40Wk CPC2RvgUTdE/2o1xergXFztcz0o5IfpclSPBi0yAHnI3hJJWR1A0V/27eUuLOa8a bz2vD/I0yeicSwnFagVCcZqQL5ZJlqUPf9loSV/vh5CjBSXmRFBBJSURf5+WA50C 9XROPsI9hG9abDw+tMXPlfyHDmPnAgMBAAECgYEAk1EpGlKB+O84Vb5BzZEpCO+u M8PScJ+ld5XvvYTOU1QrMqLjw4ugI6PUCSJd3R2O2dSeAkY6lXUOuJ+NEPzJ/Cn+ WoGWC/yPuCZqnpg9pBEcHQwHgU9KZiMvxxoiJJK6DRGsFm6Gwugyte4SK5Jxf4tp ywZ5hQBhZEN0JpFyp0ECQQDvAzMwE09qFmLnVMk282t+XUFZh5ttQlq1sm9lJjFL igv56vDxHGjPGsNrx6BJxDGviGDjiSsa07RDLY/ww+BHAkEA4t5yQE+2V95gjE7F Dhvr/MEEudM2IUmtw7FLtpURbxoJzVWTxoqTo2v92eDnF8a3mDRaQvGVJeM7nEFH JRvPYQJAZW0jNLyND8TuNaLaPHJx5E7oo3iTcXseCUruUKszcg3j5StZEchvhaui 0EMHdyZFu2qRSx1zaE/8iCF2msJUkwJBANXzLFIEGpVBLVIEkwecQ3Ao43kPe9Pm tQ2BLULxz/Az4RyY4PTzCQqsNEj+NVGR4OCUNq89PwftBPF2Ck8vq+ECQQCmaDEW FbTFxVpg5jP55f+44PyFt4Bz0CqXpj7zZmqr7A5nefkObGuI4pvbi7P+GKbS2WUk TUIIzoyRQoB29iF1 -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-pkgs01.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031674 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGzCCAYQCAQAwgdoxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEsMCoGA1UEAxMjc2hlbGwtcGtnczAxLnBoeDIuZmVkb3JhcHJvamVjdC5v cmcxLDAqBgNVBCkTI3NoZWxsLXBrZ3MwMS5waHgyLmZlZG9yYXByb2plY3Qub3Jn MSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkq hkiG9w0BAQEFAAOBjQAwgYkCgYEA1Tf71IqlMEARJetmuo1VMWij4Bp328c3o4RE 7ZM/1DKLWaH7i2RvL1T2aar6sIj/u7UdSxinG+xUwtBWpdp4SxcTO4uT83zfPRYh xJB+HWvvEzG+QU4hp5ecK3ubMn5iRF9ZrDF0ErrVzxQNWEIaSbnGKlPoh3cSPi7q 401A/4sCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAMEUK9yuqbpPfwe1zqpfE26t t7n5wf5oaxtQBYUN8vM2f9sC7/+mVgtimDSrVKThTfkenNlapNPvsBTtP+9zzHfG 1is/aAm5Akurdhukc+V3ooWSjNh+/JfMpnl6PoZ/ySlQoY0XDu4nTzc425O+R0ei sNhSYiqiX/4BmabXjxoC -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-fas01.dev.phx2.fedoraproject.org.crt0000644000175000017500000001005112207656441032247 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 14 (0xe) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-fas01.dev.phx2.fedoraproject.org/name=shell-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:df:60:8a:56:a3:8e:46:fa:db:94:95:3e:27:ba: 87:38:f5:0f:f7:4f:29:41:38:25:b6:f5:1c:bf:49: 89:38:41:ed:29:26:f9:96:6a:0c:98:16:ed:0d:e9: 01:56:d5:f5:83:07:7e:8b:40:c7:df:89:91:2e:ea: 0d:82:d9:91:13:35:61:d1:22:e8:56:96:18:a0:45: 3f:45:57:91:d2:86:76:58:66:f2:38:70:fb:db:81: 2a:b5:d6:a9:01:80:85:59:97:d3:3d:49:35:c6:6c: 2d:b5:a8:47:50:9d:b4:b9:79:95:8b:c2:6b:25:20: f3:e8:96:6d:79:fc:53:be:a5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E7:96:A6:27:1B:7F:5F:3A:37:D5:0D:67:56:D5:65:0D:A5:DF:58:0A X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ef:83:7d:74:e5:d4:ef:85:c1:21:cd:c1:fa:eb:6e:75:67:ea: 75:56:59:d2:a2:1b:33:16:4e:7f:47:fa:19:64:b6:01:9f:c0: d7:c6:2f:c3:ff:fd:62:9e:e2:7b:1d:6a:32:32:14:fc:83:f9: e4:7c:58:f7:7c:03:2a:d8:84:7f:49:5e:c4:84:ef:73:1a:6f: 7e:e0:a5:4b:19:11:49:c4:7e:ba:30:b5:ba:84:e6:b5:1b:c1: 7f:ad:10:75:99:5f:28:55:1b:48:9b:ee:30:7e:be:fa:a2:0f: 31:0a:5d:4d:f5:34:7f:66:aa:6f:0d:d6:e3:8f:f6:ba:72:56: 5f:f8 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBDjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZzaGVsbC1mYXMw MS5kZXYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmc2hlbGwtZmFz MDEuZGV2LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDfYIpWo45G+tuUlT4nuoc49Q/3TylBOCW29Ry/SYk4Qe0pJvmWagyYFu0N6QFW 1fWDB36LQMffiZEu6g2C2ZETNWHRIuhWlhigRT9FV5HShnZYZvI4cPvbgSq11qkB gIVZl9M9STXGbC21qEdQnbS5eZWLwmslIPPolm15/FO+pQIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBTnlqYnG39fOjfVDWdW1WUNpd9YCjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEA74N9dOXU74XBIc3B+utudWfqdVZZ0qIbMxZO f0f6GWS2AZ/A18Yvw//9Yp7iex1qMjIU/IP55HxY93wDKtiEf0lexITvcxpvfuCl SxkRScR+ujC1uoTmtRvBf60QdZlfKFUbSJvuMH6++qIPMQpdTfU0f2aqbw3W44/2 unJWX/g= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/mediawiki-app06.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032352 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICITCCAYoCAQAwgeAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEvMC0GA1UEAxMmbWVkaWF3aWtpLWFwcDA2LnBoeDIuZmVkb3JhcHJvamVj dC5vcmcxLzAtBgNVBCkTJm1lZGlhd2lraS1hcHAwNi5waHgyLmZlZG9yYXByb2pl Y3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7GkF14+9ssbc3ZyOKK8k8ylY65mp yvDCvm2W6jGbSe05X+Y3HyyjUH094HaRAOdcpTCe5axHSGMN2bCh8uS8nBR6Tw8/ m8EXEGyEeMjOcBMwA88+YrF39t7hu38fhklfNZnpQ7iqtysJcgn8m63/zerzdbL7 gvIaF68Y8gSK2rsCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBADPufs9C9BIoRXRU q7Nr5/YBRF9RaczA9Y5b5X4oOpqH1Bsnp/z57dL6jN0W5KyR4jLUibiAimSEp/uq 2iWOdSQk+6LMQioQNEKipMkfH0Bv9zGOneXg/vTS4A87hAVCJ5cmU+5cDTtiBBOJ 5R1i75e54wTXsqHuiFwaSZckQtSy -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/scm-pkgs01.stg.phx2.fedoraproject.org.csr0000644000175000017500000000145612207656441032144 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICHzCCAYgCAQAwgd4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEuMCwGA1UEAxMlc2NtLXBrZ3MwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0 Lm9yZzEuMCwGA1UEKRMlc2NtLXBrZ3MwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0 Lm9yZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8w DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANCNuo7CLGW2gPK5SLi5pndhdtS/iEtr o6Zxwf7HRgBJ5xqqZRCGL6BCgiJOhSiw/vqUnSi0SxaAVFvd3sR3DOuO6pGQvSL/ 5+Ij9D29BN49EQ6bDORRsdn8IxzuHwxZE6AkCirEooClA+SMpnqCVk4ksbDRnhXG mEENTW/5kSYBAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQA1m6TtK5SrbuavV5Qu rYgdE/qQFSTPN783xkTyT6iMPXelKHG+3pkTMKRc0qqrFy9DtPsf2NYZwmMJuIq1 Wt9uW9wMWHA7DM3a/RfKtALt5T+5P+hnmWbM/bzBhbeVStqtwIj+63rkm/bm5E+o HRsR1HjK1yPdPje3wIQMpibeCg== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app07.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031515 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMWtGBdqVCoVfrBO fOBiE+32Wr4+J6CSfiPTYUBRe5F5lL16ePAQMJjUXzh3BZ25V1iJvHLmbVWoowFD e0VimlTvTxzDgGzAbJWHZyhJd9G/ZAQqFIjIEpt/zUELOXm+BlkeOnxtT4GeIWum vs2RlOfa0ujr9jfU/5T7W1w+VX09AgMBAAECgYEAhZGXVMMRCbqqdwEh2hALfWBY InInHpW9zAFZljc4sqyfd4SY0UVvQOVHTgUGc3O39GhlQJI40Id5VTI+yjx9ILLY p6cuzeU+qO7Jn2NZ/JR3iFaA7NAPisk0VXb8OnXhbQl8m5SFK7uxNSlO8MWirMuA T+g/fj9o/Br9UObGylUCQQD82yuFOSQwWRFduoUcDFfadz7WYuI0m77f5OamjaPw dw5hT/GnlhfS3ZYCYAiuP6vbREAzfXp8WnDSH++xxxVTAkEAyCJJ49ruAknJibjz LkpkUpzoTUCc6/4TElGWJ8alFfqd3oXvWXWK+NHRFWrDotB9Eu8+4nTr2t9P/iTW mdfBLwJAV2V5uWZyt7NRaVAaygMKKpykv30WKpDafJClmFPEokzET6ZOJFqgiWXF f7Spy3B+eh8xAZsRRwILlNUtCAmDuQJAfNf24+6EHmVNFV6MREofvvEmcFpoCUbb OsguNO3TuZw2ssM2BcYvRPwNw6BwHbaU7yTTQ4zQPB6l1dHBFQLj/QJBANvi8xfG kExy81PWxWyiFsHqlpLgkAoQ5jjXSxKlcV53jXhV4P4Z/YaPPmUgaYMJEm1o0rN6 5IMe+2wtKPe9BZA= -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app01.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031460 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 20 (0x14) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app01.phx2.fedoraproject.org/name=bodhi-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d6:22:73:4e:ac:e4:76:94:5d:d5:91:86:1c:5b: 36:1b:39:34:0f:c7:4b:12:c8:43:97:30:b5:e3:cd: 72:d5:9a:d0:db:0a:3a:fb:e1:92:32:18:0a:e6:90: f4:b3:fe:f0:a5:d0:54:81:dc:60:14:e2:22:39:28: 8f:34:65:72:72:ad:08:dc:e4:47:23:02:4c:de:02: f5:f2:44:17:3c:b8:64:44:cf:94:e3:f6:1a:08:27: 6f:a5:45:0a:2c:64:45:d6:cf:0e:83:67:44:b0:f8: ad:fc:12:4b:27:9c:85:f3:45:b5:1a:b3:aa:eb:66: 2b:a1:af:21:81:86:f3:df:09 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 93:78:BE:E2:F2:D6:18:DF:CE:6A:CF:8F:FD:86:9E:8D:7A:3C:10:55 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 3a:8f:ed:20:63:0b:b3:9c:a7:77:dd:28:71:09:29:45:2f:03: ec:c2:83:6a:23:61:a4:24:54:67:14:31:16:bf:69:14:af:7c: 1d:91:22:f1:1b:13:f7:da:90:05:bb:2d:d1:11:17:52:99:ae: e9:e0:30:08:9f:d1:51:5c:a9:45:7d:1c:34:97:cf:98:8b:ae: 71:03:87:b2:b3:f3:45:a6:ec:26:4b:b6:92:64:1f:2a:36:5f: 46:8f:89:61:d5:34:91:64:fe:98:86:19:ef:98:62:1d:6f:10: 4d:96:95:a0:cf:cc:57:43:e4:07:1f:ff:b2:81:90:43:20:a6: 9b:19 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBFDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw MS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwMS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1iJzTqzk dpRd1ZGGHFs2Gzk0D8dLEshDlzC1481y1ZrQ2wo6++GSMhgK5pD0s/7wpdBUgdxg FOIiOSiPNGVycq0I3ORHIwJM3gL18kQXPLhkRM+U4/YaCCdvpUUKLGRF1s8Og2dE sPit/BJLJ5yF80W1GrOq62Yroa8hgYbz3wkCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUk3i+4vLWGN/Oas+P/YaejXo8EFUwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBADqP7SBjC7Ocp3fdKHEJKUUvA+zCg2ojYaQkVGcUMRa/aRSv fB2RIvEbE/fakAW7LdERF1KZrungMAif0VFcqUV9HDSXz5iLrnEDh7Kz80Wm7CZL tpJkHyo2X0aPiWHVNJFk/piGGe+YYh1vEE2WlaDPzFdD5Acf/7KBkEMgppsZ -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.phx2.fedoraproject.org.csr0000644000175000017500000000143612207656441031142 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICFTCCAX4CAQAwgdQxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzEpMCcGA1UEAxMgZmFzLWZhczAxLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcx KTAnBgNVBCkTIGZhcy1mYXMwMS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJ KoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAnac3NAqiZsCoyUB3WNRBoauIt+V1h8V9LNNxXe5vDBEf UTuMLqCyVOQBSqDQCMN7GAYqGvWfSkdbLI/Vg/HYhySCYTeyh4F4I3m3n14iOnUR o2nmlMAzA1PRcUVeTsrMlaaSk3yuauaJccF4Zw3G70G0yFerMYKAtVIV1rMpP5kC AwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAC8ZnlHzgqNEnopXa6lkf0Je245u6rhz njUwdokBacL755hw9KHXRJhzp8/OakbcpTHjxfHz/jGEEcvoIWn3quGSdMf82NMg m8RBBlETrJ0E7IUbTSDnpSFf3g6wb7S1oZzyP59JplbxWiVtpDUX4ljeJncXSWJi eNobjfNoughS -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/06.pem0000644000175000017500000001002312207656441023374 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 6 (0x6) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app04.phx2.fedoraproject.org/name=shell-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:e8:ae:46:69:1a:0e:10:7f:93:dd:18:cf:e0:62: 75:ef:44:6f:fc:79:d3:c6:6b:0c:27:84:2e:b5:41: 53:eb:ad:24:41:1c:1b:2c:8e:da:87:17:9b:12:35: cf:d4:e7:68:93:47:12:b6:e3:10:e7:aa:73:1e:fc: 82:47:1f:92:30:ba:89:2e:36:91:b6:55:32:c0:12: cf:75:6b:5b:98:06:06:5c:92:a5:fe:b6:26:dc:ea: 12:72:be:2b:e5:b4:62:e2:12:82:94:d8:79:c6:14: 0f:63:64:ad:7b:73:d4:83:9d:c2:b5:54:5e:d5:ab: 3e:c1:2e:66:8b:2e:ef:42:35 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: AE:12:E4:43:F3:1A:3F:DA:A5:21:20:DF:57:3D:C6:76:31:F6:A4:00 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ca:49:0a:ad:a8:10:3f:56:67:2a:80:18:03:5c:e3:2a:c0:5f: 60:a0:94:32:e4:b5:8d:ce:84:99:f2:a2:5c:37:05:d2:e0:25: cb:7d:cf:44:0f:88:24:56:b7:6e:2c:c0:61:21:93:42:3b:a8: 56:d2:57:14:8e:36:1b:6f:b6:30:32:ea:19:3a:61:83:0b:36: ef:1b:d7:74:c8:ed:75:e4:e6:5c:9f:44:e6:d8:2d:c8:be:d9: b3:81:33:8c:69:09:5b:8c:6c:fb:a1:3d:09:e4:8d:11:fb:a3: 2c:e8:5a:79:b8:5e:ea:67:5d:1f:22:95:73:8c:99:0e:05:2a: fb:29 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw NC5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNC5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6K5GaRoO EH+T3RjP4GJ170Rv/HnTxmsMJ4QutUFT660kQRwbLI7ahxebEjXP1Odok0cStuMQ 56pzHvyCRx+SMLqJLjaRtlUywBLPdWtbmAYGXJKl/rYm3OoScr4r5bRi4hKClNh5 xhQPY2Ste3PUg53CtVRe1as+wS5miy7vQjUCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUrhLkQ/MaP9qlISDfVz3GdjH2pAAwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMpJCq2oED9WZyqAGANc4yrAX2CglDLktY3OhJnyolw3BdLg Jct9z0QPiCRWt24swGEhk0I7qFbSVxSONhtvtjAy6hk6YYMLNu8b13TI7XXk5lyf RObYLci+2bOBM4xpCVuMbPuhPQnkjRH7oyzoWnm4XupnXR8ilXOMmQ4FKvsp -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/05.pem0000644000175000017500000001002312207656441023373 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 5 (0x5) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app03.phx2.fedoraproject.org/name=shell-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:bc:36:a9:25:04:96:6a:eb:80:5e:e3:9d:a5:45: a0:56:88:51:4c:61:bf:89:7a:d8:50:8a:76:51:1f: bb:11:b9:df:93:e9:bc:63:a7:0a:eb:9a:de:70:f2: 97:13:74:6d:ac:fe:b7:a1:3d:23:a1:b7:e7:e4:01: 59:f4:6a:de:d1:58:aa:0f:c9:1b:39:17:5a:e4:c3: 28:e4:1a:d7:3e:60:0d:4d:aa:13:b8:52:3a:7d:d8: c9:31:95:45:aa:f4:13:c1:e1:f5:f6:30:91:87:25: 6d:84:69:88:c1:74:69:8b:5a:f2:6f:16:2c:bf:d5: be:4a:18:29:54:c5:a7:fb:83 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: C2:A3:12:85:02:0D:63:6B:D3:0D:51:EC:62:15:BE:C0:C3:BF:1A:16 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption c9:bf:d7:b4:95:1a:12:93:f5:d8:5b:c7:76:fa:b8:48:9d:51: 49:30:22:e7:28:2f:b3:75:de:af:90:02:d7:61:62:be:b0:26: 15:54:a1:1f:41:ee:e2:b0:e5:f5:ba:18:bb:eb:e1:d6:c6:c1: 48:b0:b5:7c:9c:e6:72:91:c6:81:48:91:06:e0:c7:61:e9:15: a1:a7:7b:23:31:7c:4c:12:4c:31:3c:6a:01:ec:78:f7:db:f8: b6:d6:31:b6:d5:92:23:e1:11:fc:12:18:0e:ae:fb:3a:b8:c1: 56:c6:51:5a:54:35:85:b8:84:b7:93:c7:95:fb:44:a3:bf:0f: f2:01 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw My5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwMy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvDapJQSW auuAXuOdpUWgVohRTGG/iXrYUIp2UR+7Ebnfk+m8Y6cK65recPKXE3RtrP63oT0j obfn5AFZ9Gre0ViqD8kbORda5MMo5BrXPmANTaoTuFI6fdjJMZVFqvQTweH19jCR hyVthGmIwXRpi1rybxYsv9W+ShgpVMWn+4MCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUwqMShQINY2vTDVHsYhW+wMO/GhYwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMm/17SVGhKT9dhbx3b6uEidUUkwIucoL7N13q+QAtdhYr6w JhVUoR9B7uKw5fW6GLvr4dbGwUiwtXyc5nKRxoFIkQbgx2HpFaGneyMxfEwSTDE8 agHsePfb+LbWMbbVkiPhEfwSGA6u+zq4wVbGUVpUNYW4hLeTx5X7RKO/D/IB -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fedoratagger-packages02.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441034031 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAM7lpFZKnsxGMkg2 wt1gVjQf0lAGjn1BwmSaFikVchC6g4fgKZn9+Rs2BmQg7pSSAPaKHY4N3MfvsSau WHCwnnrdKu+3Ex7OBp5esLdG+LopVt9X+p7252ZMxkuZKg99mNbdJlA4rw50NApQ I3vc/MXtSHbg/E7IUGF8GE1B1CcNAgMBAAECgYEApqsDmaf/CFu8AcRrcd47Uz4X M/Q0MN8ac+RU2b+25Zb6giioGq8nTy5UM7D7wJ9lOzXD3T15j26dbKWiBRWic7B8 dKjfE34T76Ewg5Uw1GQflkOUBSeToMxLznzcMaGJa/Gqg2sDg6ok4Ck+BT9OCoan 1ZanPCYzSWAX41pvURkCQQDq2YdhiBBR9WR5C49X4Kzlxbpnt0o0OYqsbVNEIkZm dACg4Ssecl56NuQ87trV3yv5CaLpykdo7zz7/DXtquF3AkEA4Yepp2fotH5SOVuy 9Q5nfXvk2RfK+17Jp/yXlLla1Zbq9Haehk7PUAmIHLznaPQGzUbd04ClrUvn5nKF 5Rh8mwJAbM/e/xyI20CEjeUCRGgwE8H6bSWqduoWS2/X/aCX1851oBTT4qaBCcU3 GNhegmuFtzx0xDfZwE/ghKxF3FmpXwJAOdSUr0WYyTefE/AsmmQAK5AqZXSRaxWq NfYyVEOXRC+3vcnw6lWpGUfobB4QZLw2RksGtKZHVYGiTFhPdyhpQwJAHUegGhVf X93tBht5NrATZyKaVVzrU1gcKFlyoSarD+orSW40u+8Jx+4pmlob2fDfsQw0Q1R4 ScDaMaACExjV+g== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/index.txt.attr.old0000644000175000017500000000002512207656441026043 0ustar threebeanthreebean00000000000000unique_subject = yes fedmsg-0.7.1/fedmsg/tests/test_certs/keys/1E.pem0000644000175000017500000001005212207656441023416 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 30 (0x1e) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app02.phx2.fedoraproject.org/name=mediawiki-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b9:d2:49:0f:11:a0:6b:14:f6:c5:10:cc:9e:83: 3d:8f:03:05:20:d9:d9:5f:99:92:0e:e3:7d:4f:08: 7d:3d:f6:b9:4c:b4:8d:7d:64:15:ad:b3:de:07:a9: 64:0e:a9:9b:4f:ca:47:32:a7:57:95:27:d3:8d:16: f3:58:cc:6b:63:a4:d9:ad:db:93:aa:1c:5e:4a:b4: 39:94:dd:d2:43:be:26:53:8b:ef:cb:82:11:61:82: 8b:61:d1:c3:54:1e:17:37:25:6f:c8:a8:d1:0e:a4: b6:cc:e1:fb:4b:42:88:34:f6:2f:3d:a1:f4:d3:f6: b7:f1:b5:bf:2e:d3:11:7f:ef Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 7C:CC:1E:F5:C3:3F:C9:81:8F:77:66:1C:E8:E7:BD:62:C0:70:CF:BA X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 85:0c:df:b6:93:a2:31:5a:e2:31:0e:1a:7d:6f:f0:49:37:fd: 11:d1:51:15:32:06:c1:04:81:59:b4:5e:72:db:90:f6:75:b8: c6:c9:f4:32:42:86:e1:bf:8a:5c:7e:dd:a3:70:83:10:c4:ed: 81:49:41:bb:77:db:a2:76:60:cf:9e:d7:34:43:93:da:ed:dc: 4f:0f:50:70:78:69:4d:df:19:fe:28:00:3b:23:80:48:a0:fe: 0c:7c:d4:67:52:0d:49:17:82:f9:2b:05:c7:d6:91:2c:d8:0c: 12:0e:e3:b7:9e:ee:4b:e7:5b:9d:24:de:3e:f9:b7:04:a5:8b: 0f:97 -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBHjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDIucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDAyLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQC50kkPEaBrFPbFEMyegz2PAwUg2dlfmZIO431PCH099rlMtI19ZBWts94HqWQO qZtPykcyp1eVJ9ONFvNYzGtjpNmt25OqHF5KtDmU3dJDviZTi+/LghFhgoth0cNU Hhc3JW/IqNEOpLbM4ftLQog09i89ofTT9rfxtb8u0xF/7wIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBR8zB71wz/JgY93Zhzo571iwHDPujCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAhQzftpOiMVriMQ4afW/wSTf9EdFRFTIGwQSB WbRectuQ9nW4xsn0MkKG4b+KXH7do3CDEMTtgUlBu3fbonZgz57XNEOT2u3cTw9Q cHhpTd8Z/igAOyOASKD+DHzUZ1INSReC+SsFx9aRLNgMEg7jt57uS+dbnSTePvm3 BKWLD5c= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app04.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031513 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMic2hlbGwtYXBwMDQucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMic2hlbGwtYXBwMDQucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAOiuRmkaDhB/k90Yz+Bide9Eb/x508ZrDCeELrVB U+utJEEcGyyO2ocXmxI1z9TnaJNHErbjEOeqcx78gkcfkjC6iS42kbZVMsASz3Vr W5gGBlySpf62JtzqEnK+K+W0YuISgpTYecYUD2NkrXtz1IOdwrVUXtWrPsEuZosu 70I1AgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQB3GEk8WaWUlJ3SM/ZvTLcmEDO1 v2cFErHMMKEqOsEP7PNcbipy5T7AeQZA4T5EI3KOvbp0CTjU0/IcPR5sxbeXqcwm 7K9l/sCI5WyrOUKlE9dIhfe78BhimXWYIX9mmrQIEDQfZOKe5d2CxRLZFMqHUghe Xq8oo9GB8utLNCCOaQ== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/scm-pkgs01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441032142 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANCNuo7CLGW2gPK5 SLi5pndhdtS/iEtro6Zxwf7HRgBJ5xqqZRCGL6BCgiJOhSiw/vqUnSi0SxaAVFvd 3sR3DOuO6pGQvSL/5+Ij9D29BN49EQ6bDORRsdn8IxzuHwxZE6AkCirEooClA+SM pnqCVk4ksbDRnhXGmEENTW/5kSYBAgMBAAECgYBqy6j04coKa+KsaOUscyUjjO1l FI+ez4gF+8rzxOe7zhxiM099nrlUv7oUB1F4/OoVN3UjGvA4nY6VXJBu2ufp6n5f GMoOagw9XccRMYUcrW6DfAckcs7qCZX4ayLmynaagfeHO6Buiix6z9tKZUt6ugYd qMQl370HfISUIB2gAQJBAP8gEInLioXqWKNVyGpnGnS7xckbqn6CVQ/7EUQ0TcYt +3Tz2lT6/WD8bfIUB0ZlSBmeH2whKla/HHhQ4GZptmECQQDRRMk55A3bfPY7z1jh bYH6aQyw6F+lRObsxEEc/B8yUHXP9tDuSKnQTXtkRjZy4VcK4w4zfqOFEBJDPjgH dFOhAkAkqK3Xrvibn33XEnd22pPRnD2iVShdf0rLvg7QFxfp1yefuX5w4ZPRANSn iTs2YU1H6RGozucvicyEeVKVRLFhAkEAo3ql7DiQ7r8fKLghSfGfUXzRMj5Fwbki 4SGrcDYxNMAQWQcKTqurJRPyafJDxNjug42+4VFz8pYMfkVTxdcFIQJAOdrNSd/1 obXzN9qUFHAx3LsJ5DPDM8kD00UZ7uQFkuZSmj9kPCmNW/0qMXfmC8LnXvaxDOzl 2gjd/1/m1a9IJA== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app05.phx2.fedoraproject.org.crt0000644000175000017500000001002512207656441031464 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 24 (0x18) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:53 2012 GMT Not After : Jul 13 21:18:53 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=bodhi-app05.phx2.fedoraproject.org/name=bodhi-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c8:42:bf:54:60:1b:06:3c:67:c9:80:0f:91:11: 5d:e9:71:bc:c2:50:c9:72:97:17:7b:3c:74:01:d3: c5:bd:d2:a5:0e:29:74:93:40:99:3e:2c:a9:0c:11: 89:4e:27:96:0e:38:3e:d1:b8:d3:ba:b8:30:8b:4c: 46:db:c3:85:43:5f:a9:2e:ce:37:28:96:72:89:e9: 53:1c:d9:42:71:6e:c5:86:be:9d:6f:56:8c:42:46: 56:cd:d5:38:c9:b7:5a:d5:9b:ee:67:04:b3:39:a0: fe:14:e1:f3:5b:d5:47:74:49:03:c4:f1:42:54:ff: 8d:12:a2:bf:3b:e9:26:51:5f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:B5:55:CD:B1:4D:4F:E3:BC:BA:A7:7F:57:9C:D3:4E:5B:01:51:DA X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption a1:49:36:a4:c7:27:6b:11:3d:e3:a0:b6:d1:d9:4b:fd:3e:a6: 09:e6:24:7b:18:fa:7b:ec:7a:e6:ff:bb:5f:bc:1a:62:bf:d1: 80:07:39:32:15:47:2e:ca:2a:a8:58:47:56:24:07:79:24:6b: 54:9e:ed:80:78:f5:c6:17:ea:0f:91:78:c2:2f:ed:99:3e:f9: f3:af:c7:ea:87:6a:87:ad:cf:a0:e4:71:67:3f:17:56:9b:9b: c6:4f:25:6e:21:23:80:e0:7a:7b:69:fa:c8:5b:7a:51:1f:31: 70:13:b4:c3:1b:51:37:9a:e7:b6:9e:f8:2a:71:fd:11:7e:fd: ff:21 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBGDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUzWhcNMjIwNzEzMjExODUzWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJib2RoaS1hcHAw NS5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJib2RoaS1hcHAwNS5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyEK/VGAb BjxnyYAPkRFd6XG8wlDJcpcXezx0AdPFvdKlDil0k0CZPiypDBGJTieWDjg+0bjT urgwi0xG28OFQ1+pLs43KJZyielTHNlCcW7Fhr6db1aMQkZWzdU4ybda1ZvuZwSz OaD+FOHzW9VHdEkDxPFCVP+NEqK/O+kmUV8CAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQU4bVVzbFNT+O8uqd/V5zTTlsBUdowgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAKFJNqTHJ2sRPeOgttHZS/0+pgnmJHsY+nvseub/u1+8GmK/ 0YAHOTIVRy7KKqhYR1YkB3kka1Se7YB49cYX6g+ReMIv7Zk++fOvx+qHaoetz6Dk cWc/F1abm8ZPJW4hI4Dgentp+shbelEfMXATtMMbUTea57ae+Cpx/RF+/f8h -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app05.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031472 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDUucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDUucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMhCv1RgGwY8Z8mAD5ERXelxvMJQyXKXF3s8dAHT xb3SpQ4pdJNAmT4sqQwRiU4nlg44PtG407q4MItMRtvDhUNfqS7ONyiWconpUxzZ QnFuxYa+nW9WjEJGVs3VOMm3WtWb7mcEszmg/hTh81vVR3RJA8TxQlT/jRKivzvp JlFfAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQC7sseakG5E1FYsTy+5mlEFYA4R q7V9jB5GzpNtJFXD1uC6UNCzarAGFm+9LI0Hrclsthx+O48eg9PPZrfQuzZPJAV3 ARuID3liw9qHRU+X7c/ummx7FcL5NklIueOK7eQMV6u8dWbyelGwqaO1M+xm80tr KZkYsnGSDTj7N+FZUA== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/22.pem0000644000175000017500000001005212207656441023374 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 34 (0x22) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app06.phx2.fedoraproject.org/name=mediawiki-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ec:69:05:d7:8f:bd:b2:c6:dc:dd:9c:8e:28:af: 24:f3:29:58:eb:99:a9:ca:f0:c2:be:6d:96:ea:31: 9b:49:ed:39:5f:e6:37:1f:2c:a3:50:7d:3d:e0:76: 91:00:e7:5c:a5:30:9e:e5:ac:47:48:63:0d:d9:b0: a1:f2:e4:bc:9c:14:7a:4f:0f:3f:9b:c1:17:10:6c: 84:78:c8:ce:70:13:30:03:cf:3e:62:b1:77:f6:de: e1:bb:7f:1f:86:49:5f:35:99:e9:43:b8:aa:b7:2b: 09:72:09:fc:9b:ad:ff:cd:ea:f3:75:b2:fb:82:f2: 1a:17:af:18:f2:04:8a:da:bb Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 15:10:CE:7A:4D:16:2F:86:92:63:BD:68:F3:48:1E:B8:88:2B:2D:66 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 9e:b8:6c:c7:b2:49:c1:3f:c6:72:e0:0e:9f:02:0f:36:9e:31: 88:db:fd:0e:07:b9:56:00:31:1e:50:90:ca:2f:25:73:96:a2: 8b:d0:f0:b0:7f:28:97:39:15:ee:95:0c:dc:53:7c:0e:e4:28: ce:4e:3a:9c:1b:17:56:6c:e1:a2:bb:12:fa:4c:fd:24:c3:19: 20:a3:ee:ac:3c:45:a2:dd:64:2f:b8:59:73:0e:ec:65:b0:83: 86:f3:de:1c:c6:4b:1f:3b:20:80:c6:5e:63:84:bf:69:15:29: 4c:46:f6:d4:8f:17:d6:a1:e3:68:aa:32:8d:56:34:06:ef:a8: 2f:6c -----BEGIN CERTIFICATE----- MIIEUTCCA7qgAwIBAgIBIjANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB4DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS8wLQYDVQQDEyZtZWRpYXdpa2kt YXBwMDYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEvMC0GA1UEKRMmbWVkaWF3aWtp LWFwcDA2LnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxJjAkBgkqhkiG9w0BCQEWF2Fk bWluQGZlZG9yYXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDsaQXXj72yxtzdnI4oryTzKVjrmanK8MK+bZbqMZtJ7Tlf5jcfLKNQfT3gdpEA 51ylMJ7lrEdIYw3ZsKHy5LycFHpPDz+bwRcQbIR4yM5wEzADzz5isXf23uG7fx+G SV81melDuKq3KwlyCfybrf/N6vN1svuC8hoXrxjyBIrauwIDAQABo4IBVzCCAVMw CQYDVR0TBAIwADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENl cnRpZmljYXRlMB0GA1UdDgQWBBQVEM56TRYvhpJjvWjzSB64iCstZjCB1QYDVR0j BIHNMIHKgBQAmKXV58RVDoSjZ/5mShbgBBXdIaGBpqSBozCBoDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzAN BgNVBCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVj dC5vcmeCCQCO6yjYqROdfDATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC B4AwDQYJKoZIhvcNAQEFBQADgYEAnrhsx7JJwT/GcuAOnwIPNp4xiNv9Dge5VgAx HlCQyi8lc5aii9DwsH8olzkV7pUM3FN8DuQozk46nBsXVmzhorsS+kz9JMMZIKPu rDxFot1kL7hZcw7sZbCDhvPeHMZLHzsggMZeY4S/aRUpTEb21I8X1qHjaKoyjVY0 Bu+oL2w= -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/bodhi-app06.phx2.fedoraproject.org.csr0000644000175000017500000000144612207656441031473 0ustar threebeanthreebean00000000000000-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgdgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOQzEQMA4GA1UE BxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2plY3QxDzANBgNVBAsTBmZl ZG1zZzErMCkGA1UEAxMiYm9kaGktYXBwMDYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9y ZzErMCkGA1UEKRMiYm9kaGktYXBwMDYucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEm MCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBALX8mtoIBCeeyBHz+6Agu0EqkeKmSPcnq9j4oc2L s9Ydzo3Tfp1xT2XOe8GwSYozh1jHGylcLQ7S+516QZCZFac6929keql15ycz+UIw mcVkx+OeZdL4+jO2cTlkuSvhPlFxN+qzpcElQdyNQcBP+AcMkIrUh2PrRfaiXOV4 DFmrAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQCJ1dyXP+wIJyNSzS9YYouCyS6N H/xDN4kGx1O4IbBYi18swaESEMEifF4EE/YM7HaNSU9Llh3ayYz/kEBNc0CEW7L/ FXsLrqdktSmRhMZ6o8zKzV5eQjV3qb5EOwFKG1YrVt/JVkzm38mAFUp6pJmNb67P 8QtinJAmLtmNepBXpg== -----END CERTIFICATE REQUEST----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/index.txt0000644000175000017500000002117512207656441024326 0ustar threebeanthreebean00000000000000V 220713211852Z 01 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org R 220713211852Z 120715211852Z 02 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=dummy-revoked/name=dummy-revoked/emailAddress=admin@fedoraproject.org V 220713211852Z 03 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app01.phx2.fedoraproject.org/name=shell-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 04 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app02.phx2.fedoraproject.org/name=shell-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 05 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app03.phx2.fedoraproject.org/name=shell-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 06 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app04.phx2.fedoraproject.org/name=shell-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 07 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app05.phx2.fedoraproject.org/name=shell-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 08 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app06.phx2.fedoraproject.org/name=shell-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 09 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app07.phx2.fedoraproject.org/name=shell-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0A unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app01.stg.phx2.fedoraproject.org/name=shell-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0B unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-app02.stg.phx2.fedoraproject.org/name=shell-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0C unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-fas01.phx2.fedoraproject.org/name=shell-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0D unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-fas01.stg.phx2.fedoraproject.org/name=shell-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0E unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-fas01.dev.phx2.fedoraproject.org/name=shell-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211852Z 0F unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-packages01.phx2.fedoraproject.org/name=shell-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 10 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-packages02.phx2.fedoraproject.org/name=shell-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 11 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-packages01.stg.phx2.fedoraproject.org/name=shell-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 12 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-pkgs01.phx2.fedoraproject.org/name=shell-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 13 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=shell-pkgs01.stg.phx2.fedoraproject.org/name=shell-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 14 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app01.phx2.fedoraproject.org/name=bodhi-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 15 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app02.phx2.fedoraproject.org/name=bodhi-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 16 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app03.phx2.fedoraproject.org/name=bodhi-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 17 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app04.phx2.fedoraproject.org/name=bodhi-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 18 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app05.phx2.fedoraproject.org/name=bodhi-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 19 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app06.phx2.fedoraproject.org/name=bodhi-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1A unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app07.phx2.fedoraproject.org/name=bodhi-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1B unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app01.stg.phx2.fedoraproject.org/name=bodhi-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1C unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=bodhi-app02.stg.phx2.fedoraproject.org/name=bodhi-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1D unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app01.phx2.fedoraproject.org/name=mediawiki-app01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1E unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app02.phx2.fedoraproject.org/name=mediawiki-app02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211853Z 1F unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app03.phx2.fedoraproject.org/name=mediawiki-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 20 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app04.phx2.fedoraproject.org/name=mediawiki-app04.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 21 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app05.phx2.fedoraproject.org/name=mediawiki-app05.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 22 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app06.phx2.fedoraproject.org/name=mediawiki-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 23 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app07.phx2.fedoraproject.org/name=mediawiki-app07.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 24 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app01.stg.phx2.fedoraproject.org/name=mediawiki-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 25 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=mediawiki-app02.stg.phx2.fedoraproject.org/name=mediawiki-app02.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 26 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fas-fas01.phx2.fedoraproject.org/name=fas-fas01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 27 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fas-fas01.stg.phx2.fedoraproject.org/name=fas-fas01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 28 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fas-fas01.dev.phx2.fedoraproject.org/name=fas-fas01.dev.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 29 unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedoratagger-packages01.phx2.fedoraproject.org/name=fedoratagger-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2A unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedoratagger-packages02.phx2.fedoraproject.org/name=fedoratagger-packages02.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2B unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedoratagger-packages01.stg.phx2.fedoraproject.org/name=fedoratagger-packages01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2C unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=scm-pkgs01.phx2.fedoraproject.org/name=scm-pkgs01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org V 220713211854Z 2D unknown /C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=scm-pkgs01.stg.phx2.fedoraproject.org/name=scm-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.dev.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031717 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJqJN0lcNf3xvz8w m6DVDjm2G9cZOXkRsSbTTpvizqQQxDb9E9n16IesxJZmzMArTpTBZB1BZOs+SEfY IDL1a/d1FfuaKxkgeeo2y/4EzsPdj7tJrgSB+QiKGqB4Tr2DUn1EKHI8uqJ3KL7x 5ocz/ITx8JWfAmvxsTDB94p7GLq3AgMBAAECgYA8jafsRwWhDCk0SYex7co1MvaV wnySxCv2WrZivuzZvPgl0+UDcyg6gahGhuGUK2QPRfhEvmsdArqv7DAxx5kWMhcD 8e0LUTr/ay1XFEmgUr8it0OvExPUSqTh/wPdKn4MaT9UOFgE5/eAjRUzLVZrZGpH IeOd5EpkqihAZopVgQJBAMmbwEy8ULAWUEeTpsit/fA/2Ic7zWoLVSlEm/JJIk4U rPrxgumUH9o21htVV7PtZjAO5bs8RpKJEbA7u/kV7YMCQQDEOl7xEkyu2ckV2g2H Z91o7mA5NgUaIfGZXhsiRmboaM9qbvH1uFJxmKnKEZTq/Ss//aTsHtS+nZWxbOhb 8Uu9AkEAlrC07mY/RS6YeLeTDSKH0QBXvtTjN6Ua1Uqz6UfivUvU84h7Gk2d9UPR iwKiGBmUrM0lx2pJMZQERZ6QZKCQMwJAdNmVg9Sz2UNTHTIV8FYHYN7iae8jJqaj 6gJCAi0ORsNzEBw09W/nmEGiifPiS/SqdpaiSQErCr9oTpld3LJZuQJAZbRuF31t EQIH5Cdx8XGuPRJQm8oCWWclaplvSM86wipVNg2m+wOu09YqkFNnRrnAnsPbXYhd JUiCnk991H94xw== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/shell-app03.phx2.fedoraproject.org.crt0000644000175000017500000001002312207656441031502 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 5 (0x5) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app03.phx2.fedoraproject.org/name=shell-app03.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:bc:36:a9:25:04:96:6a:eb:80:5e:e3:9d:a5:45: a0:56:88:51:4c:61:bf:89:7a:d8:50:8a:76:51:1f: bb:11:b9:df:93:e9:bc:63:a7:0a:eb:9a:de:70:f2: 97:13:74:6d:ac:fe:b7:a1:3d:23:a1:b7:e7:e4:01: 59:f4:6a:de:d1:58:aa:0f:c9:1b:39:17:5a:e4:c3: 28:e4:1a:d7:3e:60:0d:4d:aa:13:b8:52:3a:7d:d8: c9:31:95:45:aa:f4:13:c1:e1:f5:f6:30:91:87:25: 6d:84:69:88:c1:74:69:8b:5a:f2:6f:16:2c:bf:d5: be:4a:18:29:54:c5:a7:fb:83 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: C2:A3:12:85:02:0D:63:6B:D3:0D:51:EC:62:15:BE:C0:C3:BF:1A:16 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption c9:bf:d7:b4:95:1a:12:93:f5:d8:5b:c7:76:fa:b8:48:9d:51: 49:30:22:e7:28:2f:b3:75:de:af:90:02:d7:61:62:be:b0:26: 15:54:a1:1f:41:ee:e2:b0:e5:f5:ba:18:bb:eb:e1:d6:c6:c1: 48:b0:b5:7c:9c:e6:72:91:c6:81:48:91:06:e0:c7:61:e9:15: a1:a7:7b:23:31:7c:4c:12:4c:31:3c:6a:01:ec:78:f7:db:f8: b6:d6:31:b6:d5:92:23:e1:11:fc:12:18:0e:ae:fb:3a:b8:c1: 56:c6:51:5a:54:35:85:b8:84:b7:93:c7:95:fb:44:a3:bf:0f: f2:01 -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBBTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw My5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwMy5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvDapJQSW auuAXuOdpUWgVohRTGG/iXrYUIp2UR+7Ebnfk+m8Y6cK65recPKXE3RtrP63oT0j obfn5AFZ9Gre0ViqD8kbORda5MMo5BrXPmANTaoTuFI6fdjJMZVFqvQTweH19jCR hyVthGmIwXRpi1rybxYsv9W+ShgpVMWn+4MCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUwqMShQINY2vTDVHsYhW+wMO/GhYwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMm/17SVGhKT9dhbx3b6uEidUUkwIucoL7N13q+QAtdhYr6w JhVUoR9B7uKw5fW6GLvr4dbGwUiwtXyc5nKRxoFIkQbgx2HpFaGneyMxfEwSTDE8 agHsePfb+LbWMbbVkiPhEfwSGA6u+zq4wVbGUVpUNYW4hLeTx5X7RKO/D/IB -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/scm-pkgs01.stg.phx2.fedoraproject.org.crt0000644000175000017500000001004412207656441032136 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 45 (0x2d) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=scm-pkgs01.stg.phx2.fedoraproject.org/name=scm-pkgs01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:d0:8d:ba:8e:c2:2c:65:b6:80:f2:b9:48:b8:b9: a6:77:61:76:d4:bf:88:4b:6b:a3:a6:71:c1:fe:c7: 46:00:49:e7:1a:aa:65:10:86:2f:a0:42:82:22:4e: 85:28:b0:fe:fa:94:9d:28:b4:4b:16:80:54:5b:dd: de:c4:77:0c:eb:8e:ea:91:90:bd:22:ff:e7:e2:23: f4:3d:bd:04:de:3d:11:0e:9b:0c:e4:51:b1:d9:fc: 23:1c:ee:1f:0c:59:13:a0:24:0a:2a:c4:a2:80:a5: 03:e4:8c:a6:7a:82:56:4e:24:b1:b0:d1:9e:15:c6: 98:41:0d:4d:6f:f9:91:26:01 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: A8:F3:3D:35:FB:85:39:3F:80:8C:DB:E0:F0:71:99:17:AA:E3:BD:1C X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 92:1a:dc:04:eb:bb:cc:22:eb:a0:70:03:d8:71:84:a0:7f:2b: e2:85:2a:2a:ff:51:6e:3c:02:b9:e5:4e:79:b2:40:55:c8:f0: 00:32:01:59:04:ad:ec:d8:0f:a5:56:73:11:86:19:4e:37:ad: 11:3c:43:36:0b:1b:ad:b4:51:6d:49:e8:51:40:6b:a9:2e:b9: b9:c3:98:c5:99:bf:7a:e5:fd:8b:6f:9e:76:d4:82:40:10:e5: 79:08:67:f3:d2:df:3f:e3:9c:8a:c5:f5:7d:43:0c:26:7c:a8: d4:fe:bc:d9:50:84:5c:91:71:d2:af:c7:18:f7:a2:b4:9b:61: 81:2a -----BEGIN CERTIFICATE----- MIIETzCCA7igAwIBAgIBLTANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB3jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMS4wLAYDVQQDEyVzY20tcGtnczAx LnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMS4wLAYDVQQpEyVzY20tcGtnczAx LnN0Zy5waHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1p bkBmZWRvcmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA 0I26jsIsZbaA8rlIuLmmd2F21L+IS2ujpnHB/sdGAEnnGqplEIYvoEKCIk6FKLD+ +pSdKLRLFoBUW93exHcM647qkZC9Iv/n4iP0Pb0E3j0RDpsM5FGx2fwjHO4fDFkT oCQKKsSigKUD5IymeoJWTiSxsNGeFcaYQQ1Nb/mRJgECAwEAAaOCAVcwggFTMAkG A1UdEwQCMAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0 aWZpY2F0ZTAdBgNVHQ4EFgQUqPM9NfuFOT+AjNvg8HGZF6rjvRwwgdUGA1UdIwSB zTCByoAUAJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3Jh IFByb2plY3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYD VQQpEwZmZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qu b3JnggkAjuso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeA MA0GCSqGSIb3DQEBBQUAA4GBAJIa3ATru8wi66BwA9hxhKB/K+KFKir/UW48Arnl TnmyQFXI8AAyAVkErezYD6VWcxGGGU43rRE8QzYLG620UW1J6FFAa6kuubnDmMWZ v3rl/YtvnnbUgkAQ5XkIZ/PS3z/jnIrF9X1DDCZ8qNT+vNlQhFyRcdKvxxj3orSb YYEq -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/fas-fas01.stg.phx2.fedoraproject.org.key0000644000175000017500000000162412207656441031736 0ustar threebeanthreebean00000000000000-----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAM/kRSoZacJJDely 8ek8HKfFNOea0q9B9N059o7eY2DmMv4zvcDH47rLbdW2rFBUjfwsFodowtHBkvG2 VQd3n9IyhszF03aOyLrlZ2nzmCo+flI5DSkTDoVTDzMbHzN/P+rmqwMYuP5eb8ct /wzdsFS7HKq7tS98GxZevASe/SsDAgMBAAECgYBez8ufbKGoIus+WdbsOScUeMMt EZYeqeUD9Ah3lgMa0UHWX0CeKEu7CEYaXspthHKQ3IaV0Phw82iR5kcXNb5kKtes ZfZ+RMemv73o3HciGZEuT3WQ9aHBhGV7j7+f5KciBcs6yHIISSBaDhOQIU/N8rmS 65RUtUQdaNqk/L/jsQJBAPpaN57+odxhZMxZzmgZivJrPDxyK3h2hidveDcrJXU8 LHjuYBAsqN2VmFZNBOVM5Z3/uUHOwiMT7323PYFLwhsCQQDUlNe0fT4woImfJmyC 2kEtvk9xqifcrOK1IHilhXL+IEs6zpwh/OXZK1om988BX6nHlAjOVPtkwUXKWLmW pAk5AkBem0U1okgMfgmXZ8CmejCV14xV01c2GKQttuQZBQcMvIaZ1Isc0aOmyOde hZB6DosfIAokIjwfAWOZgGuPts9NAkAh9h134kJbNmqGGHdheEjNbAf5Grv/j0cw tJ1RpD44xyP9oyBidaqqxThD3Xceuw++qLG3dPAsqovhxcbwgAhRAkEAsYWFSmZe mQ+yq3Eqhx3YMdwpqM3w9uZlcW4LsH2LTnruCUCTF9vu5EKRk/fjUzYREEfJNj8v +Y4vjH8jiHSvkA== -----END PRIVATE KEY----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/08.pem0000644000175000017500000001002312207656441023376 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 8 (0x8) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-app06.phx2.fedoraproject.org/name=shell-app06.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:ac:33:0a:e3:3c:da:cb:6a:12:c9:04:e0:31:61: 25:5f:d8:b2:69:7a:d9:ca:f9:b3:8e:cd:6f:b0:33: fa:dd:cb:ef:a6:3a:d2:60:69:2b:6a:04:e9:83:8e: 63:10:1f:81:f4:58:23:8f:7a:e4:c4:b9:12:d6:f2: 42:04:e3:72:0d:22:04:33:30:76:2d:f4:4c:f3:fc: 62:51:49:eb:87:29:d8:95:89:2f:ae:54:5d:a4:b1: 14:d7:8f:ef:66:df:97:d4:20:1b:26:5f:b8:e6:84: 49:b7:8f:b2:1f:b5:49:f8:ba:f8:ae:24:c5:e2:5a: e4:36:0f:b7:85:fa:bf:f5:e3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 72:6C:B1:91:AD:97:38:0A:9C:D2:4C:23:F1:04:BD:D7:DD:21:34:31 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption c7:4b:91:26:dc:d8:33:3c:f5:8b:bd:05:b4:7c:9a:8a:3b:b3: 74:ee:4e:fa:39:87:39:7e:0e:8f:f6:b9:c6:02:b3:81:2c:a4: 79:1b:9a:7a:31:9b:c9:df:80:16:9d:f6:21:86:01:6a:84:92: f9:48:9f:40:7b:0b:35:c2:6a:e4:5e:91:d1:63:33:7a:f8:02: 2f:56:19:57:40:7c:fd:96:2c:b8:80:a1:89:42:65:e8:c9:35: fc:04:67:60:7c:5d:e9:d1:02:75:6d:db:34:fe:c3:c7:70:88: 98:cc:66:61:7c:77:39:04:4e:f1:c7:b7:4f:2a:c4:30:60:f7: 2b:9a -----BEGIN CERTIFICATE----- MIIESTCCA7KgAwIBAgIBCDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB2DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMSswKQYDVQQDEyJzaGVsbC1hcHAw Ni5waHgyLmZlZG9yYXByb2plY3Qub3JnMSswKQYDVQQpEyJzaGVsbC1hcHAwNi5w aHgyLmZlZG9yYXByb2plY3Qub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArDMK4zza y2oSyQTgMWElX9iyaXrZyvmzjs1vsDP63cvvpjrSYGkragTpg45jEB+B9Fgjj3rk xLkS1vJCBONyDSIEMzB2LfRM8/xiUUnrhynYlYkvrlRdpLEU14/vZt+X1CAbJl+4 5oRJt4+yH7VJ+Lr4riTF4lrkNg+3hfq/9eMCAwEAAaOCAVcwggFTMAkGA1UdEwQC MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0 ZTAdBgNVHQ4EFgQUcmyxka2XOAqc0kwj8QS9190hNDEwgdUGA1UdIwSBzTCByoAU AJil1efEVQ6Eo2f+ZkoW4AQV3SGhgaakgaMwgaAxCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEXMBUGA1UEChMORmVkb3JhIFByb2pl Y3QxDzANBgNVBAsTBmZlZG1zZzEPMA0GA1UEAxMGZmVkbXNnMQ8wDQYDVQQpEwZm ZWRtc2cxJjAkBgkqhkiG9w0BCQEWF2FkbWluQGZlZG9yYXByb2plY3Qub3JnggkA juso2KkTnXwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqG SIb3DQEBBQUAA4GBAMdLkSbc2DM89Yu9BbR8moo7s3TuTvo5hzl+Do/2ucYCs4Es pHkbmnoxm8nfgBad9iGGAWqEkvlIn0B7CzXCauRekdFjM3r4Ai9WGVdAfP2WLLiA oYlCZejJNfwEZ2B8XenRAnVt2zT+w8dwiJjMZmF8dzkETvHHt08qxDBg9yua -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/0F.pem0000644000175000017500000001005712207656441023423 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 15 (0xf) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:52 2012 GMT Not After : Jul 13 21:18:52 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=shell-packages01.phx2.fedoraproject.org/name=shell-packages01.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:c1:08:27:90:ec:80:49:61:9d:6d:02:2a:bb:22: b1:4f:d6:2b:f3:cf:90:90:91:38:2b:59:a6:90:2f: 6a:41:82:4f:15:12:4e:15:fc:89:f7:a5:57:96:70: b8:e5:81:5f:da:8b:c7:aa:5b:b3:8c:61:be:e9:13: f7:43:f3:69:a2:09:1a:7d:72:25:c5:6f:28:be:b7: 29:1e:47:f9:8e:70:36:36:ca:0c:75:df:3e:7d:c1: ba:01:d1:76:cb:ee:b5:bf:c4:93:13:37:b1:79:ed: 89:e7:f8:f9:f5:53:93:68:ef:6c:ca:a5:6d:af:d7: c3:ca:a9:94:49:63:d6:a7:e1 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: 4D:1F:87:3B:3A:69:9E:5B:4F:65:3A:EA:C4:77:90:F9:8A:C3:41:5B X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 7e:b5:e5:d2:05:62:4f:52:22:b4:d0:36:a2:c4:56:b3:7b:c4: 50:9b:92:95:00:1d:10:0d:1b:7b:8e:9e:d0:a9:46:dd:c2:f7: a1:a1:2b:09:f3:90:9b:bc:a9:3c:5e:00:36:42:6c:c3:59:a1: b8:6a:b2:24:00:40:57:69:de:bd:af:61:5f:d7:7d:cd:77:50: 50:c5:f1:43:75:5b:aa:af:13:86:ca:ba:64:f2:bf:0f:d5:b6: c8:6f:83:28:39:94:13:d6:56:85:2d:4d:df:dc:84:12:1d:aa: 30:14:39:e0:12:d9:3d:61:2e:22:1c:79:18:fa:4a:9e:17:0d: db:85 -----BEGIN CERTIFICATE----- MIIEUzCCA7ygAwIBAgIBDzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODUyWhcNMjIwNzEzMjExODUyWjCB4jELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTAwLgYDVQQDEydzaGVsbC1wYWNr YWdlczAxLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMDAuBgNVBCkTJ3NoZWxsLXBh Y2thZ2VzMDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3DQEJARYX YWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMEIJ5DsgElhnW0CKrsisU/WK/PPkJCROCtZppAvakGCTxUSThX8ifelV5Zw uOWBX9qLx6pbs4xhvukT90PzaaIJGn1yJcVvKL63KR5H+Y5wNjbKDHXfPn3BugHR dsvutb/EkxM3sXntief4+fVTk2jvbMqlba/Xw8qplElj1qfhAgMBAAGjggFXMIIB UzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQg Q2VydGlmaWNhdGUwHQYDVR0OBBYEFE0fhzs6aZ5bT2U66sR3kPmKw0FbMIHVBgNV HSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQswCQYDVQQG EwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNVBAoTDkZl ZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZlZG1zZzEP MA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRvcmFwcm9q ZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE AwIHgDANBgkqhkiG9w0BAQUFAAOBgQB+teXSBWJPUiK00DaixFaze8RQm5KVAB0Q DRt7jp7QqUbdwvehoSsJ85CbvKk8XgA2QmzDWaG4arIkAEBXad69r2Ff133Nd1BQ xfFDdVuqrxOGyrpk8r8P1bbIb4MoOZQT1laFLU3f3IQSHaowFDngEtk9YS4iHHkY +kqeFw3bhQ== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/keys/24.pem0000644000175000017500000001007612207656441023404 0ustar threebeanthreebean00000000000000Certificate: Data: Version: 3 (0x2) Serial Number: 36 (0x24) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org Validity Not Before: Jul 15 21:18:54 2012 GMT Not After : Jul 13 21:18:54 2022 GMT Subject: C=US, ST=NC, L=Raleigh, O=Fedora Project, OU=fedmsg, CN=mediawiki-app01.stg.phx2.fedoraproject.org/name=mediawiki-app01.stg.phx2.fedoraproject.org/emailAddress=admin@fedoraproject.org Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:af:f8:46:1b:09:86:56:1f:02:e4:e6:8f:0a:01: 0e:af:5c:d5:e2:9f:2b:96:b4:32:73:da:d5:3f:c8: 07:24:7b:5e:cc:b2:a6:43:24:eb:c8:b8:42:38:2c: a6:0b:32:c0:bc:ac:3d:f7:3a:e3:7c:56:52:c6:c6: a1:2d:b7:53:9e:d4:75:c7:63:21:56:20:fa:c6:46: 77:c7:e8:96:4a:d1:49:b6:89:14:d1:18:0e:af:19: 4c:5b:da:bd:f8:3b:80:be:e0:5b:81:14:da:cc:e6: c5:99:1d:42:a6:3b:0b:93:30:14:d2:6f:83:d8:99: a1:49:1e:7b:e6:ea:60:c8:29 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: E1:66:08:F7:79:4A:8D:3A:85:0E:FD:04:C6:12:3C:44:91:D4:ED:91 X509v3 Authority Key Identifier: keyid:00:98:A5:D5:E7:C4:55:0E:84:A3:67:FE:66:4A:16:E0:04:15:DD:21 DirName:/C=US/ST=NC/L=Raleigh/O=Fedora Project/OU=fedmsg/CN=fedmsg/name=fedmsg/emailAddress=admin@fedoraproject.org serial:8E:EB:28:D8:A9:13:9D:7C X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 5e:95:9d:35:70:32:7b:25:01:3a:2d:36:3c:a4:86:5b:00:a5: c9:4a:ec:fb:9d:50:1d:22:02:1f:46:95:da:3f:97:3c:01:83: 41:b8:a0:2e:26:ee:7e:75:c9:39:9c:23:bf:ab:4e:a8:c9:5d: 40:be:e5:34:73:3c:e8:62:3c:bf:ea:a9:01:94:60:41:cc:45: e6:fa:eb:54:ca:f4:d0:0f:7c:02:a6:06:7d:16:77:8e:0e:7e: af:70:a1:2c:a4:32:9b:ab:b1:3c:2d:86:16:2b:bb:64:b9:2e: db:fe:32:24:75:2a:74:15:33:5d:0b:07:e3:0f:97:5d:a0:03: 58:4a -----BEGIN CERTIFICATE----- MIIEWTCCA8KgAwIBAgIBJDANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRvcmEg UHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMQ8wDQYDVQQDEwZmZWRtc2cxDzANBgNV BCkTBmZlZG1zZzEmMCQGCSqGSIb3DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5v cmcwHhcNMTIwNzE1MjExODU0WhcNMjIwNzEzMjExODU0WjCB6DELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMRcwFQYDVQQKEw5GZWRv cmEgUHJvamVjdDEPMA0GA1UECxMGZmVkbXNnMTMwMQYDVQQDEyptZWRpYXdpa2kt YXBwMDEuc3RnLnBoeDIuZmVkb3JhcHJvamVjdC5vcmcxMzAxBgNVBCkTKm1lZGlh d2lraS1hcHAwMS5zdGcucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzEmMCQGCSqGSIb3 DQEJARYXYWRtaW5AZmVkb3JhcHJvamVjdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAK/4RhsJhlYfAuTmjwoBDq9c1eKfK5a0MnPa1T/IByR7XsyypkMk 68i4QjgspgsywLysPfc643xWUsbGoS23U57UdcdjIVYg+sZGd8folkrRSbaJFNEY Dq8ZTFvavfg7gL7gW4EU2szmxZkdQqY7C5MwFNJvg9iZoUkee+bqYMgpAgMBAAGj ggFXMIIBUzAJBgNVHRMEAjAAMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5l cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFOFmCPd5So06hQ79BMYSPESR1O2R MIHVBgNVHSMEgc0wgcqAFACYpdXnxFUOhKNn/mZKFuAEFd0hoYGmpIGjMIGgMQsw CQYDVQQGEwJVUzELMAkGA1UECBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxFzAVBgNV BAoTDkZlZG9yYSBQcm9qZWN0MQ8wDQYDVQQLEwZmZWRtc2cxDzANBgNVBAMTBmZl ZG1zZzEPMA0GA1UEKRMGZmVkbXNnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbkBmZWRv cmFwcm9qZWN0Lm9yZ4IJAI7rKNipE518MBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsG A1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQBelZ01cDJ7JQE6LTY8pIZbAKXJ Suz7nVAdIgIfRpXaP5c8AYNBuKAuJu5+dck5nCO/q06oyV1AvuU0czzoYjy/6qkB lGBBzEXm+utUyvTQD3wCpgZ9FneODn6vcKEspDKbq7E8LYYWK7tkuS7b/jIkdSp0 FTNdCwfjD5ddoANYSg== -----END CERTIFICATE----- fedmsg-0.7.1/fedmsg/tests/test_certs/README0000644000175000017500000000105412207656441022355 0ustar threebeanthreebean00000000000000To generate new certs, simply run "./rebuild-all-fedmsg-certs" ---- The scripts in this folder are a modification of EASY-RSA Version 2.0-rc1 This is a small RSA key management package, based on the openssl command line tool, that can be found in the easy-rsa subdirectory of the OpenVPN distribution. While this tool is primary concerned with key management for the SSL VPN application space, it can also be used for building web certificates. These are reference notes. For step-by-step instructions, see the HOWTO: http://openvpn.net/howto.html fedmsg-0.7.1/fedmsg/tests/test_certs/rebuild-all-fedmsg-certs0000755000175000017500000000531612207656441026205 0ustar threebeanthreebean00000000000000#!/bin/bash -e source ./vars ./clean-all ./build-ca ./build-key-server server # Have one dummy cert created and then revoked so we have a CRL to serve up. ./build-and-sign-key dummy-revoked ./revoke-full dummy-revoked ./build-and-sign-key shell-app01.phx2.fedoraproject.org ./build-and-sign-key shell-app02.phx2.fedoraproject.org ./build-and-sign-key shell-app03.phx2.fedoraproject.org ./build-and-sign-key shell-app04.phx2.fedoraproject.org ./build-and-sign-key shell-app05.phx2.fedoraproject.org ./build-and-sign-key shell-app06.phx2.fedoraproject.org ./build-and-sign-key shell-app07.phx2.fedoraproject.org ./build-and-sign-key shell-app01.stg.phx2.fedoraproject.org ./build-and-sign-key shell-app02.stg.phx2.fedoraproject.org ./build-and-sign-key shell-fas01.phx2.fedoraproject.org ./build-and-sign-key shell-fas01.stg.phx2.fedoraproject.org ./build-and-sign-key shell-fas01.dev.phx2.fedoraproject.org ./build-and-sign-key shell-packages01.phx2.fedoraproject.org ./build-and-sign-key shell-packages02.phx2.fedoraproject.org ./build-and-sign-key shell-packages01.stg.phx2.fedoraproject.org ./build-and-sign-key shell-pkgs01.phx2.fedoraproject.org ./build-and-sign-key shell-pkgs01.stg.phx2.fedoraproject.org ./build-and-sign-key bodhi-app01.phx2.fedoraproject.org ./build-and-sign-key bodhi-app02.phx2.fedoraproject.org ./build-and-sign-key bodhi-app03.phx2.fedoraproject.org ./build-and-sign-key bodhi-app04.phx2.fedoraproject.org ./build-and-sign-key bodhi-app05.phx2.fedoraproject.org ./build-and-sign-key bodhi-app06.phx2.fedoraproject.org ./build-and-sign-key bodhi-app07.phx2.fedoraproject.org ./build-and-sign-key bodhi-app01.stg.phx2.fedoraproject.org ./build-and-sign-key bodhi-app02.stg.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app01.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app02.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app03.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app04.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app05.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app06.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app07.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app01.stg.phx2.fedoraproject.org ./build-and-sign-key mediawiki-app02.stg.phx2.fedoraproject.org ./build-and-sign-key fas-fas01.phx2.fedoraproject.org ./build-and-sign-key fas-fas01.stg.phx2.fedoraproject.org ./build-and-sign-key fas-fas01.dev.phx2.fedoraproject.org ./build-and-sign-key fedoratagger-packages01.phx2.fedoraproject.org ./build-and-sign-key fedoratagger-packages02.phx2.fedoraproject.org ./build-and-sign-key fedoratagger-packages01.stg.phx2.fedoraproject.org ./build-and-sign-key scm-pkgs01.phx2.fedoraproject.org ./build-and-sign-key scm-pkgs01.stg.phx2.fedoraproject.org fedmsg-0.7.1/fedmsg/tests/test_certs/pkitool0000755000175000017500000003060312207656441023106 0ustar threebeanthreebean00000000000000#!/bin/sh # OpenVPN -- An application to securely tunnel IP networks # over a single TCP/UDP port, with support for SSL/TLS-based # session authentication and key exchange, # packet encryption, packet authentication, and # packet compression. # # Copyright (C) 2002-2010 OpenVPN Technologies, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 # as published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program (see the file COPYING included with this # distribution); if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # pkitool is a front-end for the openssl tool. # Calling scripts can set the certificate organizational # unit with the KEY_OU environmental variable. # Calling scripts can also set the KEY_NAME environmental # variable to set the "name" X509 subject field. PROGNAME=pkitool VERSION=2.0 DEBUG=0 die() { local m="$1" echo "$m" >&2 exit 1 } need_vars() { echo ' Please edit the vars script to reflect your configuration,' echo ' then source it with "source ./vars".' echo ' Next, to start with a fresh PKI configuration and to delete any' echo ' previous certificates and keys, run "./clean-all".' echo " Finally, you can run this tool ($PROGNAME) to build certificates/keys." } usage() { echo "$PROGNAME $VERSION" echo "Usage: $PROGNAME [options...] [common-name]" echo "Options:" echo " --batch : batch mode (default)" echo " --keysize : Set keysize" echo " size : size (default=1024)" echo " --interact : interactive mode" echo " --server : build server cert" echo " --initca : build root CA" echo " --inter : build intermediate CA" echo " --pass : encrypt private key with password" echo " --csr : only generate a CSR, do not sign" echo " --sign : sign an existing CSR" echo " --pkcs12 : generate a combined PKCS#12 file" echo " --pkcs11 : generate certificate on PKCS#11 token" echo " lib : PKCS#11 library" echo " slot : PKCS#11 slot" echo " id : PKCS#11 object id (hex string)" echo " label : PKCS#11 object label" echo "Standalone options:" echo " --pkcs11-slots : list PKCS#11 slots" echo " lib : PKCS#11 library" echo " --pkcs11-objects : list PKCS#11 token objects" echo " lib : PKCS#11 library" echo " slot : PKCS#11 slot" echo " --pkcs11-init : initialize PKCS#11 token DANGEROUS!!!" echo " lib : PKCS#11 library" echo " slot : PKCS#11 slot" echo " label : PKCS#11 token label" echo "Notes:" need_vars echo " In order to use PKCS#11 interface you must have opensc-0.10.0 or higher." echo "Generated files and corresponding OpenVPN directives:" echo '(Files will be placed in the $KEY_DIR directory, defined in ./vars)' echo " ca.crt -> root certificate (--ca)" echo " ca.key -> root key, keep secure (not directly used by OpenVPN)" echo " .crt files -> client/server certificates (--cert)" echo " .key files -> private keys, keep secure (--key)" echo " .csr files -> certificate signing request (not directly used by OpenVPN)" echo " dh1024.pem or dh2048.pem -> Diffie Hellman parameters (--dh)" echo "Examples:" echo " $PROGNAME --initca -> Build root certificate" echo " $PROGNAME --initca --pass -> Build root certificate with password-protected key" echo " $PROGNAME --server server1 -> Build \"server1\" certificate/key" echo " $PROGNAME client1 -> Build \"client1\" certificate/key" echo " $PROGNAME --pass client2 -> Build password-protected \"client2\" certificate/key" echo " $PROGNAME --pkcs12 client3 -> Build \"client3\" certificate/key in PKCS#12 format" echo " $PROGNAME --csr client4 -> Build \"client4\" CSR to be signed by another CA" echo " $PROGNAME --sign client4 -> Sign \"client4\" CSR" echo " $PROGNAME --inter interca -> Build an intermediate key-signing certificate/key" echo " Also see ./inherit-inter script." echo " $PROGNAME --pkcs11 /usr/lib/pkcs11/lib1 0 010203 \"client5 id\" client5" echo " -> Build \"client5\" certificate/key in PKCS#11 token" echo "Typical usage for initial PKI setup. Build myserver, client1, and client2 cert/keys." echo "Protect client2 key with a password. Build DH parms. Generated files in ./keys :" echo " [edit vars with your site-specific info]" echo " source ./vars" echo " ./clean-all" echo " ./build-dh -> takes a long time, consider backgrounding" echo " ./$PROGNAME --initca" echo " ./$PROGNAME --server myserver" echo " ./$PROGNAME client1" echo " ./$PROGNAME --pass client2" echo "Typical usage for adding client cert to existing PKI:" echo " source ./vars" echo " ./$PROGNAME client-new" } # Set tool defaults [ -n "$OPENSSL" ] || export OPENSSL="openssl" [ -n "$PKCS11TOOL" ] || export PKCS11TOOL="pkcs11-tool" [ -n "$GREP" ] || export GREP="grep" # Set defaults DO_REQ="1" REQ_EXT="" DO_CA="1" CA_EXT="" DO_P12="0" DO_P11="0" DO_ROOT="0" NODES_REQ="-nodes" NODES_P12="" BATCH="-batch" CA="ca" # must be set or errors of openssl.cnf PKCS11_MODULE_PATH="dummy" PKCS11_PIN="dummy" # Process options while [ $# -gt 0 ]; do case "$1" in --keysize ) KEY_SIZE=$2 shift;; --server ) REQ_EXT="$REQ_EXT -extensions server" CA_EXT="$CA_EXT -extensions server" ;; --batch ) BATCH="-batch" ;; --interact ) BATCH="" ;; --inter ) CA_EXT="$CA_EXT -extensions v3_ca" ;; --initca ) DO_ROOT="1" ;; --pass ) NODES_REQ="" ;; --csr ) DO_CA="0" ;; --sign ) DO_REQ="0" ;; --pkcs12 ) DO_P12="1" ;; --pkcs11 ) DO_P11="1" PKCS11_MODULE_PATH="$2" PKCS11_SLOT="$3" PKCS11_ID="$4" PKCS11_LABEL="$5" shift 4;; # standalone --pkcs11-init) PKCS11_MODULE_PATH="$2" PKCS11_SLOT="$3" PKCS11_LABEL="$4" if [ -z "$PKCS11_LABEL" ]; then die "Please specify library name, slot and label" fi $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --init-token --slot "$PKCS11_SLOT" \ --label "$PKCS11_LABEL" && $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --init-pin --slot "$PKCS11_SLOT" exit $?;; --pkcs11-slots) PKCS11_MODULE_PATH="$2" if [ -z "$PKCS11_MODULE_PATH" ]; then die "Please specify library name" fi $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --list-slots exit 0;; --pkcs11-objects) PKCS11_MODULE_PATH="$2" PKCS11_SLOT="$3" if [ -z "$PKCS11_SLOT" ]; then die "Please specify library name and slot" fi $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --list-objects --login --slot "$PKCS11_SLOT" exit 0;; --help|--usage) usage exit ;; --version) echo "$PROGNAME $VERSION" exit ;; # errors --* ) die "$PROGNAME: unknown option: $1" ;; * ) break ;; esac shift done if ! [ -z "$BATCH" ]; then if $OPENSSL version | grep 0.9.6 > /dev/null; then die "Batch mode is unsupported in openssl<0.9.7" fi fi if [ $DO_P12 -eq 1 -a $DO_P11 -eq 1 ]; then die "PKCS#11 and PKCS#12 cannot be specified together" fi if [ $DO_P11 -eq 1 ]; then if ! grep "^pkcs11.*=" "$KEY_CONFIG" > /dev/null; then die "Please edit $KEY_CONFIG and setup PKCS#11 engine" fi fi # If we are generating pkcs12, only encrypt the final step if [ $DO_P12 -eq 1 ]; then NODES_P12="$NODES_REQ" NODES_REQ="-nodes" fi if [ $DO_P11 -eq 1 ]; then if [ -z "$PKCS11_LABEL" ]; then die "PKCS#11 arguments incomplete" fi fi # If undefined, set default key expiration intervals if [ -z "$KEY_EXPIRE" ]; then KEY_EXPIRE=3650 fi if [ -z "$CA_EXPIRE" ]; then CA_EXPIRE=3650 fi # Set organizational unit to empty string if undefined if [ -z "$KEY_OU" ]; then KEY_OU="" fi # Set X509 Name string to empty string if undefined if [ -z "$KEY_NAME" ]; then KEY_NAME="" fi # Set KEY_CN, FN if [ $DO_ROOT -eq 1 ]; then if [ -z "$KEY_CN" ]; then if [ "$1" ]; then KEY_CN="$1" elif [ "$KEY_ORG" ]; then KEY_CN="$KEY_ORG CA" fi fi if [ $BATCH ] && [ "$KEY_CN" ]; then echo "Using CA Common Name:" "$KEY_CN" fi FN="$KEY_CN" elif [ $BATCH ] && [ "$KEY_CN" ]; then echo "Using Common Name:" "$KEY_CN" FN="$KEY_CN" if [ "$1" ]; then FN="$1" fi else if [ $# -ne 1 ]; then usage exit 1 else KEY_CN="$1" fi FN="$KEY_CN" fi export CA_EXPIRE KEY_EXPIRE KEY_OU KEY_NAME KEY_CN PKCS11_MODULE_PATH PKCS11_PIN # Show parameters (debugging) if [ $DEBUG -eq 1 ]; then echo DO_REQ $DO_REQ echo REQ_EXT $REQ_EXT echo DO_CA $DO_CA echo CA_EXT $CA_EXT echo NODES_REQ $NODES_REQ echo NODES_P12 $NODES_P12 echo DO_P12 $DO_P12 echo KEY_CN $KEY_CN echo BATCH $BATCH echo DO_ROOT $DO_ROOT echo KEY_EXPIRE $KEY_EXPIRE echo CA_EXPIRE $CA_EXPIRE echo KEY_OU $KEY_OU echo KEY_NAME $KEY_NAME echo DO_P11 $DO_P11 echo PKCS11_MODULE_PATH $PKCS11_MODULE_PATH echo PKCS11_SLOT $PKCS11_SLOT echo PKCS11_ID $PKCS11_ID echo PKCS11_LABEL $PKCS11_LABEL fi # Make sure ./vars was sourced beforehand if [ -d "$KEY_DIR" ] && [ "$KEY_CONFIG" ]; then cd "$KEY_DIR" # Make sure $KEY_CONFIG points to the correct version # of openssl.cnf if $GREP -i 'easy-rsa version 2\.[0-9]' "$KEY_CONFIG" >/dev/null; then : else echo "$PROGNAME: KEY_CONFIG (set by the ./vars script) is pointing to the wrong" echo "version of openssl.cnf: $KEY_CONFIG" echo "The correct version should have a comment that says: easy-rsa version 2.x"; exit 1; fi # Build root CA if [ $DO_ROOT -eq 1 ]; then $OPENSSL req $BATCH -days $CA_EXPIRE $NODES_REQ -new -newkey rsa:$KEY_SIZE -sha1 \ -x509 -keyout "$CA.key" -out "$CA.crt" -config "$KEY_CONFIG" && \ chmod 0600 "$CA.key" else # Make sure CA key/cert is available if [ $DO_CA -eq 1 ] || [ $DO_P12 -eq 1 ]; then if [ ! -r "$CA.crt" ] || [ ! -r "$CA.key" ]; then echo "$PROGNAME: Need a readable $CA.crt and $CA.key in $KEY_DIR" echo "Try $PROGNAME --initca to build a root certificate/key." exit 1 fi fi # Generate key for PKCS#11 token PKCS11_ARGS= if [ $DO_P11 -eq 1 ]; then stty -echo echo -n "User PIN: " read -r PKCS11_PIN stty echo export PKCS11_PIN echo "Generating key pair on PKCS#11 token..." $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --keypairgen \ --login --pin "$PKCS11_PIN" \ --key-type rsa:1024 \ --slot "$PKCS11_SLOT" --id "$PKCS11_ID" --label "$PKCS11_LABEL" || exit 1 PKCS11_ARGS="-engine pkcs11 -keyform engine -key $PKCS11_SLOT:$PKCS11_ID" fi # Build cert/key ( [ $DO_REQ -eq 0 ] || $OPENSSL req $BATCH -days $KEY_EXPIRE $NODES_REQ -new -newkey rsa:$KEY_SIZE \ -keyout "$FN.key" -out "$FN.csr" $REQ_EXT -config "$KEY_CONFIG" $PKCS11_ARGS ) && \ ( [ $DO_CA -eq 0 ] || $OPENSSL ca $BATCH -days $KEY_EXPIRE -out "$FN.crt" \ -in "$FN.csr" $CA_EXT -md sha1 -config "$KEY_CONFIG" ) && \ ( [ $DO_P12 -eq 0 ] || $OPENSSL pkcs12 -export -inkey "$FN.key" \ -in "$FN.crt" -certfile "$CA.crt" -out "$FN.p12" $NODES_P12 ) && \ ( [ $DO_CA -eq 0 -o $DO_P11 -eq 1 ] || chmod 0600 "$FN.key" ) && \ ( [ $DO_P12 -eq 0 ] || chmod 0600 "$FN.p12" ) # Load certificate into PKCS#11 token if [ $DO_P11 -eq 1 ]; then $OPENSSL x509 -in "$FN.crt" -inform PEM -out "$FN.crt.der" -outform DER && \ $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --write-object "$FN.crt.der" --type cert \ --login --pin "$PKCS11_PIN" \ --slot "$PKCS11_SLOT" --id "$PKCS11_ID" --label "$PKCS11_LABEL" [ -e "$FN.crt.der" ]; rm "$FN.crt.der" fi fi # Need definitions else need_vars fi fedmsg-0.7.1/fedmsg/tests/test_certs/build-key0000755000175000017500000000023012207656441023303 0ustar threebeanthreebean00000000000000#!/bin/sh # Make a certificate/private key pair using a locally generated # root certificate. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" $* fedmsg-0.7.1/fedmsg/tests/test_certs/revoke-full0000755000175000017500000000162612207656441023663 0ustar threebeanthreebean00000000000000#!/bin/sh # revoke a certificate, regenerate CRL, # and verify revocation CRL="crl.pem" RT="revoke-test.pem" if [ $# -ne 1 ]; then echo "usage: revoke-full "; exit 1 fi if [ "$KEY_DIR" ]; then cd "$KEY_DIR" rm -f "$RT" # set defaults export KEY_CN="" export KEY_OU="" export KEY_NAME="" # revoke key and generate a new CRL $OPENSSL ca -revoke "$1.crt" -config "$KEY_CONFIG" # generate a new CRL -- try to be compatible with # intermediate PKIs $OPENSSL ca -gencrl -out "$CRL" -config "$KEY_CONFIG" if [ -e export-ca.crt ]; then cat export-ca.crt "$CRL" >"$RT" else cat ca.crt "$CRL" >"$RT" fi # verify the revocation $OPENSSL verify -CAfile "$RT" -crl_check "$1.crt" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/vars0000644000175000017500000000340112212110512022345 0ustar threebeanthreebean00000000000000# easy-rsa parameter settings # NOTE: If you installed from an RPM, # don't edit this file in place in # /usr/share/openvpn/easy-rsa -- # instead, you should copy the whole # easy-rsa directory to another location # (such as /etc/openvpn) so that your # edits will not be wiped out by a future # OpenVPN package upgrade. # This variable should point to # the top level of the easy-rsa # tree. export EASY_RSA="`pwd`" # # This variable should point to # the requested executables # export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" # This variable should point to # the openssl.cnf file included # with easy-rsa. export KEY_CONFIG=$EASY_RSA/openssl-1.0.0.cnf # Edit this variable to point to # your soon-to-be-created key # directory. # # WARNING: clean-all will do # a rm -rf on this directory # so make sure you define # it correctly! export KEY_DIR="$EASY_RSA/keys" # Issue rm -rf warning echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR # PKCS11 fixes export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" # Increase this to 2048 if you # are paranoid. This will slow # down TLS negotiation performance # as well as the one-time DH parms # generation process. export KEY_SIZE=1024 # In how many days should the root CA key expire? export CA_EXPIRE=3650 # In how many days should certificates expire? export KEY_EXPIRE=3650 # These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="NC" export KEY_CITY="Raleigh" export KEY_ORG="Fedora Project" export KEY_EMAIL="admin@fedoraproject.org" export KEY_CN=fedmsg export KEY_NAME=fedmsg export KEY_OU=fedmsg export PKCS11_MODULE_PATH=changeme export PKCS11_PIN=1234 fedmsg-0.7.1/fedmsg/tests/test_certs/clean-all0000755000175000017500000000065412207656441023260 0ustar threebeanthreebean00000000000000#!/bin/sh # Initialize the $KEY_DIR directory. # Note that this script does a # rm -rf on $KEY_DIR so be careful! if [ "$KEY_DIR" ]; then rm -rf "$KEY_DIR" mkdir "$KEY_DIR" && \ chmod go-rwx "$KEY_DIR" && \ touch "$KEY_DIR/index.txt" && \ echo 01 >"$KEY_DIR/serial" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/openssl-0.9.6.cnf0000644000175000017500000001713012212110512024276 0ustar threebeanthreebean00000000000000# For use with easy-rsa version 2.0 # # OpenSSL example configuration file. # This is mostly being used for generation of certificate requests. # # This definition stops the following lines choking if HOME isn't # defined. HOME = . RANDFILE = $ENV::HOME/.rnd # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca' and 'req'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # which md to use. preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_anything # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString. # utf8only: only UTF8Strings. # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings # so use this option with caution! string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\'s hostname) commonName_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # JY -- added for batch mode organizationalUnitName_default = $ENV::KEY_OU commonName_default = $ENV::KEY_CN # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape's comment listbox. nsComment = "Easy-RSA Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=clientAuth keyUsage = digitalSignature # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "Easy-RSA Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=serverAuth keyUsage = digitalSignature, keyEncipherment [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/0000755000175000017500000000000012221366312022264 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-key-pkcs120000755000175000017500000000037112207656441025212 0ustar threebeanthreebean00000000000000#!/bin/sh # Make a certificate/private key pair using a locally generated # root certificate and convert it to a PKCS #12 file including the # the CA certificate as well. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --pkcs12 $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-key-server0000755000175000017500000000041412207656441025413 0ustar threebeanthreebean00000000000000#!/bin/sh # Make a certificate/private key pair using a locally generated # root certificate. # # Explicitly set nsCertType to server using the "server" # extension in the openssl.cnf file. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --server $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/README0000644000175000017500000002212312207656441023155 0ustar threebeanthreebean00000000000000EASY-RSA Version 2.0-rc1 This is a small RSA key management package, based on the openssl command line tool, that can be found in the easy-rsa subdirectory of the OpenVPN distribution. While this tool is primary concerned with key management for the SSL VPN application space, it can also be used for building web certificates. These are reference notes. For step-by-step instructions, see the HOWTO: http://openvpn.net/howto.html This package is based on the ./pkitool script. Run ./pkitool without arguments for a detailed help message (which is also pasted below). Release Notes for easy-rsa-2.0 * Most functionality has been consolidated into the pkitool script. For compatibility, all previous scripts from 1.0 such as build-key and build-key-server are provided as stubs which call pkitool to do the real work. * pkitool has a --batch flag (enabled by default) which generates keys/certs without needing any interactive input. pkitool can still generate certs/keys using interactive prompting by using the --interact flag. * The inherit-inter script has been provided for creating a new PKI rooted on an intermediate certificate built within a higher-level PKI. See comments in the inherit-inter script for more info. * The openssl.cnf file has been modified. pkitool will not work with the openssl.cnf file included with previous easy-rsa releases. * The vars file has been modified -- the following extra variables have been added: EASY_RSA, CA_EXPIRE, KEY_EXPIRE. * The make-crl and revoke-crt scripts have been removed and are replaced by the revoke-full script. * The "Organizational Unit" X509 field can be set using the KEY_OU environmental variable before calling pkitool. * This release only affects the Linux/Unix version of easy-rsa. The Windows version (written to use the Windows shell) is unchanged. * Use the revoke-full script to revoke a certificate, and generate (or update) the crl.pem file in the keys directory (as set by the vars script). Then use "crl-verify crl.pem" in your OpenVPN server config file, so that OpenVPN can reject any connections coming from clients which present a revoked certificate. Usage for the script is: revoke-full Note this this procedure is primarily designed to revoke client certificates. You could theoretically use this method to revoke server certificates as well, but then you would need to propagate the crl.pem file to all clients as well, and have them include "crl-verify crl.pem" in their configuration files. * PKCS#11 support was added. * For those interested in using this tool to generate web certificates, A variant of the easy-rsa package that allows the creation of multi-domain certificates with subjectAltName can be obtained from here: http://www.bisente.com/proyectos/easy-rsa-subjectaltname/ INSTALL easy-rsa 1. Edit vars. 2. Set KEY_CONFIG to point to the correct openssl-.cnf file included in this distribution. 3. Set KEY_DIR to point to a directory which will contain all keys, certificates, etc. This directory need not exist, and if it does, it will be deleted with rm -rf, so BE CAREFUL how you set KEY_DIR. 4. (Optional) Edit other fields in vars per your site data. You may want to increase KEY_SIZE to 2048 if you are paranoid and don't mind slower key processing, but certainly 1024 is fine for testing purposes. KEY_SIZE must be compatible across both peers participating in a secure SSL/TLS connection. 5. (Optional) If you intend to use PKCS#11, install openssl >= 0.9.7, install the following components from www.opensc.org: - opensc >= 0.10.0 - engine_pkcs11 >= 0.1.3 Update the openssl.cnf to load the engine: - Uncomment pkcs11 under engine_section. - Validate path at dynamic_path under pkcs11_section. 6. . vars 7. ./clean-all 8. As you create certificates, keys, and certificate signing requests, understand that only .key files should be kept confidential. .crt and .csr files can be sent over insecure channels such as plaintext email. IMPORTANT To avoid a possible Man-in-the-Middle attack where an authorized client tries to connect to another client by impersonating the server, make sure to enforce some kind of server certificate verification by clients. There are currently four different ways of accomplishing this, listed in the order of preference: (1) Build your server certificates with specific key usage and extended key usage. The RFC3280 determine that the following attributes should be provided for TLS connections: Mode Key usage Extended key usage --------------------------------------------------------------------------- Client digitalSignature TLS Web Client Authentication keyAgreement digitalSignature, keyAgreement Server digitalSignature, keyEncipherment TLS Web Server Authentication digitalSignature, keyAgreement Now add the following line to your client configuration: remote-cert-tls server This will block clients from connecting to any server which lacks the required extension designation in its certificate, even if the certificate has been signed by the CA which is cited in the OpenVPN configuration file (--ca directive). (3) Use the --tls-remote directive on the client to accept/reject the server connection based on the common name of the server certificate. (3) Use a --tls-verify script or plugin to accept/reject the server connection based on a custom test of the server certificate's embedded X509 subject details. (4) Sign server certificates with one CA and client certificates with a different CA. The client config "ca" directive should reference the server-signing CA while the server config "ca" directive should reference the client-signing CA. NOTES Show certificate fields: openssl x509 -in cert.crt -text PKITOOL documentation pkitool 2.0 Usage: pkitool [options...] [common-name] Options: --batch : batch mode (default) --keysize : Set keysize size : size (default=1024) --interact : interactive mode --server : build server cert --initca : build root CA --inter : build intermediate CA --pass : encrypt private key with password --csr : only generate a CSR, do not sign --sign : sign an existing CSR --pkcs12 : generate a combined PKCS#12 file --pkcs11 : generate certificate on PKCS#11 token lib : PKCS#11 library slot : PKCS#11 slot id : PKCS#11 object id (hex string) label : PKCS#11 object label Standalone options: --pkcs11-slots : list PKCS#11 slots lib : PKCS#11 library --pkcs11-objects : list PKCS#11 token objects lib : PKCS#11 library slot : PKCS#11 slot --pkcs11-init : initialize PKCS#11 token DANGEROUS!!! lib : PKCS#11 library slot : PKCS#11 slot label : PKCS#11 token label Notes: Please edit the vars script to reflect your configuration, then source it with "source ./vars". Next, to start with a fresh PKI configuration and to delete any previous certificates and keys, run "./clean-all". Finally, you can run this tool (pkitool) to build certificates/keys. In order to use PKCS#11 interface you must have opensc-0.10.0 or higher. Generated files and corresponding OpenVPN directives: (Files will be placed in the $KEY_DIR directory, defined in ./vars) ca.crt -> root certificate (--ca) ca.key -> root key, keep secure (not directly used by OpenVPN) .crt files -> client/server certificates (--cert) .key files -> private keys, keep secure (--key) .csr files -> certificate signing request (not directly used by OpenVPN) dh1024.pem or dh2048.pem -> Diffie Hellman parameters (--dh) Examples: pkitool --initca -> Build root certificate pkitool --initca --pass -> Build root certificate with password-protected key pkitool --server server1 -> Build "server1" certificate/key pkitool client1 -> Build "client1" certificate/key pkitool --pass client2 -> Build password-protected "client2" certificate/key pkitool --pkcs12 client3 -> Build "client3" certificate/key in PKCS#12 format pkitool --csr client4 -> Build "client4" CSR to be signed by another CA pkitool --sign client4 -> Sign "client4" CSR pkitool --inter interca -> Build an intermediate key-signing certificate/key Also see ./inherit-inter script. pkitool --pkcs11 /usr/lib/pkcs11/lib1 0 010203 "client5 id" client5 -> Build "client5" certificate/key in PKCS#11 token Typical usage for initial PKI setup. Build myserver, client1, and client2 cert/keys. Protect client2 key with a password. Build DH parms. Generated files in ./keys : [edit vars with your site-specific info] source ./vars ./clean-all ./build-dh -> takes a long time, consider backgrounding ./pkitool --initca ./pkitool --server myserver ./pkitool client1 ./pkitool --pass client2 Typical usage for adding client cert to existing PKI: source ./vars ./pkitool client-new fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-inter0000755000175000017500000000027412207656441024444 0ustar threebeanthreebean00000000000000#!/bin/sh # Make an intermediate CA certificate/private key pair using a locally generated # root certificate. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --inter $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/pkitool0000755000175000017500000003060312207656441023706 0ustar threebeanthreebean00000000000000#!/bin/sh # OpenVPN -- An application to securely tunnel IP networks # over a single TCP/UDP port, with support for SSL/TLS-based # session authentication and key exchange, # packet encryption, packet authentication, and # packet compression. # # Copyright (C) 2002-2010 OpenVPN Technologies, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 # as published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program (see the file COPYING included with this # distribution); if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # pkitool is a front-end for the openssl tool. # Calling scripts can set the certificate organizational # unit with the KEY_OU environmental variable. # Calling scripts can also set the KEY_NAME environmental # variable to set the "name" X509 subject field. PROGNAME=pkitool VERSION=2.0 DEBUG=0 die() { local m="$1" echo "$m" >&2 exit 1 } need_vars() { echo ' Please edit the vars script to reflect your configuration,' echo ' then source it with "source ./vars".' echo ' Next, to start with a fresh PKI configuration and to delete any' echo ' previous certificates and keys, run "./clean-all".' echo " Finally, you can run this tool ($PROGNAME) to build certificates/keys." } usage() { echo "$PROGNAME $VERSION" echo "Usage: $PROGNAME [options...] [common-name]" echo "Options:" echo " --batch : batch mode (default)" echo " --keysize : Set keysize" echo " size : size (default=1024)" echo " --interact : interactive mode" echo " --server : build server cert" echo " --initca : build root CA" echo " --inter : build intermediate CA" echo " --pass : encrypt private key with password" echo " --csr : only generate a CSR, do not sign" echo " --sign : sign an existing CSR" echo " --pkcs12 : generate a combined PKCS#12 file" echo " --pkcs11 : generate certificate on PKCS#11 token" echo " lib : PKCS#11 library" echo " slot : PKCS#11 slot" echo " id : PKCS#11 object id (hex string)" echo " label : PKCS#11 object label" echo "Standalone options:" echo " --pkcs11-slots : list PKCS#11 slots" echo " lib : PKCS#11 library" echo " --pkcs11-objects : list PKCS#11 token objects" echo " lib : PKCS#11 library" echo " slot : PKCS#11 slot" echo " --pkcs11-init : initialize PKCS#11 token DANGEROUS!!!" echo " lib : PKCS#11 library" echo " slot : PKCS#11 slot" echo " label : PKCS#11 token label" echo "Notes:" need_vars echo " In order to use PKCS#11 interface you must have opensc-0.10.0 or higher." echo "Generated files and corresponding OpenVPN directives:" echo '(Files will be placed in the $KEY_DIR directory, defined in ./vars)' echo " ca.crt -> root certificate (--ca)" echo " ca.key -> root key, keep secure (not directly used by OpenVPN)" echo " .crt files -> client/server certificates (--cert)" echo " .key files -> private keys, keep secure (--key)" echo " .csr files -> certificate signing request (not directly used by OpenVPN)" echo " dh1024.pem or dh2048.pem -> Diffie Hellman parameters (--dh)" echo "Examples:" echo " $PROGNAME --initca -> Build root certificate" echo " $PROGNAME --initca --pass -> Build root certificate with password-protected key" echo " $PROGNAME --server server1 -> Build \"server1\" certificate/key" echo " $PROGNAME client1 -> Build \"client1\" certificate/key" echo " $PROGNAME --pass client2 -> Build password-protected \"client2\" certificate/key" echo " $PROGNAME --pkcs12 client3 -> Build \"client3\" certificate/key in PKCS#12 format" echo " $PROGNAME --csr client4 -> Build \"client4\" CSR to be signed by another CA" echo " $PROGNAME --sign client4 -> Sign \"client4\" CSR" echo " $PROGNAME --inter interca -> Build an intermediate key-signing certificate/key" echo " Also see ./inherit-inter script." echo " $PROGNAME --pkcs11 /usr/lib/pkcs11/lib1 0 010203 \"client5 id\" client5" echo " -> Build \"client5\" certificate/key in PKCS#11 token" echo "Typical usage for initial PKI setup. Build myserver, client1, and client2 cert/keys." echo "Protect client2 key with a password. Build DH parms. Generated files in ./keys :" echo " [edit vars with your site-specific info]" echo " source ./vars" echo " ./clean-all" echo " ./build-dh -> takes a long time, consider backgrounding" echo " ./$PROGNAME --initca" echo " ./$PROGNAME --server myserver" echo " ./$PROGNAME client1" echo " ./$PROGNAME --pass client2" echo "Typical usage for adding client cert to existing PKI:" echo " source ./vars" echo " ./$PROGNAME client-new" } # Set tool defaults [ -n "$OPENSSL" ] || export OPENSSL="openssl" [ -n "$PKCS11TOOL" ] || export PKCS11TOOL="pkcs11-tool" [ -n "$GREP" ] || export GREP="grep" # Set defaults DO_REQ="1" REQ_EXT="" DO_CA="1" CA_EXT="" DO_P12="0" DO_P11="0" DO_ROOT="0" NODES_REQ="-nodes" NODES_P12="" BATCH="-batch" CA="ca" # must be set or errors of openssl.cnf PKCS11_MODULE_PATH="dummy" PKCS11_PIN="dummy" # Process options while [ $# -gt 0 ]; do case "$1" in --keysize ) KEY_SIZE=$2 shift;; --server ) REQ_EXT="$REQ_EXT -extensions server" CA_EXT="$CA_EXT -extensions server" ;; --batch ) BATCH="-batch" ;; --interact ) BATCH="" ;; --inter ) CA_EXT="$CA_EXT -extensions v3_ca" ;; --initca ) DO_ROOT="1" ;; --pass ) NODES_REQ="" ;; --csr ) DO_CA="0" ;; --sign ) DO_REQ="0" ;; --pkcs12 ) DO_P12="1" ;; --pkcs11 ) DO_P11="1" PKCS11_MODULE_PATH="$2" PKCS11_SLOT="$3" PKCS11_ID="$4" PKCS11_LABEL="$5" shift 4;; # standalone --pkcs11-init) PKCS11_MODULE_PATH="$2" PKCS11_SLOT="$3" PKCS11_LABEL="$4" if [ -z "$PKCS11_LABEL" ]; then die "Please specify library name, slot and label" fi $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --init-token --slot "$PKCS11_SLOT" \ --label "$PKCS11_LABEL" && $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --init-pin --slot "$PKCS11_SLOT" exit $?;; --pkcs11-slots) PKCS11_MODULE_PATH="$2" if [ -z "$PKCS11_MODULE_PATH" ]; then die "Please specify library name" fi $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --list-slots exit 0;; --pkcs11-objects) PKCS11_MODULE_PATH="$2" PKCS11_SLOT="$3" if [ -z "$PKCS11_SLOT" ]; then die "Please specify library name and slot" fi $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --list-objects --login --slot "$PKCS11_SLOT" exit 0;; --help|--usage) usage exit ;; --version) echo "$PROGNAME $VERSION" exit ;; # errors --* ) die "$PROGNAME: unknown option: $1" ;; * ) break ;; esac shift done if ! [ -z "$BATCH" ]; then if $OPENSSL version | grep 0.9.6 > /dev/null; then die "Batch mode is unsupported in openssl<0.9.7" fi fi if [ $DO_P12 -eq 1 -a $DO_P11 -eq 1 ]; then die "PKCS#11 and PKCS#12 cannot be specified together" fi if [ $DO_P11 -eq 1 ]; then if ! grep "^pkcs11.*=" "$KEY_CONFIG" > /dev/null; then die "Please edit $KEY_CONFIG and setup PKCS#11 engine" fi fi # If we are generating pkcs12, only encrypt the final step if [ $DO_P12 -eq 1 ]; then NODES_P12="$NODES_REQ" NODES_REQ="-nodes" fi if [ $DO_P11 -eq 1 ]; then if [ -z "$PKCS11_LABEL" ]; then die "PKCS#11 arguments incomplete" fi fi # If undefined, set default key expiration intervals if [ -z "$KEY_EXPIRE" ]; then KEY_EXPIRE=3650 fi if [ -z "$CA_EXPIRE" ]; then CA_EXPIRE=3650 fi # Set organizational unit to empty string if undefined if [ -z "$KEY_OU" ]; then KEY_OU="" fi # Set X509 Name string to empty string if undefined if [ -z "$KEY_NAME" ]; then KEY_NAME="" fi # Set KEY_CN, FN if [ $DO_ROOT -eq 1 ]; then if [ -z "$KEY_CN" ]; then if [ "$1" ]; then KEY_CN="$1" elif [ "$KEY_ORG" ]; then KEY_CN="$KEY_ORG CA" fi fi if [ $BATCH ] && [ "$KEY_CN" ]; then echo "Using CA Common Name:" "$KEY_CN" fi FN="$KEY_CN" elif [ $BATCH ] && [ "$KEY_CN" ]; then echo "Using Common Name:" "$KEY_CN" FN="$KEY_CN" if [ "$1" ]; then FN="$1" fi else if [ $# -ne 1 ]; then usage exit 1 else KEY_CN="$1" fi FN="$KEY_CN" fi export CA_EXPIRE KEY_EXPIRE KEY_OU KEY_NAME KEY_CN PKCS11_MODULE_PATH PKCS11_PIN # Show parameters (debugging) if [ $DEBUG -eq 1 ]; then echo DO_REQ $DO_REQ echo REQ_EXT $REQ_EXT echo DO_CA $DO_CA echo CA_EXT $CA_EXT echo NODES_REQ $NODES_REQ echo NODES_P12 $NODES_P12 echo DO_P12 $DO_P12 echo KEY_CN $KEY_CN echo BATCH $BATCH echo DO_ROOT $DO_ROOT echo KEY_EXPIRE $KEY_EXPIRE echo CA_EXPIRE $CA_EXPIRE echo KEY_OU $KEY_OU echo KEY_NAME $KEY_NAME echo DO_P11 $DO_P11 echo PKCS11_MODULE_PATH $PKCS11_MODULE_PATH echo PKCS11_SLOT $PKCS11_SLOT echo PKCS11_ID $PKCS11_ID echo PKCS11_LABEL $PKCS11_LABEL fi # Make sure ./vars was sourced beforehand if [ -d "$KEY_DIR" ] && [ "$KEY_CONFIG" ]; then cd "$KEY_DIR" # Make sure $KEY_CONFIG points to the correct version # of openssl.cnf if $GREP -i 'easy-rsa version 2\.[0-9]' "$KEY_CONFIG" >/dev/null; then : else echo "$PROGNAME: KEY_CONFIG (set by the ./vars script) is pointing to the wrong" echo "version of openssl.cnf: $KEY_CONFIG" echo "The correct version should have a comment that says: easy-rsa version 2.x"; exit 1; fi # Build root CA if [ $DO_ROOT -eq 1 ]; then $OPENSSL req $BATCH -days $CA_EXPIRE $NODES_REQ -new -newkey rsa:$KEY_SIZE -sha1 \ -x509 -keyout "$CA.key" -out "$CA.crt" -config "$KEY_CONFIG" && \ chmod 0600 "$CA.key" else # Make sure CA key/cert is available if [ $DO_CA -eq 1 ] || [ $DO_P12 -eq 1 ]; then if [ ! -r "$CA.crt" ] || [ ! -r "$CA.key" ]; then echo "$PROGNAME: Need a readable $CA.crt and $CA.key in $KEY_DIR" echo "Try $PROGNAME --initca to build a root certificate/key." exit 1 fi fi # Generate key for PKCS#11 token PKCS11_ARGS= if [ $DO_P11 -eq 1 ]; then stty -echo echo -n "User PIN: " read -r PKCS11_PIN stty echo export PKCS11_PIN echo "Generating key pair on PKCS#11 token..." $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --keypairgen \ --login --pin "$PKCS11_PIN" \ --key-type rsa:1024 \ --slot "$PKCS11_SLOT" --id "$PKCS11_ID" --label "$PKCS11_LABEL" || exit 1 PKCS11_ARGS="-engine pkcs11 -keyform engine -key $PKCS11_SLOT:$PKCS11_ID" fi # Build cert/key ( [ $DO_REQ -eq 0 ] || $OPENSSL req $BATCH -days $KEY_EXPIRE $NODES_REQ -new -newkey rsa:$KEY_SIZE \ -keyout "$FN.key" -out "$FN.csr" $REQ_EXT -config "$KEY_CONFIG" $PKCS11_ARGS ) && \ ( [ $DO_CA -eq 0 ] || $OPENSSL ca $BATCH -days $KEY_EXPIRE -out "$FN.crt" \ -in "$FN.csr" $CA_EXT -md sha1 -config "$KEY_CONFIG" ) && \ ( [ $DO_P12 -eq 0 ] || $OPENSSL pkcs12 -export -inkey "$FN.key" \ -in "$FN.crt" -certfile "$CA.crt" -out "$FN.p12" $NODES_P12 ) && \ ( [ $DO_CA -eq 0 -o $DO_P11 -eq 1 ] || chmod 0600 "$FN.key" ) && \ ( [ $DO_P12 -eq 0 ] || chmod 0600 "$FN.p12" ) # Load certificate into PKCS#11 token if [ $DO_P11 -eq 1 ]; then $OPENSSL x509 -in "$FN.crt" -inform PEM -out "$FN.crt.der" -outform DER && \ $PKCS11TOOL --module "$PKCS11_MODULE_PATH" --write-object "$FN.crt.der" --type cert \ --login --pin "$PKCS11_PIN" \ --slot "$PKCS11_SLOT" --id "$PKCS11_ID" --label "$PKCS11_LABEL" [ -e "$FN.crt.der" ]; rm "$FN.crt.der" fi fi # Need definitions else need_vars fi fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-key0000755000175000017500000000024312207656441024107 0ustar threebeanthreebean00000000000000#!/bin/sh # Make a certificate/private key pair using a locally generated # root certificate. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/file0000644000175000017500000000002412207656441023133 0ustar threebeanthreebean00000000000000./openssl-1.0.0.cnf fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/revoke-full0000755000175000017500000000162612207656441024463 0ustar threebeanthreebean00000000000000#!/bin/sh # revoke a certificate, regenerate CRL, # and verify revocation CRL="crl.pem" RT="revoke-test.pem" if [ $# -ne 1 ]; then echo "usage: revoke-full "; exit 1 fi if [ "$KEY_DIR" ]; then cd "$KEY_DIR" rm -f "$RT" # set defaults export KEY_CN="" export KEY_OU="" export KEY_NAME="" # revoke key and generate a new CRL $OPENSSL ca -revoke "$1.crt" -config "$KEY_CONFIG" # generate a new CRL -- try to be compatible with # intermediate PKIs $OPENSSL ca -gencrl -out "$CRL" -config "$KEY_CONFIG" if [ -e export-ca.crt ]; then cat export-ca.crt "$CRL" >"$RT" else cat ca.crt "$CRL" >"$RT" fi # verify the revocation $OPENSSL verify -CAfile "$RT" -crl_check "$1.crt" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-key-pass0000755000175000017500000000023512207656441025054 0ustar threebeanthreebean00000000000000#!/bin/sh # Similar to build-key, but protect the private key # with a password. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --pass $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/vars0000644000175000017500000000346112207656441023177 0ustar threebeanthreebean00000000000000# easy-rsa parameter settings # NOTE: If you installed from an RPM, # don't edit this file in place in # /usr/share/openvpn/easy-rsa -- # instead, you should copy the whole # easy-rsa directory to another location # (such as /etc/openvpn) so that your # edits will not be wiped out by a future # OpenVPN package upgrade. # This variable should point to # the top level of the easy-rsa # tree. export EASY_RSA="`pwd`" # # This variable should point to # the requested executables # export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" # This variable should point to # the openssl.cnf file included # with easy-rsa. export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` # Edit this variable to point to # your soon-to-be-created key # directory. # # WARNING: clean-all will do # a rm -rf on this directory # so make sure you define # it correctly! export KEY_DIR="$EASY_RSA/keys" # Issue rm -rf warning echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR # PKCS11 fixes export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" # Increase this to 2048 if you # are paranoid. This will slow # down TLS negotiation performance # as well as the one-time DH parms # generation process. export KEY_SIZE=1024 # In how many days should the root CA key expire? export CA_EXPIRE=3650 # In how many days should certificates expire? export KEY_EXPIRE=3650 # These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain" export KEY_EMAIL=mail@host.domain export KEY_CN=changeme export KEY_NAME=changeme export KEY_OU=changeme export PKCS11_MODULE_PATH=changeme export PKCS11_PIN=1234 fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/clean-all0000755000175000017500000000065412207656441024060 0ustar threebeanthreebean00000000000000#!/bin/sh # Initialize the $KEY_DIR directory. # Note that this script does a # rm -rf on $KEY_DIR so be careful! if [ "$KEY_DIR" ]; then rm -rf "$KEY_DIR" mkdir "$KEY_DIR" && \ chmod go-rwx "$KEY_DIR" && \ touch "$KEY_DIR/index.txt" && \ echo 01 >"$KEY_DIR/serial" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/openssl-0.9.6.cnf0000644000175000017500000001713012207656441025122 0ustar threebeanthreebean00000000000000# For use with easy-rsa version 2.0 # # OpenSSL example configuration file. # This is mostly being used for generation of certificate requests. # # This definition stops the following lines choking if HOME isn't # defined. HOME = . RANDFILE = $ENV::HOME/.rnd # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca' and 'req'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # which md to use. preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_anything # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString. # utf8only: only UTF8Strings. # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings # so use this option with caution! string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\'s hostname) commonName_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # JY -- added for batch mode organizationalUnitName_default = $ENV::KEY_OU commonName_default = $ENV::KEY_CN # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape's comment listbox. nsComment = "Easy-RSA Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=clientAuth keyUsage = digitalSignature # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "Easy-RSA Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=serverAuth keyUsage = digitalSignature, keyEncipherment [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-req0000755000175000017500000000032512207656441024107 0ustar threebeanthreebean00000000000000#!/bin/sh # Build a certificate signing request and private key. Use this # when your root certificate and key is not available locally. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --csr $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/whichopensslcnf0000755000175000017500000000112312207656441025415 0ustar threebeanthreebean00000000000000#!/bin/sh cnf="$1/openssl.cnf" if [ "$OPENSSL" ]; then if $OPENSSL version | grep 0.9.6 > /dev/null; then cnf="$1/openssl-0.9.6.cnf" elif $OPENSSL version | grep -E "1\.0\.([[:digit:]][[:alnum:]])" > /dev/null; then cnf="$1/openssl-1.0.0.cnf" else cnf="$1/openssl.cnf" fi fi echo $cnf if [ ! -r $cnf ]; then echo "**************************************************************" >&2 echo " No $cnf file could be found" >&2 echo " Further invocations will fail" >&2 echo "**************************************************************" >&2 fi exit 0 fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/openssl-1.0.0.cnf0000644000175000017500000002004012207656441025076 0ustar threebeanthreebean00000000000000# For use with easy-rsa version 2.0 and OpenSSL 1.0.0* # This definition stops the following lines choking if HOME isn't # defined. HOME = . RANDFILE = $ENV::HOME/.rnd openssl_conf = openssl_init [ openssl_init ] # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids engines = engine_section # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca' and 'req'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # use public key default MD preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_anything # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString (PKIX recommendation after 2004). # utf8only: only UTF8Strings (PKIX recommendation after 2004). # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\'s hostname) commonName_max = 64 name = Name name_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # JY -- added for batch mode organizationalUnitName_default = $ENV::KEY_OU commonName_default = $ENV::KEY_CN name_default = $ENV::KEY_NAME # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape's comment listbox. nsComment = "Easy-RSA Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=clientAuth keyUsage = digitalSignature # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "Easy-RSA Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=serverAuth keyUsage = digitalSignature, keyEncipherment [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always [ engine_section ] # # If you are using PKCS#11 # Install engine_pkcs11 of opensc (www.opensc.org) # And uncomment the following # verify that dynamic_path points to the correct location # #pkcs11 = pkcs11_section [ pkcs11_section ] engine_id = pkcs11 dynamic_path = /usr/lib/engines/engine_pkcs11.so MODULE_PATH = $ENV::PKCS11_MODULE_PATH PIN = $ENV::PKCS11_PIN init = 0 fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-req-pass0000755000175000017500000000023612207656441025054 0ustar threebeanthreebean00000000000000#!/bin/sh # Like build-req, but protect your private key # with a password. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --csr --pass $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-ca0000755000175000017500000000016712207656441023707 0ustar threebeanthreebean00000000000000#!/bin/sh # # Build a root certificate # export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --initca $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/build-dh0000755000175000017500000000054012207656441023712 0ustar threebeanthreebean00000000000000#!/bin/sh # Build Diffie-Hellman parameters for the server side # of an SSL/TLS connection. if [ -d $KEY_DIR ] && [ $KEY_SIZE ]; then $OPENSSL dhparam -out ${KEY_DIR}/dh${KEY_SIZE}.pem ${KEY_SIZE} else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/list-crl0000755000175000017500000000044712207656441023761 0ustar threebeanthreebean00000000000000#!/bin/sh # list revoked certificates CRL="${1:-crl.pem}" if [ "$KEY_DIR" ]; then cd "$KEY_DIR" && \ $OPENSSL crl -text -noout -in "$CRL" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/sign-req0000755000175000017500000000026212207656441023750 0ustar threebeanthreebean00000000000000#!/bin/sh # Sign a certificate signing request (a .csr file) # with a local root certificate and key. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --interact --sign $* fedmsg-0.7.1/fedmsg/tests/test_certs/tmp/inherit-inter0000755000175000017500000000266112207656441025011 0ustar threebeanthreebean00000000000000#!/bin/sh # Build a new PKI which is rooted on an intermediate certificate generated # by ./build-inter or ./pkitool --inter from a parent PKI. The new PKI should # have independent vars settings, and must use a different KEY_DIR directory # from the parent. This tool can be used to generate arbitrary depth # certificate chains. # # To build an intermediate CA, follow the same steps for a regular PKI but # replace ./build-key or ./pkitool --initca with this script. # The EXPORT_CA file will contain the CA certificate chain and should be # referenced by the OpenVPN "ca" directive in config files. The ca.crt file # will only contain the local intermediate CA -- it's needed by the easy-rsa # scripts but not by OpenVPN directly. EXPORT_CA="export-ca.crt" if [ $# -ne 2 ]; then echo "usage: $0 " echo "parent-key-dir: the KEY_DIR directory of the parent PKI" echo "common-name: the common name of the intermediate certificate in the parent PKI" exit 1; fi if [ "$KEY_DIR" ]; then cp "$1/$2.crt" "$KEY_DIR/ca.crt" cp "$1/$2.key" "$KEY_DIR/ca.key" if [ -e "$1/$EXPORT_CA" ]; then PARENT_CA="$1/$EXPORT_CA" else PARENT_CA="$1/ca.crt" fi cp "$PARENT_CA" "$KEY_DIR/$EXPORT_CA" cat "$KEY_DIR/ca.crt" >> "$KEY_DIR/$EXPORT_CA" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/build-req0000755000175000017500000000031212207656441023303 0ustar threebeanthreebean00000000000000#!/bin/sh # Build a certificate signing request and private key. Use this # when your root certificate and key is not available locally. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --csr $* fedmsg-0.7.1/fedmsg/tests/test_certs/gpg/0000755000175000017500000000000012221366312022241 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/tests/test_certs/gpg/pubring.gpg0000644000175000017500000000444012212110512024375 0ustar threebeanthreebean00000000000000 R+!⊉ fyC:X?3.a'a1ƣ$F3]#qk-?a dh<>'JUI0=I HJV P,D?Fn~c%luR8Ư#u<ɛR ~9Ij HN +Ӣkh$aQ3Ɂ;*ɍO_a 70w ekMhKN>䎇6ڴR$f Rλ1 *+ hTest key8"R+!   ?%oe>~V9xDAf:j>pYXP⊷+bwgkP193=Su2h+pe>DιPzVܿcQդ1oGk2RߞcϞFs&( R{/EeقăI"cU ;Aڑ.;'g˪ x-gas!bs9 3 R d9?v6&:ގQ}:6J:#& , R+!*yXO3Q hȖކ\Ȩӎ[u 'E_3niq_iԊkBC4bЃ V!IW#vj퍯t@D[^1"?&" `Mm 8  ^:.ի0". ߁(i4oS=LtDdN a7Lć{ag2<=R0 .Yórzk R+! ?%D)| !*w9B iM *D.C}/( ;;fm1y}=;"\eƱfDpr87^4{we[ft_\2x?Z&eoQUgV KZiR'ה@`>@W Ag/#7dzɯt3Z\Na',@So{h^ci>,m_;5E;pg>2j9j6~QS/ H _Qn p R,ѵa\J%^SYFz+!1?rǖiv³'l0eמ70>6pBt=`(NTg(4ŜBZQsVseD&0K'Oɏ1*6~h|B)1|6ϫjl*4<&{C}Y):nX۔fuЋqhȎt6]F+xP_ Test key 28"R,   bPdν7 K}]ؾ%ZvR2{C6pގ`ĠԵ7GY84 bBHȻq2A܄F5+IvʃgD+DzGQV>wKh&|-ɜhV`r'wuכĦq=xCRE W["Ja0O"Kd8w ` h<0 EU!jLh\z5Ї/ R,LE /'+=eQ5+n_^i̮? ;&΋;%fDХ,3[Sl#tyyg: C&"-o h[2jJa AU O5w2HVPp!t#ZA ã71 <+K6خ54p-(QD2FpL  MuԉuW WYzx'*rf։5_[QB("PK5N`CWU]u; R, bPdν y*__B3KY"% V1q79V^I^M^J2_ɜ5>[5lzNDWo-5'˕-Ct B$c!薚jCNAԇڳ1!PnT9M{w_G5#C~"+w:a9U)7r9 j$*k/G TwW|IY;&$Jm&}c+YDˊx/„fedmsg-0.7.1/fedmsg/tests/test_certs/gpg/secring.gpg0000644000175000017500000000464512212110512024370 0ustar threebeanthreebean00000000000000R+!⊉ fyC:X?3.a'a1ƣ$F3]#qk-?a dh<>'JUI0=I HJV P,D?Fn~c%luR8Ư#u<ɛR ~9Ij HN +Ӣkh$aQ3Ɂ;*ɍO_a 70w ekMhKN>䎇6ڴR$f Rλ1 *+ h~ٓC*φ .lLHKC'L:"|H=`c>6YqV&2`0X7w2dң"Kߘ.xhv.8T..qJ򉤁QoKziaډI`a8cGb9PyT:GkEi,J43 CƖi)pp*8y Xj/ V͚ZI $ VZ 'K~V9xDAf:j>pYXP⊷+bwgkP193=Su2h+pe>DιPzVܿcQդ1oGk2RߞcϞFs&( R{/EeقăI"cU ;Aڑ.;'g˪ x-gas!bs9 3 R d9?v6&:ގQ}:6J:#& ,R+!*yXO3Q hȖކ\Ȩӎ[u 'E_3niq_iԊkBC4bЃ V!IW#vj퍯t@D[^1"?&" `Mm 8  ^:.ի0". ߁(i4oS=LtDdN a7Lć{ag2<=R0 .Yórzkj(OIfr1Hŷ_e@|8KZP:7S׍nڨcL6=hM[WE,/n 8?mbs^^E_zYZfu͔1eCNOkJ¯eH iYR3_6N`4dR~ǜKԸνR^д)3_C&u%6T22M:B[ &{dkY^d&.]_uZ#UEzgwN+[v -65|^Ss+y7܉ R+! ?%D)| !*w9B iM *D.C}/( ;;fm1y}=;"\eƱfDpr87^4{we[ft_\2x?Z&eoQUgV KZiR'ה@`>@W Ag/#7dzɯt3Z\Na',@So{h^ci>,m_;5E;pg>2j9j6~QS/ H _Qn pfedmsg-0.7.1/fedmsg/tests/test_certs/gpg/corrupt.sig0000644000175000017500000000044012212110512024426 0ustar threebeanthreebean00000000000000G-8 bPdν v UQt(G;Q"^})w(w^mh٭^ЎBWPck!A{B{$+ nxnΆ).%:Il3=stYD&ǣڕ{,8@26o-ȳ4`C0:9`~c״|,pK8^b-fIxVљ; lF][{Y%? fedmsg-0.7.1/fedmsg/tests/test_certs/gpg/test_data.sig0000644000175000017500000000043712212110512024706 0ustar threebeanthreebean00000000000000R-S bPdν v UQt(G;Q"^})w(w^mh٭^ЎBWPck!A{B{$+ nxnΆ).%:Il3=stYD&ǣڕ{,8@26o-ȳ4`C0:9`~c״|,pK8^b-fIxVљ; lF][{Y%?fedmsg-0.7.1/fedmsg/tests/test_certs/gpg/trustdb.gpg0000644000175000017500000000240012212110512024410 0ustar threebeanthreebean00000000000000gpgR,  ڒ3?% fc̮W'JUI0=I HJV P,D?Fn~c%luR8Ư#u<ɛR ~9Ij HN +Ӣkh$aQ3Ɂ;*ɍO_a 70w ekMhKN>䎇6ڴR$f Rλ1 *+ hTest key8"R+!   ?%oe>~V9xDAf:j>pYXP⊷+bwgkP193=Su2h+pe>DιPzVܿcQդ1oGk2RߞcϞFs&( R{/EeقăI"cU ;Aڑ.;'g˪ x-gas!bs9 3 R d9?v6&:ގQ}:6J:#& , R+!*yXO3Q hȖކ\Ȩӎ[u 'E_3niq_iԊkBC4bЃ V!IW#vj퍯t@D[^1"?&" `Mm 8  ^:.ի0". ߁(i4oS=LtDdN a7Lć{ag2<=R0 .Yórzk R+! ?%D)| !*w9B iM *D.C}/( ;;fm1y}=;"\eƱfDpr87^4{we[ft_\2x?Z&eoQUgV KZiR'ה@`>@W Ag/#7dzɯt3Z\Na',@So{h^ci>,m_;5E;pg>2j9j6~QS/ H _Qn pfedmsg-0.7.1/fedmsg/tests/test_certs/gpg/random_seed0000644000175000017500000000113012212110512024424 0ustar threebeanthreebean00000000000000Ǧ^t`qKd 3핵uٯL8|-lvLq/:hjRga!=._16Z/!""dtP7R j$/ha=&& >XTtV 5G;{fedmsg-0.7.1/fedmsg/tests/test_certs/openssl-1.0.0.cnf0000644000175000017500000002003612212110512024257 0ustar threebeanthreebean00000000000000# For use with easy-rsa version 2.0 and OpenSSL 1.0.0* # This definition stops the following lines choking if HOME isn't # defined. HOME = . RANDFILE = $ENV::HOME/.rnd openssl_conf = openssl_init [ openssl_init ] # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids engines = engine_section # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca' and 'req'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # use public key default MD preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_anything # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString (PKIX recommendation after 2004). # utf8only: only UTF8Strings (PKIX recommendation after 2004). # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\'s hostname) commonName_max = 64 name = Name name_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # JY -- added for batch mode organizationalUnitName_default = $ENV::KEY_OU commonName_default = $ENV::KEY_CN name_default = $ENV::KEY_NAME # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape's comment listbox. nsComment = "Easy-RSA Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=clientAuth keyUsage = digitalSignature # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "Easy-RSA Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=serverAuth keyUsage = digitalSignature, keyEncipherment [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always [ engine_section ] # # If you are using PKCS#11 # Install engine_pkcs11 of opensc (www.opensc.org) # And uncomment the following # verify that dynamic_path points to the correct location # #pkcs11 = pkcs11_section [ pkcs11_section ] engine_id = pkcs11 dynamic_path = /usr/lib/engines/engine_pkcs11.so MODULE_PATH = $ENV::PKCS11_MODULE_PATH PIN = $ENV::PKCS11_PIN init = 0 fedmsg-0.7.1/fedmsg/tests/test_certs/openssl-1.0.0.cnf-old-copy0000644000175000017500000002004012207656441026022 0ustar threebeanthreebean00000000000000# For use with easy-rsa version 2.0 and OpenSSL 1.0.0* # This definition stops the following lines choking if HOME isn't # defined. HOME = . RANDFILE = $ENV::HOME/.rnd openssl_conf = openssl_init [ openssl_init ] # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids engines = engine_section # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca' and 'req'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # use public key default MD preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_anything # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString (PKIX recommendation after 2004). # utf8only: only UTF8Strings (PKIX recommendation after 2004). # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\'s hostname) commonName_max = 64 name = Name name_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # JY -- added for batch mode organizationalUnitName_default = $ENV::KEY_OU commonName_default = $ENV::KEY_CN name_default = $ENV::KEY_NAME # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape's comment listbox. nsComment = "Easy-RSA Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=clientAuth keyUsage = digitalSignature # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "Easy-RSA Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=serverAuth keyUsage = digitalSignature, keyEncipherment [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always [ engine_section ] # # If you are using PKCS#11 # Install engine_pkcs11 of opensc (www.opensc.org) # And uncomment the following # verify that dynamic_path points to the correct location # #pkcs11 = pkcs11_section [ pkcs11_section ] engine_id = pkcs11 dynamic_path = /usr/lib/engines/engine_pkcs11.so MODULE_PATH = $ENV::PKCS11_MODULE_PATH PIN = $ENV::PKCS11_PIN init = 0 fedmsg-0.7.1/fedmsg/tests/test_certs/openssl-0.9.8.cnf0000644000175000017500000002020512212110512024275 0ustar threebeanthreebean00000000000000# For use with easy-rsa version 2.0 # # OpenSSL example configuration file. # This is mostly being used for generation of certificate requests. # # This definition stops the following lines choking if HOME isn't # defined. HOME = . RANDFILE = $ENV::HOME/.rnd openssl_conf = openssl_init [ openssl_init ] # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids engines = engine_section # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca' and 'req'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # which md to use. preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_anything # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied name = optional emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString. # utf8only: only UTF8Strings. # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings # so use this option with caution! string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\'s hostname) commonName_max = 64 name = Name name_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # JY -- added for batch mode organizationalUnitName_default = $ENV::KEY_OU commonName_default = $ENV::KEY_CN name_default = $ENV::KEY_NAME # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape's comment listbox. nsComment = "Easy-RSA Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=clientAuth keyUsage = digitalSignature # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "Easy-RSA Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always extendedKeyUsage=serverAuth keyUsage = digitalSignature, keyEncipherment [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always [ engine_section ] # # If you are using PKCS#11 # Install engine_pkcs11 of opensc (www.opensc.org) # And uncomment the following # verify that dynamic_path points to the correct location # #pkcs11 = pkcs11_section [ pkcs11_section ] engine_id = pkcs11 dynamic_path = /usr/lib/engines/engine_pkcs11.so MODULE_PATH = $ENV::PKCS11_MODULE_PATH PIN = $ENV::PKCS11_PIN init = 0 fedmsg-0.7.1/fedmsg/tests/test_certs/build-ca0000755000175000017500000000015412207656441023103 0ustar threebeanthreebean00000000000000#!/bin/sh # # Build a root certificate # export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --initca $* fedmsg-0.7.1/fedmsg/tests/test_certs/list-crl0000755000175000017500000000044712207656441023161 0ustar threebeanthreebean00000000000000#!/bin/sh # list revoked certificates CRL="${1:-crl.pem}" if [ "$KEY_DIR" ]; then cd "$KEY_DIR" && \ $OPENSSL crl -text -noout -in "$CRL" else echo 'Please source the vars script first (i.e. "source ./vars")' echo 'Make sure you have edited it to reflect your configuration.' fi fedmsg-0.7.1/fedmsg/tests/test_certs/sign-req0000755000175000017500000000024712207656441023153 0ustar threebeanthreebean00000000000000#!/bin/sh # Sign a certificate signing request (a .csr file) # with a local root certificate and key. export EASY_RSA="${EASY_RSA:-.}" "$EASY_RSA/pkitool" --sign $* fedmsg-0.7.1/fedmsg/tests/test_threads.py0000644000175000017500000001015012212155173022346 0ustar threebeanthreebean00000000000000# This file *was* a part of Moksha. # Copyright (C) 2008-2010 Red Hat, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import unittest import threading import copy import os import socket from time import sleep, time from uuid import uuid4 from moksha.hub.tests.test_hub import simulate_reactor from moksha.hub.hub import MokshaHub from moksha.hub import CentralMokshaHub from fedmsg.core import FedMsgContext from nose.tools import eq_, assert_true, assert_false, raises import fedmsg.config import fedmsg.consumers import fedmsg.encoding # Some constants used throughout the hub tests sleep_duration = 0.25 secret = "secret_message" def load_config(name='fedmsg-test-config.py'): here = os.path.sep.join(__file__.split(os.path.sep)[:-1]) test_config = os.path.sep.join([here, name]) config = fedmsg.config.load_config( [], "awesome", filenames=[ test_config, ], invalidate_cache=True ) # TODO -- this appears everywhere and should be encapsulated in a func # Massage the fedmsg config into the moksha config. config['zmq_subscribe_endpoints'] = ','.join( ','.join(bunch) for bunch in config['endpoints'].values() ) hub_name = "twisted.%s" % socket.gethostname().split('.', 1)[0] config['zmq_publish_endpoints'] = ','.join( config['endpoints'][hub_name] ) config['sign_messages'] = False return config class TestHub(unittest.TestCase): def setUp(self): config = load_config() self.config = config self.hub = CentralMokshaHub(config=config) # fully qualified self.fq_topic = "com.test_prefix.dev.unittest.foo" # short version self.topic = "foo" def tearDown(self): self.hub.close() def test_multi_threaded(self): """ Send messages from 5 concurrent threads. """ messages_received = [] def callback(json): messages_received.append(fedmsg.encoding.loads(json.body)) self.hub.subscribe(topic=self.fq_topic, callback=callback) sleep(sleep_duration) test_name = "__main__.%s" % socket.gethostname().split('.', 1)[0] self.config['name'] = test_name class Publisher(threading.Thread): def run(shmelf): config = copy.deepcopy(self.config) import fedmsg fedmsg.init(**config) fedmsg.publish(topic=self.topic, msg=secret, modname="unittest") threads = [Publisher() for i in range(5)] for thread in threads: thread.start() for thread in threads: thread.join() simulate_reactor(sleep_duration) sleep(sleep_duration) eq_(len(messages_received), 5) eq_(messages_received[0]['msg'], secret) def test_reinitialize(self): """ In a thread, try to destroy and re-init the API. """ test_name = "__main__.%s" % socket.gethostname().split('.', 1)[0] self.config['name'] = test_name self.test_reinit_success = False class Publisher(threading.Thread): def run(shmelf): config = copy.deepcopy(self.config) import fedmsg fedmsg.init(**config) fedmsg.destroy() fedmsg.init(**config) fedmsg.destroy() fedmsg.init(**config) fedmsg.destroy() self.test_reinit_success = True thread = Publisher() thread.start() thread.join() assert(self.test_reinit_success) if __name__ == '__main__': unittest.main() fedmsg-0.7.1/fedmsg/encoding/0000755000175000017500000000000012221366312017731 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg/encoding/__init__.py0000644000175000017500000000627312212110512022037 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ fedmsg messages are encoded as JSON. Use the functions :func:`fedmsg.encoding.loads`, :func:`fedmsg.encoding.dumps`, and :func:`fedmsg.encoding.pretty_dumps` to encode/decode. When serializing objects (usually python dicts) with :func:`fedmsg.encoding.dumps` and :func:`fedmsg.encoding.pretty_dumps`, the following exceptions to normal JSON serialization are observed. * :class:`datetime.datetime` objects are correctly converted to seconds since the epoch. * For objects that are not JSON serializable, if they have a ``.__json__()`` method, that will be used instead. * SQLAlchemy models that do not specify a ``.__json__()`` method will be run through :func:`fedmsg.encoding.sqla.to_json` which recursively produces a dict of all attributes and relations of the object(!) Be careful using this, as you might expose information to the bus that you do not want to. See :doc:`crypto` for considerations. """ import time import datetime sqlalchemy = None try: import sqlalchemy import sqlalchemy.ext.declarative except ImportError: pass try: # py2.7 from collections import OrderedDict except ImportError: # py2.4, 2.5, 2.6 from ordereddict import OrderedDict import json import json.encoder class FedMsgEncoder(json.encoder.JSONEncoder): """ Encoder with convenience support. """ def default(self, obj): if hasattr(obj, '__json__'): return obj.__json__() if isinstance(obj, datetime.datetime): return time.mktime(obj.timetuple()) if isinstance(obj, time.struct_time): return time.mktime(obj) if isinstance(obj, set): return list(obj) if sqlalchemy: # As a last ditch, try using our sqlalchemy json encoder. sqla_type = sqlalchemy.ext.declarative.DeclarativeMeta if isinstance(type(obj), sqla_type): import fedmsg.encoding.sqla return fedmsg.encoding.sqla.to_json(obj) return super(FedMsgEncoder, self).default(obj) # Ensure that the keys are ordered so that messages can be signed # consistently. See https://github.com/fedora-infra/fedmsg/issues/42 encoder = FedMsgEncoder(sort_keys=True, separators=(',', ':')) dumps = encoder.encode pretty_encoder = FedMsgEncoder(indent=2) pretty_dumps = pretty_encoder.encode loads = json.loads __all__ = [ 'pretty_dumps', 'dumps', 'loads', ] fedmsg-0.7.1/fedmsg/encoding/sqla.py0000644000175000017500000000442512207656441021261 0ustar threebeanthreebean00000000000000# This file is part of fedmsg. # Copyright (C) 2012 Red Hat, Inc. # # fedmsg is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # fedmsg is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with fedmsg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Authors: Ralph Bean # """ :mod:`fedmsg.encoding.sqla` houses utility functions for JSONifying sqlalchemy models that do not define their own ``.__json__()`` methods. Use at your own risk. :func:`fedmsg.encoding.sqla.to_json` will expose all attributes and relations of your sqlalchemy object and may expose information you not want it to. See :doc:`crypto` for considerations. """ try: from sqlalchemy.orm import class_mapper from sqlalchemy.orm.properties import RelationshipProperty except ImportError: pass def to_json(obj, seen=None): """ Returns a dict representation of the object. Recursively evaluates to_json(...) on its relationships. """ if not seen: seen = [] properties = list(class_mapper(type(obj)).iterate_properties) relationships = [ p.key for p in properties if type(p) is RelationshipProperty ] attrs = [ p.key for p in properties if p.key not in relationships ] d = dict([(attr, getattr(obj, attr)) for attr in attrs]) for attr in relationships: d[attr] = expand(obj, getattr(obj, attr), seen) return d def expand(obj, relation, seen): """ Return the to_json or id of a sqlalchemy relationship. """ if hasattr(relation, 'all'): relation = relation.all() if hasattr(relation, '__iter__'): return [expand(obj, item, seen) for item in relation] if type(relation) not in seen: return to_json(relation, seen + [type(obj)]) else: return relation.id fedmsg-0.7.1/doc/0000755000175000017500000000000012221366312015443 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/doc/overview.rst0000644000175000017500000002656212207656441020067 0ustar threebeanthreebean00000000000000======== Overview ======== Description of the problem ~~~~~~~~~~~~~~~~~~~~~~~~~~ Fedora Infrastructure is composed of a number of services (koji, fedpkg, pkgdb, etc..) some of which are maintained outside the Fedora Project and some of which were built in-house by the infrastructure team. These are strung together in a pipeline. Think "how an upstream release becomes a package update", "How a new source distribution becomes a package." At present, many of the steps in this process require the maintainer to wait and watch for a previous step to complete. For instance once a branch of a package is successfully built in koji, the maintainer must `submit their update to bodhi `_ (See the `new package process `_ for more details). Other progressions in the pipeline are automated. For instance, `AutoQA `_ defines a `set of watchers `_. Most watchers are run as a cron task. Each one looks for `certain events `_ and fires off tests when appropriate. At LinuxFest Northwest (2009), jkeating gave `a talk `_ on the problem of complexity in the Fedora infrastructure and how this might be addressed with a message bus architecture. Each service in the infrastructure depends on many of the others. Some pieces directly poke others: git (fedpkg) currently pokes AutoQA from a post-update hook. Other pieces poll others' status: koji scrapes pkgdb for package-owner relationships and email aliases. This dense coupling of services makes changing, adding, or replacing services more complicated: commits to one project require a spidering of code changes to all the others. How messaging might address the problem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ jkeating's `talk on messaging in the Fedora Instructure `_ proposed the adoption of a unified message bus to reduce the complexity of multiple interdependent services. Instead of a service interfacing with its dependencies' implementations, it could subscribe to a `topic`, provide a callback, and respond to events. For instance, instead of having koji scrape pkgdb on an interval for changed email addresses, pkgdb could emit messages to the ``org.fedoraproject.service.pkgdb`` topic whenever an account's email address changes. koji could subscribe to the same topic and provide a callback that updates its local email aliases when invoked. In another case, the git (fedpkg) post-update hook could publish messages to the ``org.fedoraproject.service.fedpkg.post-update`` topic. AutoQA could subscribe to the same. Now if we wanted to enable another service to act when updates are pushed to fedpkg, that service need only subscribe to the topic and implement its own callback instead of appending its own call to fedpkg's post-update hook (instead of coupling its own implementation with fedpkg's). A message bus architecture, once complete, would dramatically reduce the work required to update and maintain services in the Fedora infrastructure. Other benefits ~~~~~~~~~~~~~~ By adopting a messaging strategy for Fedora Infrastructure we could gain: - A stream of data which we can watch and from which we can garner statistics about infrastructure activity. - The de-coupling of services from one another. - libnotify notifications to developers' desktops. - jquery.gritter.js notifications to web interfaces. - this could be generalized to a ``fedmsg.wsgi`` middleware layer that injects a fedora messaging dashboard header into every page served by apps `X`, `Y`, and `Z`. - An irc channel, ``#fedora-fedmsg`` that echoes every message on the bus. - An identi.ca account, @fedora-firehose, that echoes every message on the bus. AMQP, and 0mq ------------- AMQP or "Broker? Damn near killed 'er!" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When discussions on the `Fedora Messaging SIG `_ began, AMQP was the choice by default. Since then members of the SIG have become attracted to an alternative messaging interface called `0mq `_. Recommended reading: - `What's wrong with AMQP `_ The following is recreated from J5's Publish/Subscribe Messaging Proposal as an example of how Fedora Infrastructure could be reorganized with AMQP and a set of federated AMQP brokers (qpid). .. image:: _static/reorganize-amqp-j5.png The gist is that each service in the Fedora Infrastructure would have the address of a central message broker on hand. On startup, each service would connect to that broker, ask the broker to establish its outgoing queues, and begin publishing messages. Similarly, each service would ask the broker to establish incoming queues for them. The broker would handle the routing of messages based on ``routing_keys`` (otherwise known as `topics`) from each service to the others. The downshot, in short, is that AMQP requires standing up a single central broker and thus a single-point-of-failure. In the author's work on `narcissus `_ I found that for even the most simple of AMQP configurations, my qpid brokers' queues would bloat over time until \*pop\*, the broker would fall over. 0mq or "Going for Broke(rless)" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0mq is developed by a team that had a hand in the original development of AMQP. It claims to be a number of things: an "intelligent transport layer", a "socket library that acts as a concurrency framework", and the `sine qua non` "Extra Spicy Sockets!" Recommended reading: - `The Z-guide `_ The following depicts an overview of a subset of Fedora Infrastructure organized with a decentralized 0mq bus parallel to the spirit of J5's recreated diagram in the AMQP section above. .. image:: _static/reorganize-0mq-overview.png No broker. The gist is that each service will open a port and begin publishing messages ("bind to" in zmq-language). Each other service will connect to that port to begin consuming messages. Without a central broker doing `all the things `_, 0mq can afford a high throughput. For instance, in initial tests of a 0mq-enabled `moksha hub `_, the Fedora Engineering Team achieved a 100-fold speedup over AMQP. Service discovery ~~~~~~~~~~~~~~~~~ Shortly after you begin thinking over how to enable Fedora Infrastructure to pass messages over a `fabric` instead of to a `broker`, you arrive at the problem we'll call "service discovery". In reality, (almost) every service both `produces` and `consumes` messages. For the sake of argument, we'll talk here just about a separate `producing service` and some `consuming services`. Scenario: the producing service starts up a producing socket (with a hidden queue) and begins producing messages. Consuming services `X`, `Y`, and `Z` are interested in this and they would like to connect. With AMQP, this is simplified. You have one central broker and each consuming service need only know it's one address. They connect and the match-making is handled for them. With 0mq, each consuming service needs to somehow `discover` its producer(s) address(es). There are a number of ways to address this: - *Write our own broker*; this would not be that difficult. We could (more simply) scale back the project and write our own directory lookup service that would match consumers with their providers. This could be done in surprisingly few lines of python. This issue is that we re-introduce the sticking point of AMQP, a single point of failure. - *Use DNS*; There is a helpful `blog post `_ on how to do this with `djbdns`. DNS is always there anyways: if DNS goes down, we have bigger things to worry about than distributing updates to our messaging topology. - *Share a raw text file*; This at first appears crude and cumbersome: - Maintain a list of all `fedmsg`-enabled producers in a text file - Make sure that file is accessible from every consuming service. - Have each consuming service read in the file and connect to every (relevant) producer in the list In my opinion, using DNS is generally speaking the most elegant solution. However, for Fedora Infrastructure in particular, pushing updates to DNS and pushing a raw text file to every server involves much-the-same workflow: `puppet`. Because much of the overhead of updating the text file falls in-line with the rest of Infrastructure work, it makes more sense to go with the third option. Better not to touch DNS when we don't have to. That configuration is kept in ``/etc/fedmsg.d/``, is read by the code in :mod:`fedmsg.config`. The config value of interest is :term:`endpoints`. Namespace considerations ------------------------ In the above examples, the topic names are derived from the service names. For instance, pkgdb publishes messages to ``org.fedoraproject.service.pkgdb*``, AutoQA presumably publishes messages to ``org.fedoraproject.service.autoqa*``, and so on. This convention, while clear-cut, has its limitations. Say we wanted to replace pkgdb whole-sale with our shiney new `threebean-db` (tm). Here, all other services are subscribed to topics that mention pkgdb explicitly. Rolling out threebean-db will require patching every other service; we find ourselves in a new flavor of the same complexity/co-dependency trap described in the first section. The above `service-oriented` topic namespace is one option. Consider an `object-oriented` topic namespace where the objects are things like users, packages, builds, updates, tests, tickets, and composes. Having bodhi subscribe to ``org.fedoraproject.object.tickets`` and ``org.fedoraproject.object.builds`` leaves us less tied down to the current implementation of the rest of the infrastructure. We could replace `bugzilla` with `pivotal` and bodhi would never know the difference - a ticket is a ticket. That would be nice; but there are too many objects in Fedora Infrastructure that would step on each other. For instance, Koji **tags** packages and Tagger **tags** packages; these two are very different things. Koji and Tagger cannot **both** emit events over ``org.fedoraproject.package.tag.*`` without widespread misery. Consequently, our namespace follows a `service-oriented` pattern. The scheme ~~~~~~~~~~ Event topics will follow the rule:: org.fedoraproject.ENV.SERVICE.OBJECT[.SUBOBJECT].EVENT Where: - ``ENV`` is one of `dev`, `stg`, or `production`. - ``SERVICE`` is something like `koji`, `bodhi`, or `fedoratagger` - ``OBJECT`` is something like `package`, `user`, or `tag` - ``SUBOBJECT`` is something like `owner` or `build` (in the case where ``OBJECT`` is `package`, for instance) - ``EVENT`` is a verb like `update`, `create`, or `complete`. All 'fields' in a topic **should**: - Be `singular` (Use `package`, not `packages`) - Use existing fields as much as possible (since `complete` is already used by other topics, use that instead of using `finished`). fedmsg-0.7.1/doc/meta.rst0000644000175000017500000000044712207656441017141 0ustar threebeanthreebean00000000000000"Natural Language" Representation of Messages ============================================= .. automodule:: fedmsg.meta :members: :undoc-members: :show-inheritance: .. autodata:: processors .. automodule:: fedmsg.meta.base :members: :undoc-members: :show-inheritance: fedmsg-0.7.1/doc/publishing.rst0000644000175000017500000000014212207656441020347 0ustar threebeanthreebean00000000000000Python API: Emitting Messages ============================== .. autofunction:: fedmsg.publish fedmsg-0.7.1/doc/diagrams/0000755000175000017500000000000012221366312017232 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/doc/diagrams/README.rst0000644000175000017500000000011012207656441020722 0ustar threebeanthreebean00000000000000# Diagrams are rendered using "ditaa" ditaa *.txt mv *.png ../_static/. fedmsg-0.7.1/doc/diagrams/proposal.txt0000644000175000017500000000414712207656441021651 0ustar threebeanthreebean00000000000000Recreated from J5's PubSub Notification Proposal ================================================ /-------+ /-------+ /-------+ /-------+ | FAS | | Bodhi | | Koji | | PkgDB | +-------/ +-------/ +-------/ +-------/ | | | | V V V V /--------------------------------\ | Fedora Infrastructure | | AMQP Broker (qpid) | \--------------------------------/ | | | | V V /-------------\ /-------------\ | Fedora | | FAS User | | Community | | AMQP Broker | | AMQP Broker | | (qpid) | | (qpid) | \-------------/ \-------------/ | | | V V /--------------\ /--------------\ | Web Frontend | | gnome-shell | \--------------/ \--------------/ 0mq Proposal; Decentralized Bus =============================== Overview /-------------\ /-------+ /-------+ | Fedora | | FAS |<------->| Bodhi | . . . --+ | Community | +-------/ +-------/ | +-----------+ | ^ ^ ^ ^ +--> | Moksha Hub| | | | | | +-----------+ | | | +-----------+ | \-------------/ | | | | /-------------\ | +-+-------------+ | . . . -----> | Bus Monitor | | | | | \-------------/ V V V V /-------------\ /-------+ /-------+ . . . -----> | FAS User | | Koji |<------->| PkgDB | . . . <--+ | 0mq Repeater| +-------/ +-------/ | \-------------/ | /-------------\ +-> | Bugzilla | | 0mq<->AMQP | | Bridge | \-------------/ fedmsg-0.7.1/doc/diagrams/topology.txt0000644000175000017500000000530012212110512021632 0ustar threebeanthreebean00000000000000/-------+ /-------------+ /----------------\ | SCM | |shell scripts| | apache +------+ | hooks | |fedmsg-logger| | mod_php | wiki | +-------/ +-------------/ \---------+------/ | | | V V V /------------+--------------\ (the bus) (numerous consuming daemons) | fedmsg-hub | fedmsg-relay |------>| | +--------------+ | /--------------+------------------\ \---------------------------/ +------->| fedmsg-hub | fedmsg-irc |-> Clients | \--------------+------------------/ /-----------+-------\ | /--------------+------------------\ | apache | bodhi +------>+------->| fedmsg-hub | fedmsg-gateway |-> Freenode | mod_wsgi +-+-----+ | \--------------+------------------/ | | fas +------>+ /-------+------+------------------\ | +--+-----+ +------->| fedmsg-hub | websocket-server |-> Clients | | tagger +------>+ \-------+------+------------------/ | +--------+ | /--------------------------\ | | pkgdb +------>| |fedmsg-hub +-----------+ +--------------+ | +--------+ +------->| | fedbadges |->| {s} postgres | | | busmon | | | +-----------+ +--------------+ \----------+--------/ | | +---------------------+ +--------------------+ | | |herlo's fama updater |->| {d} xmlrpc -> trac | /----------+----------------\ | | +---------------------+ +--------------------+ | supybot/ | supybot-fedmsg +------>+ | +------------+ +--------------+ | meetbot +----------------+ | | | datanommer |->| {s} postgres | \---------------------------/ +------->| +------------+ +--------------+ | | +------------------------+ +----------------+ /------+-------------\ | | |busmon-memcached-stuffer|->| {s} memcached | | koji | koji plugin +------>+ | +------------------------+ | | | hub +-------------+ | | | +----------------+ \--------------------/ | \--------------------------/ | /-------------\ +------->| fedmsg-tail | \-------------/ fedmsg-0.7.1/doc/meetings.rst0000644000175000017500000000144712207656441020027 0ustar threebeanthreebean00000000000000IRC Meetings ============ IRC Meetings for the Messaging SIG occur every Tuesday at 16.00 UTC. Archives -------- - http://meetbot.fedoraproject.org/fedora-meeting/2012-03-20/messaging-sig.2012-03-20-16.15.html - http://meetbot.fedoraproject.org/fedora-meeting/2012-03-27/messaging_sig.2012-03-27-16.05.html - http://meetbot.fedoraproject.org/fedora-meeting/2012-04-03/fedora-meeting.2012-04-03-16.04.html - http://meetbot.fedoraproject.org/fedora-meeting/2012-04-10/fedora-meeting.2012-04-10-16.09.html - http://meetbot.fedoraproject.org/fedora-meeting/2012-04-17/fedora-meeting.2012-04-17-16.09.html - http://meetbot.fedoraproject.org/fedora-meeting/2012-04-24/fedora-meeting.2012-04-24-16.07.html - http://meetbot.fedoraproject.org/fedora-meeting/2012-05-08/fedora-meeting.2012-05-08-16.06.html fedmsg-0.7.1/doc/status.rst0000644000175000017500000001253212212110512017510 0ustar threebeanthreebean00000000000000FedMsg Status Table =================== This is a table to keep track of where we are with all the different systems. There is no information here about *receiving* messages, only sending. +---------------+-----------+------------+----------+-----------+ | Service | Dev | Stg | SSL | Prod | +===============+===========+============+==========+===========+ | fedmsg-relay | DONE | DONE | N/A | DONE | +---------------+-----------+------------+----------+-----------+ | fedmsg-irc | DONE | DONE | N/A | DONE | +---------------+-----------+------------+----------+-----------+ | fedmsg-gateway| DONE | DONE | N/A | DONE | +---------------+-----------+------------+----------+-----------+ | websockets | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | askbot | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | autoqa | | | | | +---------------+-----------+------------+----------+-----------+ | bodhi | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | bugzilla | | | | | +---------------+-----------+------------+----------+-----------+ | busmon | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | compose | DONE | N/A | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | comp 2nd arch | DONE | N/A | DONE | DONE*[4_] | +---------------+-----------+------------+----------+-----------+ | coprs | DONE | | | | +---------------+-----------+------------+----------+-----------+ | elections | DONE [1_] | | | | +---------------+-----------+------------+----------+-----------+ | fas | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | fedocal | | | | | +---------------+-----------+------------+----------+-----------+ | fedorahosted | DONE | N/A | DONE | (almost) | +---------------+-----------+------------+----------+-----------+ | fuss [2_] | | | | | +---------------+-----------+------------+----------+-----------+ | httpd | | | | | +---------------+-----------+------------+----------+-----------+ | koji | DONE? |BLOCKED [3_]| DONE | DONE | +---------------+-----------+------------+----------+-----------+ | mailman | DONE | | | | +---------------+-----------+------------+----------+-----------+ | meetbot | DONE | N/A | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | netapp | | | | | +---------------+-----------+------------+----------+-----------+ | nagios | DONE | | | | +---------------+-----------+------------+----------+-----------+ | pastebin | | | | | +---------------+-----------+------------+----------+-----------+ | pkgdb | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | planet | DONE? | N/A | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | scm | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | sigul | | | | | +---------------+-----------+------------+----------+-----------+ | pkgdb2branch | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | tagger | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | wiki | DONE | DONE | DONE | DONE | +---------------+-----------+------------+----------+-----------+ | zabbix | | | | | +---------------+-----------+------------+----------+-----------+ .. _1: https://github.com/abadger/fedora-elections-flask/pull/1 .. _2: http://github.com/rossdylan/fuss .. _3: https://fedorahosted.org/fedora-infrastructure/ticket/3438 .. _4: https://fedorahosted.org/fedora-infrastructure/ticket/3700 Other projects -------------- There are a number of external tools being built against fedmsg: - Luke Macken's `fedmsg-notify `_ is a dbus daemon that connects the fedmsg bus to users' desktops. - Bill Peck's `fedmsg-download `_ listens to the bus and begins download rawhide and branched composes once they are complete for efficient mirroring. - Ralph Bean's `datanommer `_ is a storage consumer for fedmsg. It stores every message it receives in a SQL database. fedmsg-0.7.1/doc/FAQ.rst0000644000175000017500000000335712212110512016601 0ustar threebeanthreebean00000000000000Frequently Asked Questions ========================== - Is there a list of all messages? - Yes! See :doc:`topics`. - When will we be getting koji messages? - We have them now (we got them in late January, 2013)! Look for ``org.fedoraproject.prod.buildsys...`` - When will we be getting bugzilla messages? - Not for a while, unfortunately. We're waiting on Red Hat to sort out issues on their end with qpidd. - Can I deploy fedmsg at my site, even if it has nothing to do with Fedora? - Yes. It was designed so that all the Fedora-isms could be separated out into plugins. Get in touch with ``#fedora-apps`` or create a ticket if you'd like to try this out. - ``fedmsg-tail`` isn't showing the same output as the bot in the ``#fedora-fedmsg`` IRC channel. What's up? - Is the formatting just different? Try the following to get those "nice" messages:: $ sudo yum install python-fedmsg-meta-fedora-infrastructure $ fedmsg-tail --terse - What you were seeing before was the raw JSON content of the messages. That is interesting to see if you want to develop tools that consume fedmsg messages. You can make those JSON blobs a little more readable with:: $ fedmsg-tail --really-pretty - If you *really are* seeing different messages between fedmsg-bot and fedmsg-tail, please report it in the ``#fedora-apps`` IRC channel or as a `ticket on github `_. - How do I make that realtime movie of the bus? - Like this:: $ sudo yum install gource $ sudo yum install python-fedmsg-meta-fedora-infrastructure $ fedmsg-tail --gource | gource -i 0 --user-image-dir ~/.cache/gravatar --log-format custom - fedmsg-0.7.1/doc/crypto.rst0000644000175000017500000000023212207656441017523 0ustar threebeanthreebean00000000000000Cryptography and Message Signing ================================ .. automodule:: fedmsg.crypto :members: :undoc-members: :show-inheritance: fedmsg-0.7.1/doc/development.rst0000644000175000017500000000626312212110512020513 0ustar threebeanthreebean00000000000000=========== Development =========== Using a virtualenv ------------------ Although you don't strictly *have* to, you should use `virtualenvwrapper `_ for isolating your development environment. It is to your benefit because you'll be able to install the latest fedmsg from a git checkout without messing with your system fedmsg install (if you have one). The instructions here will assume you are using that. You can install it with:: $ sudo yum install python-virtualenvwrapper .. note:: If you decide not to use python-virtualenvwrapper, you can always use latest update of fedmsg in fedora. If you are doing this, simply ignore all ``mkvirtualenv`` and ``workon`` commands in these instructions. You can install fedmsg with ``sudo yum install fedmsg``. Development Dependencies ------------------------ Get:: $ sudo yum install python-virtualenv openssl-devel zeromq-devel gcc Cloning the Upstream Git Repo ----------------------------- The source code is on github. For read-only access, simply:: $ git clone git://github.com/fedora-infra/fedmsg.git Of course, you may want to do the usual `fork and then clone `_ pattern if you intend to submit patches/pull-requests (please do!). .. note:: If submitting patches, you should check :doc:`contributing` for style guidelines. Setting up your virtualenv -------------------------- Create a new, empty virtualenv and install all the dependencies from `pypi `_:: $ cd fedmsg $ mkvirtualenv fedmsg (fedmsg)$ python setup.py develop .. note:: If the mkvirtualenv command is unavailable try ``source /usr/bin/virtualenvwrapper.sh`` on Fedora (if you do not run Fedora you might have to adjust the command a little). You should also run the tests, just to make sure everything is sane:: (fedmsg)$ python setup.py test Try out the shell commands -------------------------- Having set up your environment in the `Hacking` section above, open up three terminals. In each of them, activate your virtualenv with:: $ workon fedmsg and in one, type:: (fedmsg)$ fedmsg-relay In the second, type:: (fedmsg)$ fedmsg-tail --really-pretty In the third, type:: (fedmsg)$ echo "Hello, world" | fedmsg-logger And you should see the message appear in the ``fedmsg-tail`` term. Configuration ------------- There is a folder in the root of the upstream git checkout named ``fedmsg.d/``. :mod:`fedmsg.config` will try to read this whenever the fedmsg API is invoked. If you're starting a new project like a consumer or a webapp that is sending fedmsg messages, you'll need to copy the ``fedmsg.d/`` directory to the root directory of that project. In :doc:`deployment`, that folder is kept in ``/etc/fedmsg.d/``. .. note:: Watch out: if you have a ``/etc/fedmsg.d/`` folder and a local ``./fedmsg.d/``, fedmsg will read both. Global first, and then local. Local values will overwrite system-wide ones. .. note:: The tutorial on `consuming FAS messages from stg `_ might be of further help. It was created before these instructions were written. fedmsg-0.7.1/doc/conf.py0000644000175000017500000001463412212110512016737 0ustar threebeanthreebean00000000000000# -*- coding: utf-8 -*- # # ToscaWidgets 2 documentation build configuration file, created by # sphinx-quickstart on Tue Mar 10 11:38:11 2009. # # This file is execfile()d with the current directory set to its containing # dir. # # The contents of this file are pickled, so don't put values in the namespace # that aren't pickleable (module imports are okay, they're removed # automatically). # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys import os # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it # absolute, like shown here. #sys.path.append(os.path.abspath('.')) # General configuration # --------------------- # import Cloud import cloud_sptheme as csp from fedmsg.doc_utilities import make_topics_doc here = os.path.dirname(os.path.abspath(__file__)) make_topics_doc(here) # ... some contents omitted ... # set the html theme html_theme = "cloud" # ... some contents omitted ... # set the theme path to point to cloud's theme data html_theme_path = [csp.get_theme_dir()] # [optional] set some of the options listed above... html_theme_options = { "sidebarwidth": "200px", "max_width": "900px", "compact_width": "800px", "minimal_width": "700px", # Style it like Fedora.. "bodyfont": "Cantarell", "highlightcolor": "#060", # First Green "sidebarbgcolor": "#FEFEFE", "sidebartrimcolor": "#FEFEFE", "sectionbgcolor": "#FEFEFE", "sectiontrimcolor": "#FEFEFE", "sectiontextcolor": "#444444", "relbarbgcolor": "#FEFEFE", "relbartextcolor": "#444444", "relbarlinkcolor": "#444444", "bgcolor": "#FEFEFE", "textcolor": "#444444", "linkcolor": "#060", # First Green "headtextcolor": "#444444", "headlinkcolor": "#444444", #"codebgcolor" #"codetextcolor" "codetrimcolor": "#060", # First Green "footerbgcolor": "#FEFEFE", } # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ['sphinx.ext.autodoc'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. #source_encoding = 'utf-8' # The master toctree document. master_doc = 'index' # General information about the project. project = u'Fedora Messaging' copyright = u'2012 Red Hat, Inc. and others.' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. # TODO -- read this from the README.rst file version = '0.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. #language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%B %d, %Y' # List of documents that shouldn't be included in the build. #unused_docs = [] # List of directories, relative to source directory, that shouldn't be searched # for source files. exclude_trees = ['.build'] # The reST default role (used for this markup: `text`) to use for all # documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # Options for HTML output # ----------------------- # The style sheet to use for HTML and HTML Help pages. A file of that name # must exist either in Sphinx' static/ path, or in one of the custom paths # given in html_static_path. html_style = 'site.css' # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. html_sidebars = { '**': [ 'fedmsg-logo.html', 'localtoc.html', 'relations.html', 'githubedit.html', ], } # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_use_modindex = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, the reST sources are included in the HTML build as _sources/. #html_copy_source = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = '' # Output file base name for HTML help builder. htmlhelp_basename = 'fedmsg' fedmsg-0.7.1/doc/replay.rst0000644000175000017500000000240312212110512017455 0ustar threebeanthreebean00000000000000Replay ====== .. automodule:: fedmsg.replay :members: :undoc-members: :show-inheritance: Replay queries -------------- Currently, a query is the union of multiple criteria. It means that the more criteria you add, the bigger the result set should become. The following criteria are supported: .. glossary:: seq_ids ``list`` - A list of integers, matching the seq_id attributes of the messages. It should return at most as many messages as the length of the list, assuming no duplicate. Supported by ``SqlStore``. seq_id ``int`` - A single integer matching the seq_id attribute of the messages. Should return a single message. It is intended as a shorthand for singleton ``seq_ids`` queries. Supported by ``SqlStore``. seq_id_range ``tuple`` - A couple of integers defining a range of seq_id to check. Supported by ``SqlStore`` msg_ids ``list`` - a list of UUIDs matching the msg_id attribute of the messages. Supported by ``SqlStore``. msg_id ``uuid`` - A single UUID for the msg_id attribute. Supported by ``SqlStore``. time ``tuple`` - Couple of timestamps. It will return all messages emitted inbetween. Supported by ``SqlStore`` fedmsg-0.7.1/doc/_templates/0000755000175000017500000000000012221366312017600 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/doc/_templates/layout.html0000644000175000017500000000071712207656441022021 0ustar threebeanthreebean00000000000000{% extends "cloud/layout.html" %} {% block footer -%} {{ super() }} Fork me on GitHub {%- endblock %} fedmsg-0.7.1/doc/_templates/fedmsg-logo.html0000644000175000017500000000040112207656441022675 0ustar threebeanthreebean00000000000000

fedmsg

fedmsg-0.7.1/doc/_templates/githubedit.html0000644000175000017500000000063512207656441022633 0ustar threebeanthreebean00000000000000

Edit this document

Go to {{ title }} on GitHub.

Use the web interface to fork the repo, edit the file, and send a pull request.

Your changes will be queued for review under project's Pull requests tab on Github.

fedmsg-0.7.1/doc/index.rst0000644000175000017500000000672212212110512017300 0ustar threebeanthreebean00000000000000Fedora Infrastructure Message Bus ================================= We want to hook all the services in Fedora Infrastructure up to send messages to one another over a message bus instead of communicating with each other in the heterogenous, "Rube-Goldberg" ways they do now. ``fedmsg`` (Fedora-Messaging) is a python package and API used around Fedora Infrastructure to send and receive messages to and from applications. See :doc:`overview` for a thorough introduction. The quickest way to see what the bus is all about is to jump into ``#fedora-fedmsg`` on the freenode network. There's a firehose bot there echoing messages to channel. It has a sister bot `running on identi.ca `_. Publishing Messages with Python ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ See :doc:`development` on setting up your environment and workflow. .. code-block:: python import fedmsg fedmsg.publish(topic='testing', modname='test', msg={ 'test': "Hello World", }) Publishing Messages from the Shell ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash $ echo "Hello World." | fedmsg-logger --modname=git --topic=repo.update $ echo '{"a": 1}' | fedmsg-logger --json-input $ fedmsg-logger --message="This is a message." $ fedmsg-logger --message='{"a": 1}' --json-input Community ~~~~~~~~~ The source for this document can be found `on github `_. The issue tracker can be `found there `_, too. Almost all discussion happens in ``#fedora-apps`` on the freenode network. There is also a `mailing list `_ that doesn't have much traffic. Testimonials ------------ - `Jordan Sissel `_ -- "Cool idea, gives new meaning to open infrastructure." - `David Gay `_ -- "It's like I'm working with software made by people who thought about the future." Rough Outline of Stages of development/deployment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1) Start writing ``fedmsg`` core. 2) Use ``fedmsg`` to send messages from existing services (koji, bodhi, pkgdb, fas, etc...). The status of this is kept in :doc:`status` and :doc:`topology`. 3) Consume messages for statistics, i.e. an independent statistics webapp. This will some day be the responsibility of `datanommer `_. See :doc:`status` for its status in our infrastructure. 4) Consume messages for user experience, i.e. any or all of rss, email, gnome-shell notifications, javascript notifications in FI webapps. One example of this is `lmacken's `_ dbus-based `fedmsg-notify `_. 5) Consume messages for service interoperability: for example, have koji invalidate it's cache when it sees pkgdb messages go by on the bus. Or, have the mirrors starts to sync once a new compose of branched or rawhide is complete. This comes last because we want to make sure that message-sending works and is reliable before we start making existing services depend on it for their functioning. .. toctree:: :maxdepth: 0 overview topology status FAQ development deployment commands publishing consuming encoding crypto replay meta config topics ---- .. note:: :doc:`proposal` is a now out-moded document, but is kept here for historical purposes. fedmsg-0.7.1/doc/config.rst0000644000175000017500000004474512212110512017445 0ustar threebeanthreebean00000000000000Configuration ============= .. automodule:: fedmsg.config :members: :undoc-members: :show-inheritance: .. autofunction:: fedmsg.init Glossary of Configuration Values -------------------------------- .. glossary:: topic_prefix ``str`` - A string prefixed to the topics of all outgoing messages. Typically "org.fedoraproject". Used when :func:`fedmsg.publish` constructs the fully-qualified topic for an outgoing message. environment ``str`` - A string that must be one of ``['prod', 'stg', 'dev']``. It signifies the environment in which this fedmsg process is running and can be used to weakly separate different logical buses running in the same infrastructure. It is used by :func:`fedmsg.publish` when it is constructing a fully-qualified topic. high_water_mark ``int`` - An option to zeromq that specifies a hard limit on the maximum number of outstanding messages to be queued in memory before reaching an exceptional state. For our pub/sub zeromq sockets, the exceptional state means *dropping messages*. See the upstream documentation for `ZMQ_HWM `_ and `ZMQ_PUB `_. A :term:`high_water_mark` of ``0`` means "no limit" and is the recommended value for fedmsg. It is referenced when initializing sockets in :func:`fedmsg.init`. io_threads ``int`` - An option that specifies the size of a zeromq thread pool to handle I/O operations. See the upstream documentation for `zmq_init `_. This value is referenced when initializing the zeromq context in :func:`fedmsg.init`. post_init_sleep ``float`` - A number of seconds to sleep after initializing and before sending any messages. Setting this to a value greater than zero is required so that zeromq doesn't drop messages that we ask it to send before the pub socket is finished initializing. Experimentation needs to be done to determine and sufficiently small and safe value for this number. ``1`` is definitely safe, but annoyingly large. endpoints ``dict`` - A mapping of "service keys" to "zeromq endpoints"; the heart of fedmsg. :term:`endpoints` is "a list of possible addresses from which fedmsg can send messages." Thus, "subscribing to the bus" means subscribing to every address listed in :term:`endpoints`. :term:`endpoints` is also an index where a fedmsg process can look up what port it should bind to to begin emitting messages. When :func:`fedmsg.init` is invoked, a "name" is determined. It is either passed explicitly, or guessed from the call stack. The name is combined with the hostname of the process and used as a lookup key in the :term:`endpoints` dict. When sending, fedmsg will attempt to bind to each of the addresses listed under its service key until it can succeed in acquiring the port. There needs to be as many endpoints listed as there will be ``processes * threads`` trying to publish messages for a given service key. For example, the following config provides for four WSGI processes on bodhi on the machine app01 to send fedmsg messages. >>> config = dict( ... endpoints={ ... "bodhi.app01": [ ... "tcp://app01.phx2.fedoraproject.org:3000", ... "tcp://app01.phx2.fedoraproject.org:3001", ... "tcp://app01.phx2.fedoraproject.org:3002", ... "tcp://app01.phx2.fedoraproject.org:3003", ... ], ... }, ... ) If apache is configured to start up five WSGI processes, the fifth one will produce tracebacks complaining with ``IOError("Couldn't find an available endpoint.")``. If apache is configured to start up four WSGI processes, but with two threads each, four of those threads will raise exceptions with the same complaints. A process subscribing to the fedmsg bus will connect a zeromq SUB socket to every endpoint listed in the :term:`endpoints` dict. Using the above config, it would connect to the four ports on app01.phx2.fedoraproject.org. .. note:: This is possibly the most complicated and hardest to understand part of fedmsg. It is the black sheep of the design. All of the simplicity enjoyed by the python API is achieved at cost of offloading the complexity here. Some work could be done to clarify the language used for "name" and "service key". It is not always consistent in :mod:`fedmsg.core`. srv_endpoints ``list`` - A list of domain names for which to query SRV records to get the associated endpoints. When using fedmsg.config.load_config(), the DNS lookup is done and the resulting endpoints are added to config['endpoint'][$DOMAINNAME] For example, the following would query the endpoints for foo.example.com. >>> config = dict( ... srv_endpoints=[foo.example.com] ...) replay_endpoints ``dict`` - A mapping of service keys, the same as for :term:`endpoints` to replay endpoints, each key having only one. The replay endpoints are special ZMQ endpoints using a specific protocol to allow the client to request a playback of messages in case some have been dropped, for instance due to network failures. If the service has a replay endpoint specified, fedmsg will automatically try to detect such failures and properly query the endpoint to get the playback if needed. relay_inbound ``str`` - A list of special zeromq endpoints where the inbound, passive zmq SUB sockets for for instances of ``fedmsg-relay`` are listening. Commands like ``fedmsg-logger`` actively connect here and publish their messages. See :doc:`topology` and :doc:`commands` for more information. sign_messages ``bool`` - If set to true, then :mod:`fedmsg.core` will try to sign every message sent using the machinery from :mod:`fedmsg.crypto`. It is often useful to set this to `False` when developing. You may not have X509 certs or the tools to generate them just laying around. If disabled, you will likely want to also disable :term:`validate_signatures`. validate_signatures ``bool`` - If set to true, then the base class :class:`fedmsg.consumers.FedmsgConsumer` will try to use :func:`fedmsg.crypto.validate` to validate messages before handing them off to the particular consumer for which the message is bound. This is also used by :mod:`fedmsg.meta` to denote trustworthiness in the natural language representations produced by that module. ssldir ``str`` - This should be directory on the filesystem where the certificates used by :mod:`fedmsg.crypto` can be found. Typically ``/etc/pki/fedmsg/``. crl_location ``str`` - This should be a URL where the certificate revocation list can be found. This is checked by :func:`fedmsg.crypto.validate` and cached on disk. crl_cache ``str`` - This should be the path to a filename on the filesystem where the CRL downloaded from :term:`crl_location` can be saved. The python process should have write access there. crl_cache_expiry ``int`` - Number of seconds to keep the CRL cached before checking :term:`crl_location` for a new one. ca_cert_location ``str`` - This should be a URL where the certificate authority cert can be found. This is checked by :func:`fedmsg.crypto.validate` and cached on disk. ca_cert_cache ``str`` - This should be the path to a filename on the filesystem where the CA cert downloaded from :term:`ca_cert_location` can be saved. The python process should have write access there. ca_cert_cache_expiry ``int`` - Number of seconds to keep the CA cert cached before checking :term:`ca_cert_location` for a new one. certnames ``dict`` - This should be a mapping of certnames to cert prefixes. The keys should be of the form ``.``. For example: ``bodhi.app01``. The values should be the prefixes of cert/key pairs to be found in :term:`ssldir`. For example, if ``bodhi-app01.stg.phx2.fedoraproject.org.crt`` and ``bodhi-app01.stg.phx2.fedoraproject.org.key`` are to be found in :term:`ssldir`, then the value ``bodhi-app01.stg.phx2.fedoraproject.org`` should appear in the :term:`certnames` dict. Putting it all together, this value could be specified as follows:: certnames={ "bodhi.app01": "bodhi-app01.stg.phx2.fedoraproject.org", # ... other certname mappings may follow here. } .. note:: This is one of the most cumbersome parts of fedmsg. The reason we have to enumerate all these redundant mappings between "service.hostname" and "service-fqdn" has to do with the limitations of reverse dns lookup. Case in point, try running the following on app01.stg inside Fedora Infrastructure's environment. >>> import socket >>> print socket.getfqdn() You might expect it to print "app01.stg.phx2.fedoraproject.org", but it doesn't. It prints "memcached04.phx2.fedoraproject.org". Since we can't rely on programatically extracting the fully qualified domain names of the host machine during runtime, we need to explicitly list all of the certs in the config. routing_nitpicky ``bool`` - When set to True, messages whose topics do not appear in :term:`routing_policy` automatically fail the validation process described in :mod:`fedmsg.crypto`. It defaults to ``False``. routing_policy ``dict`` - A dict mapping fully-qualified topic names to lists of cert names. If a message's topic appears in the :term:`routing_policy` and the name on its certificate does not appear in the associated list, then that message fails the validation process in :mod:`fedmsg.crypto`. For example, a routing policy might look like this:: routing_policy={ "org.fedoraproject.prod.bodhi.buildroot_override.untag": [ "bodhi-app01.phx2.fedoraproject.org", "bodhi-app02.phx2.fedoraproject.org", "bodhi-app03.phx2.fedoraproject.org", "bodhi-app04.phx2.fedoraproject.org", ], } The above loosely translates to "messages about bodhi buildroot overrides being untagged may only come from the first four app servers." If a message with that topic bears a cert signed by any other name, then that message fails the validation process. Expect that your :term:`routing_policy` (if you define one) will become quite long. It defaults to the empty dict, ``{}``. fedmsg.consumers.gateway.port ``int`` - A port number for the special outbound zeromq PUB socket posted by :func:`fedmsg.commands.gateway.gateway`. The ``fedmsg-gateway`` command is described in more detail in :doc:`commands`. irc ``list`` - A list of ircbot configuration dicts. This is the primary way of configuring the ``fedmsg-irc`` bot implemented in :func:`fedmsg.commands.ircbot.ircbot`. Each dict contains a number of possible options. Take the following example: >>> config = dict( ... irc=[ ... dict( ... network='irc.freenode.net', ... port=6667, ... nickname='fedmsg-dev', ... channel='fedora-fedmsg', ... timeout=120, ... ... make_pretty=True, ... make_terse=True, ... ... filters=dict( ... topic=['koji'], ... body=['ralph'], ... ), ... ), ... ], ... ) Here, one bot is configured. It is to connect to the freenode network on port 6667. The bot's name will be ``fedmsg-dev`` and it will join the ``#fedora-fedmsg`` channel. ``make_pretty`` specifies that colors should be used, if possible. ``make_terse`` specifies that the "natural language" representations produced by :mod:`fedmsg.meta` should be echoed into the channel instead of raw or dumb representations. The ``filters`` dict is not very smart. In the above case, any message that has 'koji' anywhere in the topic or 'ralph' anywhere in the JSON body will be discarded and not echoed into ``#fedora-fedmsg``. This is an area that could use some improvement. irc_color_lookup ``dict`` - A mapping of ``modname`` values to `MIRC irc color names `_. For example: >>> irc_color_lookup = { ... "fas": "light blue", ... "bodhi": "green", ... "git": "red", ... "tagger": "brown", ... "wiki": "purple", ... "logger": "orange", ... "pkgdb": "teal", ... "buildsys": "yellow", ... "planet": "light green", ... } irc_method ``str`` — the name of the method used to publish the messages on IRC. Valid values are 'msg' and 'notice', the latter being the default. tweet_endpoints ``list`` - A list of twitter/statusnet configuration dicts. This is the primary way of configuring the ``fedmsg-tweet`` bot implemented in :func:`fedmsg.commands.tweet.tweet`. Each dict contains a number of possible options. Take the following example: >>> tweet_endpoints=[ ... tweet_settings=dict( ... base_url="http://api.twitter.com", ... consumer_key="123456789ABCDEF", ... consumer_secret="123456789ABCDEF", ... access_token_key="12345678ABCDEF", ... access_token_secret="1234567ABCDEF", ... ), ... dict( ... base_url="http://identi.ca/api", ... consumer_key="12345676ABCDEF", ... consumer_secret="12345678ABCDEF", ... access_token_key="12355ABCEEF", ... access_token_secret="123456ABCDEF", ... ), ... ], The ``base_url`` entry specifies which service to use. The other options are all oauth credentials. See https://dev.twitter.com/docs/auth/tokens-devtwittercom about getting credentials for twitter.com. You can get all four authn values from their site. Statusnet is a bit more tricky. You'll need to get your ``consumer_key`` and ``consumer_secret`` yourself from http://identi.ca/ and then perform the "oauth dance" with `this python script `_ in order to get your ``access_token_key`` and ``access_token_secret``. bitly_settings ``dict`` - A dictionary containing credentials to shorten links against http://bit.ly/. It must contain values for ``api_user`` and ``api_key`` which can be obtained from http://bit.ly/ This is used primarily for :func:`fedmsg.commands.tweet.tweet` but could in theory be used elsewhere (like in :func:`fedmsg.commands.ircbot.ircbot`) tweet_hibernate_duration ``float`` - A number of seconds that :func:`fedmsg.commands.tweet.tweet` should go to sleep if it encounters a rate limit error from either statusnet or twitter.com. Set this relatively high, multiple minutes (120 or 180) since you don't want to exhaust your allowance. There is a daily limit of 1,000 messages. See http://bit.ly/W6agqr for more information. tweet_intermessage_pause ``float`` - A number of seconds that :func:`fedmsg.commands.tweet.tweet` should go to sleep inbetween every message it posts. Set this relatively low to 0.5 or 1. zmq_enabled ``bool`` - A value that must be true. It is present solely for compatibility/interoperability with `moksha `_. zmq_strict ``bool`` - When false, allow splats ('*') in topic names when subscribing. When true, disallow splats and accept only strict matches of topic names. This is an argument to `moksha `_ and arose there to help abstract away differences between the "topics" of zeromq and the "routing_keys" of AMQP. zmq_tcp_keepalive ``int`` - Interpreted as a boolean. If non-zero, then keepalive options will be set. See upstream `zmq options `_ and general `overview `_. zmq_tcp_keepalive_cnt ``int`` - Number of keepalive packets to send before considering the connection dead. See upstream `zmq options `_ and general `overview `_. zmq_tcp_keepalive_idle ``int`` - Number of seconds to wait after last data packet before sending the first keepalive packet. See upstream `zmq options `_ and general `overview `_. zmq_tcp_keepalive_intvl ``int`` - Number of seconds to wait inbetween sending subsequent keepalive packets. See upstream `zmq options `_ and general `overview `_. fedmsg-0.7.1/doc/commands.rst0000644000175000017500000000176712207656441020022 0ustar threebeanthreebean00000000000000Commands ======== Console Scripts --------------- ``fedmsg`` provides a number of console scripts for use with random shell scripts. fedmsg-logger ~~~~~~~~~~~~~ .. autofunction:: fedmsg.commands.logger.logger fedmsg-tail ~~~~~~~~~~~ .. autofunction:: fedmsg.commands.tail.tail fedmsg-collectd ~~~~~~~~~~~~~~~ .. autofunction:: fedmsg.commands.collectd.collectd Service Daemons --------------- fedmsg-hub ~~~~~~~~~~ .. autofunction:: fedmsg.commands.hub.hub fedmsg-relay ~~~~~~~~~~~~ .. autofunction:: fedmsg.commands.relay.relay fedmsg-irc ~~~~~~~~~~ .. autofunction:: fedmsg.commands.ircbot.ircbot fedmsg-tweet ~~~~~~~~~~~~ .. autofunction:: fedmsg.commands.tweet.tweet fedmsg-gateway ~~~~~~~~~~~~~~ .. autofunction:: fedmsg.commands.gateway.gateway Writing your own fedmsg commands -------------------------------- The :mod:`fedmsg.commands` module provides a ``@command`` decorator to help simplify this. .. automodule:: fedmsg.commands :members: :undoc-members: :show-inheritance: fedmsg-0.7.1/doc/requirements.txt0000644000175000017500000000011112212110512020705 0ustar threebeanthreebean00000000000000cloud_sptheme pyzmq-static fedmsg_meta_fedora_infrastructure>=0.1.2 nose fedmsg-0.7.1/doc/deployment.rst0000644000175000017500000000075412207656441020374 0ustar threebeanthreebean00000000000000========== Deployment ========== This document isn't yet written. If you have questions about deployment, please come and ask in ``#fedora-apps`` on freenode or on the `mailing list `_. We have fedmsg successfully deployed (and growing) in `Fedora Infrastructure `_. The code should be generic enough to run in other environments. If you come and ask, we'll write the docs. fedmsg-0.7.1/doc/py3status.rst0000644000175000017500000000350612221366272020165 0ustar threebeanthreebean00000000000000Python3 Status ============== This is a table of fedmsg's dependencies and which of them are ready for python3. We'll need every entry to be "good to go" before we start trying to port fedmsg to python3. .. note:: This table is a work in progress. +---------------+---------------+-----------+ | package | Upstream | Fedora | +===============+===============+===========+ | decorator | Good | Good | +---------------+---------------+-----------+ | kitchen | | | +---------------+---------------+-----------+ | lockfile | | | +---------------+---------------+-----------+ | moksha.common | | | +---------------+---------------+-----------+ | moksha.hub | | | +---------------+---------------+-----------+ | paste | | | +---------------+---------------+-----------+ | python-daemon | | | +---------------+---------------+-----------+ | pytz | | | +---------------+---------------+-----------+ | pyzmq | Good | Good | +---------------+---------------+-----------+ | requests | | | +---------------+---------------+-----------+ | setuptools | | | +---------------+---------------+-----------+ | stomper | | | +---------------+---------------+-----------+ | Twisted | | | +---------------+---------------+-----------+ | txWS | | | +---------------+---------------+-----------+ | txZMQ | | | +---------------+---------------+-----------+ | zope.interface| | | +---------------+---------------+-----------+ fedmsg-0.7.1/doc/consuming.rst0000644000175000017500000002016712212110512020172 0ustar threebeanthreebean00000000000000Python API: Consuming Messages =============================== The other side of the :doc:`publishing` document is consuming messages. .. note:: Messages that you consume come with a topic and a body (dict). The content of a message can be useful! For instance, messages from FAS that come when a user edits their profile can tell you who made the change and what fields were changed. fedmsg was designed with security and message validation in mind, but its still so new that you shouldn't trust it. When building consumers, you should *always* verify information with existing webapps before acting on messages. - **nirik>** trust, but verify. or... don't trust, and verify. ;) .. note:: This document is on *how* to consume messages. But if you want to know *what* messages there are, you might check out :doc:`topics`. "Naive" Consuming ----------------- The most straightforward way, programmatically, to consume messages is to use :func:`fedmsg.tail_messages`. It is a generator that yields 4-tuples of the form ``(name, endpoint, topic, message)``:: >>> import fedmsg >>> # Read in the config from /etc/fedmsg.d/ >>> config = fedmsg.config.load_config([], None) >>> # Disable a warning about not sending. We know. We only want to tail. >>> config['mute'] = True >>> # Disable timing out so that we can tail forever. This is deprecated >>> # and will disappear in future versions. >>> config['timeout'] = 0 >>> for name, endpoint, topic, msg in fedmsg.tail_messages(**config): ... print topic, msg # or use fedmsg.encoding.pretty_dumps(msg) The API is easy to use and should hopefully make your scripts easy to understand and maintain. For production services, you will want to use the hub-consumer approach described further below. Note that the :func:`fedmsg.tail_messages` used to be quite inefficient; it spun in a sleep, listen, yield loop that was quite costly in IO and CPU terms. Typically, a script that used :func:`fedmsg.tail_messages` would consume 100% of a CPU. That has since be resolved by introducing the use of a ``zmq.Poller``. .. note:: The ``fedmsg-tail`` command described in :doc:`commands` uses :func:`fedmsg.tail_messages` to "tail" the bus. "Naive" API ~~~~~~~~~~~ .. autofunction:: fedmsg.tail_messages The Hub-Consumer Approach ------------------------- In contrast to the "naive" approach above, a more efficient way of consuming events can be accomplished by way of the fedmsg-hub. The drawback is that programming it is a sort of indirect and declarative; it can be confusing at first. To consume messages and do with them what you'd like, you need to: * Write a class which extends :class:`fedmsg.consumers.FedmsgConsumer` * Override certain properties and methods of that class. Namely, * ``topic`` -- A string used soley for constraining what messages make their way to the consumer; the consumer can *send* messages on any topic. You may use 'splats' ('*') in the topic and subscribe to ``'org.fedoraproject.stg.koji.*'`` to get all of the messages from koji in the staging environment. * ``config_key`` -- A string used to declare a configuration entry that must be set to ``True`` for your consumer to be activated by the fedmsg-hub. * ``consume`` -- A method that accepts a dict (the message) and contains code that "does what you would like to do". * ``replay_name`` -- (optional) The name of the replay endpoint where the system should query playback in case of missing messages. It must match a service key in :term:`replay_endpoints`. * Register your class on the ``moksha.consumer`` python entry-point. A simple example ~~~~~~~~~~~~~~~~ `Luke Macken `_ wrote a simple example of a `koji consumer `_. It's a good place to start if you're writing your own consumer. An Example From "busmon" ~~~~~~~~~~~~~~~~~~~~~~~~ In the `busmon `_ app, all messages from the hub are processed to be formatted and displayed on a client's browser. We mark them up with a pretty-print format and use pygments to colorize them. In the example below, the ``MessageColorizer`` consumer simply subscribes to '*'; it will receive every message that hits it's local fedmsg-hub. The ``config_key = 'busmon.consumers.enabled'`` line means that a ``'busmon.consumers.enabled': True`` entry must appear in the fedmsg config for the consumer to be enabled. Here's the full example from `busmon `_, it consumes messages from every topic, formats them in pretty colored HTML and then re-sends them out on a new topic:: import pygments.lexers import pygments.formatters import fedmsg import fedmsg.encoding import fedmsg.consumers class MessageColorizer(fedmsg.consumers.FedmsgConsumer): topic = "*" jsonify = False config_key = 'busmon.consumers.enabled' def consume(self, message): destination_topic = "colorized-messages" # Just so we don't create an infinite feedback loop. if self.destination_topic in message.topic: return # Format the incoming message code = pygments.highlight( fedmsg.encoding.pretty_dumps(fedmsg.encoding.loads(message.body)), pygments.lexers.JavascriptLexer(), pygments.formatters.HtmlFormatter(full=False) ).strip() # Ship it! fedmsg.publish( topic=self.destination_topic, msg=code, ) Now, just defining a consumer isn't enough to have it picked up by the ``fedmsg-hub`` when it runs. You must also declare the consumer as an entry-point in your app's ``setup.py``, like this:: setup( ... entry_points={ 'moksha.consumer': ( 'colorizer = busmon.consumers:MessageColorizer', ), }, ) At initialization, ``fedmsg-hub`` looks for all the objects registered on the ``moksha.consumer`` entry point and loads them FedmsgConsumer API ~~~~~~~~~~~~~~~~~~ .. autoclass:: fedmsg.consumers.FedmsgConsumer DIY - Listening with Raw zeromq ------------------------------- So you want to receive messages without using any fedmsg libs? (say you're on some ancient system where moksha and twisted won't fly) If you can get python-zmq built, you're in good shape. Use the following example script as a starting point for whatever you want to build:: #!/usr/bin/env python import json import pprint import zmq def listen_and_print(): # You can listen to stg at "tcp://stg.fedoraproject.org:9940" endpoint = "tcp://hub.fedoraproject.org:9940" # Set this to something like org.fedoraproject.prod.compose topic = 'org.fedoraproject.prod.' ctx = zmq.Context() s = ctx.socket(zmq.SUB) s.connect(endpoint) s.setsockopt(zmq.SUBSCRIBE, topic) poller = zmq.Poller() poller.register(s, zmq.POLLIN) while True: evts = poller.poll() # This blocks until a message arrives topic, msg = s.recv_multipart() print topic, pprint.pformat(json.loads(msg)) if __name__ == "__main__": listen_and_print() Just bear in mind that you don't reap any of the benefits of :mod:`fedmsg.crypto` or :mod:`fedmsg.meta`. .. note:: In the example above, the topic is just ``'org.fedoraproject.prod.'`` and *not* ``'org.fedoraproject.prod.*'``. The ``*`` that you see elsewhere is a Moksha convention and it is actually just stripped from the topic. Why? The ``*`` has meaning in AMQP, but not zeromq. The Moksha project (which underlies fedmsg) aims to be an abstraction layer over zeromq, AMQP, and STOMP and contains some code that allows use of the ``*`` for zeromq, in order to make it look more like AMQP or STOMP (superficially). fedmsg (being built on Moksha) inherits this behavior even though it only uses the zeromq backend. See `these comments `_ for some discussion. fedmsg-0.7.1/doc/contributing.rst0000644000175000017500000000163612207656441020723 0ustar threebeanthreebean00000000000000Contributing ============ If you're submitting patches to fedmsg, please observe the following: - Check that your python code is `PEP8-compliant `_. There is a `pep8 tool `_ that can automatically check your source. Bind it to a key in vim? - Check that your code doesn't break the test suite. Instructions for running the test suite can be found in :doc:`development`. - If you are adding new code, please write tests for them in ``fedmsg/tests``. - If your change warrants a modification to the docs in ``doc/`` or any docstrings in ``fedmsg/`` please make that modification. I didn't sign up for this! -------------------------- :: ...all I wanted to do was submit a patch! Don't worry. If you have a contribution but the above guidelines are too much to handle, just stop by ``#fedora-apps`` on freenode and let us know. fedmsg-0.7.1/doc/proposal.rst0000644000175000017500000006470412207656441020060 0ustar threebeanthreebean00000000000000Proposal - Fedora Messaging with 0mq (``fedmsg``) ================================================= .. contents:: This proposal reviews existing services in the Fedora infrastructure, reviews the problem of complexity in the interaction of those services, reviews previous work by the `Fedora Messaging SIG (special interest group) `_ on AMQP, and introduces an architecture-level description of a solution using 0mq. ---- For discussion, check https://admin.fedoraproject.org/mailman/listinfo/messaging-sig Get (or modify) the source for this document: http://github.com/fedora-infra/fedmsg Authors: - Ralph Bean (threebean) .. note:: This document is out of date and should just be considered a "historical" document. What you're probably looking for is the :doc:`overview` document: the start of the narrative documentation. It is the most-up-to-date version of this page. tl;dr ===== We want to hook all the services in Fedora Infrastructure up to send messages to one another over a message bus instead of communicating with each other in heterogenous ways they do now. We're writing a python library called ``fedmsg`` to help apps handle this more easily. It's built on `0mq `_ and `moksha `_. Planned Stages of development/deployment ---------------------------------------- 1) Start writing ``fedmsg`` 2) Send messages from existing services (koji, bodhi, pkgdb, fas, etc...). 3) Consume messages for statistics, i.e. an independent statistics webapp. 4) Consume messages for user experience, i.e. any or all of rss, email, gnome-shell notifications, javascript notifications in FI webapps. 5) Consume messages for service interoperability, i.e. koji invalidates it's cache when it sees pkgdb messages go by on the bus. This comes last because we want to make sure that message-sending works and is reliable before we start making existing services depend on it for their functioning. Introduction ============ Description of the problem -------------------------- Fedora Infrastructure is composed of a number of services (koji, fedpkg, pkgdb, etc..) some of which are maintained outside the Fedora Project and some of which were built in-house by the infrastructure team. These are strung together in a pipeline. Think "how an upstream release becomes a package update", "How a new source distribution becomes a package." At present, many of the steps in this process require the maintainer to wait and watch for a previous step to complete. For instance once a branch of a package is successfully built in koji, the maintainer must `submit their update to bodhi `_ (See the `new package process `_ for more details). Other progressions in the pipeline are automated. For instance, `AutoQA `_ defines a `set of watchers `_. Most watchers are run as a cron task. Each one looks for `certain events `_ and fires off tests when appropriate. At LinuxFest Northwest (2009), jkeating gave `a talk `_ on the problem of complexity in the Fedora infrastructure and how this might be addressed with a message bus architecture. Each service in the infrastructure depends on many of the others. Some pieces directly poke others: git (fedpkg) currently pokes AutoQA from a post-update hook. Other pieces poll others' status: koji scrapes pkgdb for package-owner relationships and email aliases. This dense coupling of services makes changing, adding, or replacing services more complicated: commits to one project require a spidering of code changes to all the others. How messaging might address the problem --------------------------------------- jkeating's `talk on messaging in the Fedora Instructure `_ proposed the adoption of a unified message bus to reduce the complexity of multiple interdependent services. Instead of a service interfacing with its dependencies' implementations, it could subscribe to a `topic`, provide a callback, and respond to events. For instance, instead of having koji scrape pkgdb on an interval for changed email addresses, pkgdb could emit messages to the ``org.fedoraproject.service.pkgdb`` topic whenever an account's email address changes. koji could subscribe to the same topic and provide a callback that updates its local email aliases when invoked. In another case, the git (fedpkg) post-update hook could publish messages to the ``org.fedoraproject.service.fedpkg.post-update`` topic. AutoQA could subscribe to the same. Now if we wanted to enable another service to act when updates are pushed to fedpkg, that service need only subscribe to the topic and implement its own callback instead of appending its own call to fedpkg's post-update hook (instead of coupling its own implementation with fedpkg's). A message bus architecture, once complete, would dramatically reduce the work required to update and maintain services in the Fedora infrastructure. Other benefits -------------- By adopting a messaging strategy for Fedora Infrastructure we could gain: - A stream of data which we can watch and from which we can garner statistics about infrastructure activity. - The de-coupling of services from one another. - libnotify notifications to developers' desktops. - jquery.gritter.js notifications to web interfaces. - this could be generalized to a ``fedmsg.wsgi`` middleware layer that injects a fedora messaging dashboard header into every page served by apps `X`, `Y`, and `Z`. - An irc channel, #fedora-firehose that echoes every message on the bus. - An identi.ca account, @fedora-firehose, that echoes every message on the bus. AMQP, and 0mq ============= AMQP or "Broker? Damn near killed 'er!" ---------------------------------------- When discussions on the `Fedora Messaging SIG `_ began, AMQP was the choice by default. Since then members of the SIG have become attracted to an alternative messaging interface called `0mq `_. Recommended reading: - `What's wrong with AMQP `_ The following is recreated from J5's Publish/Subscribe Messaging Proposal as an example of how Fedora Infrastructure could be reorganized with AMQP and a set of federated AMQP brokers (qpid). .. image:: https://github.com/fedora-infra/fedmsg/raw/develop/doc/_static/reorganize-amqp-j5.png The gist is that each service in the Fedora Infrastructure would have the address of a central message broker on hand. On startup, each service would connect to that broker, ask the broker to establish its outgoing queues, and begin publishing messages. Similarly, each service would ask the broker to establish incoming queues for them. The broker would handle the routing of messages based on ``routing_keys`` (otherwise known as `topics`) from each service to the others. The downshot, in short, is that AMQP requires standing up a single central broker and thus a single-point-of-failure. In the author's work on `narcissus `_ I found that for even the most simple of AMQP configurations, my qpid brokers' queues would bloat over time until \*pop\*, the broker would fall over. 0mq or "Going for Broke(rless)" ------------------------------- 0mq is developed by a team that had a hand in the original development of AMQP. It claims to be a number of things: an "intelligent transport layer", a "socket library that acts as a concurrency framework", and the `sine qua non` "Extra Spicy Sockets!" Recommended reading: - `The Z-guide `_ The following depicts an overview of a subset of Fedora Infrastructure organized with a decentralized 0mq bus parallel to the spirit of J5's recreated diagram in the AMQP section above. .. image:: https://github.com/fedora-infra/fedmsg/raw/develop/doc/_static/reorganize-0mq-overview.png No broker. The gist is that each service will open a port and begin publishing messages ("bind to" in zmq-language). Each other service will connect to that port to begin consuming messages. Without a central broker doing `all the things `_, 0mq can afford a high throughput. For instance, in initial tests of a 0mq-enabled `moksha hub `_, the Fedora Engineering Team achieved a 100-fold speedup over AMQP. Service discovery ~~~~~~~~~~~~~~~~~ Shortly after you begin thinking over how to enable Fedora Infrastructure to pass messages over a `fabric` instead of to a `broker`, you arrive at the problem we'll call "service discovery". In reality, (almost) every service both `produces` and `consumes` messages. For the sake of argument, we'll talk here just about a separate `producing service` and some `consuming services`. Scenario: the producing service starts up, producing socket (with a hidden queue), and begins producing messages. Consuming services `X`, `Y`, and `Z` are interested in this and they would like to connect. With AMQP, this is simplified. You have one central broker and each consuming service need only know it's one address. They connect and the match-making is handled for them. With 0mq, each consuming service needs to somehow `discover` its producer(s) address(es). There are a number of ways to address this: - *Write our own broker*; this would not be that difficult. We could (more simply) scale back the project and write our own directory lookup service that would match consumers with their providers. This could be done in surprisingly few lines of python. This issue is that we re-introduce the sticking point of AMQP, a single point of failure. - *Use DNS*; There is a helpful `blog post `_ on how to do this with `djbdns`. DNS is always there anyways: if DNS goes down, we have bigger things to worry about than distributing updates to our messaging topology. - *Share a raw text file*; This at first appears crude and cumbersome: - Maintain a list of all `fedmsg`-enabled producers in a text file - Make sure that file is accessible from every consuming service. - Have each consuming service read in the file and connect to every (relevant) producer in the list In my opinion, using DNS is generally speaking the most elegant solution. However, for Fedora Infrastructure in particular, pushing updates to DNS and pushing a raw text file to every server involves much-the-same workflow: `puppet`. Because much of the overhead of updating the text file falls in-line with the rest of Infrastructure work, it makes more sense to go with the third option. Better not to touch DNS when we don't have to. That file is ``/etc/fedmsg-config.py``. It should define a python dict called ``config`` which may look something like the following in a development environment:: # TODO -- update this. It is out of date. config = dict( # This is a dict of possible addresses from which fedmsg can send # messages. fedmsg.init(...) requires that a 'name' argument be passed # to it which corresponds with one of the keys in this dict. endpoints=dict( # For other, more 'normal' services, fedmsg will try to guess the # name of it's calling module to determine which endpoint definition # to use. This can be overridden by explicitly providing the name in # the initial call to fedmsg.init(...). bodhi="tcp://*:3001", fas="tcp://*:3002", fedoratagger="tcp://*:3003", # This is the output side of the relay to which all other # services can listen. relay_outbound="tcp://*:4001", ), # This is the address of an active->passive relay. It is used for the # fedmsg-logger command which requires another service with a stable # listening address for it to send messages to. relay_inbound="tcp://127.0.0.1:2003", # Set this to dev if you're hacking on fedmsg or an app. # Set to stg or prod if running in the Fedora Infrastructure environment="dev", # Default is 0 high_water_mark=1, io_threads=1, ) ``fedmsg`` will look for a config file in ``/etc/``, ``$HOME``, and ``.`` (the current working directory). If it finds multiple files, it will read all of them but overwrite values from the system (``/etc/``) file with the more local file (``$HOME``). Different buses --------------- TODO - - critical and statistical buses (critical is subset of statistical). Authn, authz ------------ TODO - - (func has certs laying around already). - Read http://www.zeromq.org/topics:pubsub-security. ``comphappy`` reports that it has some interesting points. network load ------------ TODO - - calculate network load - http://lists.zeromq.org/pipermail/zeromq-dev/2010-August/005254.html fringe services --------------- TODO - - example of building a relay that condenses messages from `n` proxies and re-emits them. - example of bridging amqp and 0mq - bugzilla-push - https://github.com/LegNeato/bugzilla-push Namespace considerations ------------------------ In the above examples, the topic names are derived from the service names. For instance, pkgdb publishes messages to ``org.fedoraproject.service.pkgdb*``, AutoQA presumably publishes messages to ``org.fedoraproject.service.autoqa*``, and so on. This convention, while clear-cut, has its limitations. Say we wanted to replace pkgdb whole-sale with our shiney new `threebean-db` (tm). Here, all other services are subscribed to topics that mention pkgdb explicitly. Rolling out threebean-db will require patching every other service; we find ourselves in a new flavor of the same complexity/co-dependency trap described in the first section. The above `service-oriented` topic namespace is one option. Consider an `object-oriented` topic namespace where the objects are things like users, packages, builds, updates, tests, tickets, and composes. Having bodhi subscribe to ``org.fedoraproject.object.tickets`` and ``org.fedoraproject.object.builds`` leaves us less tied down to the current implementation of the rest of the infrastructure. We could replace `bugzilla` with `pivotal` and bodhi would never know the difference - a ticket is a ticket. That would be nice; but there are too many objects in Fedora Infrastructure that would step on each other. For instance, Koji **tags** packages and Tagger **tags** packages; these two are very different things. Koji and Tagger cannot **both** emit events over ``org.fedoraproject.package.tag.*`` without widespread misery. Consequently, our namespace follows a `service-oriented` pattern. The scheme ---------- Event topics will follow the rule:: org.fedoraproject.ENV.SERVICE.OBJECT[.SUBOBJECT].EVENT Where: - ``ENV`` is one of `dev`, `stg`, or `production`. - ``SERVICE`` is something like `koji`, `bodhi`, or `fedoratagger` - ``OBJECT`` is something like `package`, `user`, or `tag` - ``SUBOBJECT`` is something like `owner` or `build` (in the case where ``OBJECT`` is `package`, for instance) - ``EVENT`` is a verb like `update`, `create`, or `complete`. All 'fields' in a topic **must**: - Be `singular` (Use `package`, not `packages`) - Use existing fields as much as possible (since `complete` is already used by other topics, use that instead of using `finished`). Code Examples - 0mq and ``fedmsg`` ================================== This package (the `package containing the docs you are reading right now `_) is ``fedmsg``. It aims to be a wrapper around calls to the `moksha hub `_ API that: - Handles Fedora-Infra authn/authz - Handles Fedora-Infra service discovery - Helps you avoid topic and message content typos. - Gets in your way as little as possible Examples of emitting events --------------------------- Here's a real dummy test:: >>> import fedmsg >>> fedmsg.publish(topic='testing', modname='test', msg={ ... 'test': "Hello World", ... }) The above snippet will send the message ``'{test: "Hello World"}'`` message over the ``org.fedoraproject.dev.test.testing`` topic. The ``modname`` argument will be omitted in most use cases. By default, ``fedmsg`` will try to guess the name of the module that called it and use that to produce an intelligent topic. Specifying ``modname`` argues that ``fedmsg`` not be `too smart`. Here's an example from `fedora-tagger `_ that sends the information about a new tag over ``org.fedoraproject.{dev,stg,prod}.fedoratagger.tag.update``:: >>> import fedmsg >>> fedmsg.publish(topic='tag.update', msg={ ... 'user': user, ... 'tag': tag, ... }) Note that the `tag` and `user` objects are SQLAlchemy objects defined by tagger. They both have ``.__json__()`` methods which ``.publish`` uses to convert both objects to stringified JSON for you. ``fedmsg`` has also guessed the module name (``modname``) of it's caller and inserted it into the topic for you. The code from which we stole the above snippet lives in ``fedoratagger.controllers.root``. ``fedmsg`` figured that out and stripped it down to just ``fedoratagger`` for the final topic of ``org.fedoraproject.{dev,stg,prod}.fedoratagger.tag.update``. ---- You could also use the ``fedmsg-logger`` from a shell script like so:: $ echo "Hello, world." | fedmsg-logger --topic testing $ echo '{"foo": "bar"}' | fedmsg-logger --json-input Examples of consuming events ---------------------------- Consuming events is accomplished by way of the fedmsg-hub. For example, in the `busmon `_ app, all messages from the hub are processed to be formatted and displayed on a client's browser. We mark them up with a pretty-print format and use pygments to colorize them. Here are the *important* parts: you must define a new class which extends ``moksha.api.hub:Consumer``, declares a ``topic`` attribute and a ``consume`` method. The topic is used soley for constraining what messages make their way to the consumer; the consumer can *send* messages on any topic. You may use 'splats' ('*') in the topic and subscribe to ``'org.fedoraproject.stg.koji.*'`` to get all of the messages from koji in the staging environment. In the example below, the ``MessageColorizer`` consumer simply subscribes to '*'; it will receive every message that hits it's local fedmsg-hub. Here's the full example from `busmon `_, it consumes messages from every topic, formats them in pretty colored HTML and then re-sends them out on a new topic:: import pygments.lexers import pygments.formatters from moksha.api.hub import Consumer import fedmsg import fedmsg.encoding class MessageColorizer(Consumer): topic = "*" jsonify = False destination_topic = "colorized-messages" def consume(self, message): # Just so we don't create an infinite feedback loop. if self.destination_topic in message.topic: return # Format the incoming message code = pygments.highlight( fedmsg.encoding.pretty_dumps(fedmsg.encoding.loads(message.body)), pygments.lexers.JavascriptLexer(), pygments.formatters.HtmlFormatter(full=False) ).strip() # Ship it! fedmsg.publish( topic=self.destination_topic, msg=code, ) Now, just defining a consumer isn't enough to have it picked up by the ``fedmsg-hub`` when it runs. You must also declare the consumer as an entry-point in your app's ``setup.py``, like this:: setup( ... entry_points={ 'moksha.consumer': ( 'colorizer = busmon.consumers:MessageColorizer', ), }, ) At initialization, ``fedmsg-hub`` looks for all the objects registered on the ``moksha.consumer`` entry point and loads them Console Scripts --------------- It makes sense for ``fedmsg`` to also provide a number of console scripts for use with random shell scripts or with nagios, for instance. Currently we have implemented: - ``fedmsg-tail`` - watches all endpoints on the bus and prints each message to stdout. - ``fedmsg-logger`` - sends messages over the ``org.fedoraproject.dev.logger`` topic. This requires that an instance of ``fedmsg-relay`` be running *somewhere* and that it's inbound address be listed in ``fedmsg-config.py``. - ``fedmsg-relay`` - a service which binds to two ports, listens for messages on one and emits them on the other. ``fedmsg-logger`` requires that an instance of ``fedmsg-relay`` be running *somewhere* and that it's inbound address be listed in ``fedmsg-config.py``. - ``fedmsg-hub`` - the all-purpose daemon. This should be run on every host that has services which declare their own consumers. ``fedmsg-hub`` will listen to every endpoint defined in ``/etc/fedmsg-config.py`` and forward messages in-process to the locally-declared consumers. Systems and Events ================== All messages will be transmitted as stringified JSON. List of systems, their events, and associated fields ---------------------------------------------------- Each item here is a service followed by the list of events that it emits. Each event is followed by a list of services that will likely consume that event. See also :doc:`status`. ---- - AskBot - TODO - Brainstorm a list of potential message topics. - AutoQA - TODO - Add these hooks. j_dulaney is working on this. - ``org.fedoraproject.{stg,prod}.autoqa.package.tests.complete`` -> koji, bodhi, fcomm - Bodhi - This is done in a branch in git. https://fedorahosted.org/bodhi/browser/bodhi/model.py?rev=1712d35e79ea3c27b7134006f0afa62ffd7f1769#L446 TODO - merge and push to stg then prod - ``org.fedoraproject.{stg,prod}.bodhi.update.request{.TYPE}`` -> fcomm, autoqa - ``org.fedoraproject.{stg,prod}.bodhi.update.complete{.TYPE}`` -> fcomm, autoqa - TODO - These hooks still need to be added. - ``org.fedoraproject.{stg,prod}.bodhi.update.push`` -> fcomm - ``org.fedoraproject.{stg,prod}.bodhi.update.remove`` -> fcomm - Bugzilla - TODO - get AMQP messages from redhat. Run a service to translate. - ``org.fedoraproject.{stg,prod}.bugzilla.bug.create`` -> fcomm - ``org.fedoraproject.{stg,prod}.bugzilla.bug.update`` -> fcomm - Compose - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.compose.compose.complete`` -> mirrormanager, autoqa - Elections (TODO -- what is the app called?) - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.elections...`` <-- TODO. Objects and events? - FAS - All of these hooks have been added. TODO - merge and push to stg then prod. - ``org.fedoraproject.{stg,prod}.fas.user.create`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.user.update`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.group.update`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.group.member.apply`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.group.member.sponsor`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.group.member.sponsor`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.group.create`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.group.update`` -> fcomm - ``org.fedoraproject.{stg,prod}.fas.role.update`` -> fcomm - Koji - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.koji.tag.build`` -> secondary arch koji - ``org.fedoraproject.{stg,prod}.koji.tag.create`` -> secondary arch koji - ``org.fedoraproject.{stg,prod}.koji.package.build.complete`` -> fcomm, secondary arch koji, SCM, autoqa, sigul - ``org.fedoraproject.{stg,prod}.koji.package.build.start`` -> fcomm - ``org.fedoraproject.{stg,prod}.koji.package.build.fail`` -> fcomm - MeetBot (supybot?) - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.irc.meeting.start`` - ``org.fedoraproject.{stg,prod}.irc.meeting.complete`` - NetApp -- FIXME, the topics from netapp should be reviewed. They seem ambiguous. - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.netapp.sync.stop`` -> mirrormanager - ``org.fedoraproject.{stg,prod}.netapp.sync.resume`` -> mirrormanager - PkgDB - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.pkgdb.package.create`` -> koji, secondary arch koji, bugzilla - ``org.fedoraproject.{stg,prod}.pkgdb.package.remove`` -> koji, secondary arch koji, - ``org.fedoraproject.{stg,prod}.pkgdb.package.rename`` -> bugzilla - ``org.fedoraproject.{stg,prod}.pkgdb.package.retire`` -> SCM - ``org.fedoraproject.{stg,prod}.pkgdb.package.owner.update`` -> koji, secondary arch koji, bugzilla - TODO - lots of ``org.fp.user...`` events to detail here. - SCM - TODO - Add the hooks. This is blocking on getting an instance of fedmsg-relay stood up in production. That, on the other hand, is blocking on getting the fedmsg wrapper around moksha done so that the relay doesn't eat up 100% CPU. - ``org.fedoraproject.{stg,prod}.scm.repo.checkin`` -> fcomm, autoqa - Tagger - These hooks have been added. Need to push to stg then prod. - ``org.fedoraproject.{stg,prod}.fedoratagger.tag.create`` -> fcomm, pkgdb - ``org.fedoraproject.{stg,prod}.fedoratagger.tag.remove`` -> fcomm, pkgdb - ``org.fedoraproject.{stg,prod}.fedoratagger.tag.update`` -> fcomm, pkgdb - ``org.fedoraproject.{stg,prod}.fedoratagger.user.rank.update`` -> fcomm, (pkgdb?) - ``org.fedoraproject.{stg,prod}.fedoratagger.login`` -> ?? - Wiki. This is implemented as a mediawiki plugin in ``extras/mediawiki/fedmsg-mediawiki-emit.php``. - ``org.fedoraproject.{stg,prod}.wiki.article.edit`` - ``org.fedoraproject.{stg,prod}.wiki.upload.complete`` - Zabbix - TODO - Add the hooks - ``org.fedoraproject.{stg,prod}.zabbix.service.update`` -> fcomm Other Ideas ----------- - Error messages from cron jobs - The Nag-once script could be enhanced to send output to the bus - Nagios alerts fedmsg-0.7.1/doc/topology.rst0000644000175000017500000000055312207656441020065 0ustar threebeanthreebean00000000000000Bus Topology ============ This is an overview of the topology of the fedmsg bus as it is deployed in Fedora Infrastructure. This document along with the :doc:`status` will evolve as we are able to integrate more services. .. image:: _static/topology.png The section on the right labelled ``(the bus)`` is the NxM connection mesh described in :doc:`overview`. fedmsg-0.7.1/doc/encoding.rst0000644000175000017500000000055712207656441020003 0ustar threebeanthreebean00000000000000Message Encoding -- JSON ======================== .. automodule:: fedmsg.encoding :members: :undoc-members: :show-inheritance: .. autofunction:: fedmsg.encoding.dumps .. autofunction:: fedmsg.encoding.pretty_dumps SQLAlchemy Utilities -------------------- .. automodule:: fedmsg.encoding.sqla :members: :undoc-members: :show-inheritance: fedmsg-0.7.1/doc/_static/0000755000175000017500000000000012221366312017071 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/doc/_static/diagrams.png0000644000175000017500000012546312207656441021412 0ustar threebeanthreebean00000000000000PNG  IHDRdnIDATxy|EI !2"N@QVA|ᆃp2Ey8:}AAaD$*[ !,` $!@@G{NWWuwuSO?TLj@4 ` hD D @4 @4 hD  hD DChhh޽e 4xm@G@@@.\XVVVCU2Ω w}wƍM?z֤mkku#Sԅj .]}'dyʕ,zvEEEZZڄ $ꫯh뮻:rb, D uZ4?#/,?~*Ɏ;hDqb#PGD@ 8kLL,;ϯܤg_zU=0)-[޲eˠ'Kd IIIǏ馛Zh1dȐ޸- {=ztHHHppȑ#%iF4u-Ȗ*y dl"##{-_~qIOO't"+oܸL͵j|7ݻwc 4hΝ ,ܹs6mf̘R-AG .,--5i 6ˌk%ȩ1oyirٳztZ_}=iŠ^͍ʹw(i`:{ݭ?cG5F<) C}׮]j  iƍ#dZZĉ-Z :tӦMU K.mӦC%<#r>7iD3Ydʰ!UppH#G _(V9ӟ$)j_~WX!Zz'xSN)ݸ5*Ν;7yduz, }Rm7qUYsc3C哷*&n0eQ"¦O0)Lfޫ_ ʹw(i`:{-ӧTX^jD4@A.}2, p*R8} 0{ݻ G}eU2dvƌ= p'8}h0?%xhphK\,๢Y.Ds\lj\Gg r '~ujKD,Y.E PD!fU\hp_2wq'xsΕw@퉆ڟի֭gϞ CBBfϞh:$j^ĉSL`}ɾ^2 gl۶|jt̛7G^^^o{ ڹs :wܦM3f8Z'|244׷C?T^ƌТE … KKK v===]ҥKyxxƍUK+mÆ zleTIݻA9֦6.С0JJUdi>j-[޲eˠ'i)a\8˥ Rw-.\T4,]ׯ_ȿrrr>#4i$yY}_ ^y]92\+((HLLk[WѲwq`  ?4lP7Ycmj3m47##CZ-&׊^r_o'q,3gԤ\ю7NA F+V߶m,ˈf~^^,7nZjJvƢAOaalp- ǏeճƹsS,Yr1-[ٳG%xyJ#Fп|rrMm&;6 .շZ_W_: %\:uj&L09RfaIGkOtΜ9p¬YdȤhhݺ,_|ٺ&"#D:dPPl)J5*r]%ܺ SlɎ0.hZ%*YQQ?qK Y.SRR@{V *Yiq$YYYӦM ӌ AcǎU$''ˠuJa-rsskrOK U(Ǧhm4N[،h&qK Y.rѠ!W~VKӬY3T;vXzG/-- xW*UR7ۧ6OXT6:'Os  U\y6l_>S. ^zuzz\~WRѣڵӏ¨Q$gܹ999;w8. ?.}۷o/,,LJJz衇~kڀ'lݺ䋐URȐoRPiJX؞PV/BjT*[ hpWrs_}x. {2e⾾Rӧ럸/]M6ϝ;7yd1Z``,k'O|':u$_~"$s!!!_[gϞ{^v2+Qb YդIUZCI >}Hׯ7b-@4%\Y#W9k#GoT{  u{w݅)))KN*hp  u~Ȑ!ڵ3f@ nR7 n4˥+fjK5ʹ!@ 5eEC DG`4rh  K]W<:1ekɯnI N6M}D~'9ӧO7 pW\:4Qu&fIV-..$-oGA%%%iw,MDzT?7o\-Zt/poPg4?WӯODYդ>M5i0YF %֯"hpY.('it GjR4J_㭷B4; uKcb=sJU.ȐVK 2hIm\KR7R։yJOh& 11Q̨mٯ_p?i\M4QV-M6|b=sJU4Vji~Grj&1WΝ_d B7 u|_P3*PgZh2dEET[Zj::Oiuֲ|e뚈\o?mD[r+^zrϞ=eYr(Ӭ6 iظ&1 6o5\Nw,FLj.?\͢do6 Ϝh{7nXW) ?,-- xW:rDTp5mTkMt0nI jEEo~텅III=ЯyQWhpY. gϞL՞XgT9>}Hׯ70Ġ:>O],68yO<ѩS'Q*g }w .]Y+ZЭ甫yh@4*n4ke DT 7se\BcjI4,g ?%hp,NAY.DKfw .C4Zf L4jKp3@4 @4 hD hD Dk@G@@@.\XVVVk[s%}ݍ7Q lQuXrwnܸ"22bCCCohq޽]VB r}h5q;) zUTTM0Agdm\\\jq(˗nݺI7|SuKXB>s)))zd\9 ޭ9`n*qDKMMdǎ=S4xyyZO&^zUݒdmzzz-tڸM6~~~"|K4ԚoXG4 ,OWmƏM7hbȐ!~ O>d.]$dkw;Uѣ\3\R(ke/v,--q6l(-_ ,^+;z萐#GJҺ(޽zРA;w\`AΝel1c\אhʒ С,ǛEEEo X-IŰF1Fweرcl"^^nիW#;At N'њ޲eˠ'ꕓ=WSjFcDE?,IJJ IHz}|G*);#˲Yf7۷޾Æ ?TL6VBS6lh<+#dddme~A o{,66V_Ӆkں@]tNx-eLr믿.I{Qo7)}}h@4^4TTTȥz63fH(TÇKo߾*)yJ^b>Ӹ4 e-b /IٳG%whhŨQ$SJS]vIR2-ڶm,`$'2 I%Ǝ+k%$''KS/XnK4ؼ7?9Si͵r-CfXXjŞN B~~~^iK.x|^]wP/lNxd:xN5Uc!zѠȐtqk׮+ȸ4emffJ(DCӪ?⦫*^w˗ikO?Mh_׹'ٳgOpv&uY'lNxׂh0S'nWhDC] ߯Kȑ#}?~?Wk%׾}۷&%%=C'qi*̝;7'''>>^Ү];[VˋIT/(9}48!!{r͛7Wիe<ꫯѣG;7&hW^ց[oz/xEZZZIIɱc?o^x ѿiˬ]!`p"8k^ Ljl4D hظqHL_=#207iD^/N<OtIf~/;wnAAA(dҥmڴ4޺uz߻wkVhkׂhȑ_A?.w}ڥ͊M2EF/RӍi0'NhѢСC7mdŤ}ׯ_CBB6mڨQ#=ܣ:U)҆YJڵ '^m T 5Uc!o\M7݄):DNN\oI~g  v7D @4 h J'IֲemN @4 @4 h(hD @4@4 hD  h G:ujNkv튭rk[+ECddĩ VUPPPTTtղrl \)wg +++… $fa+lVboL:7AֱcΝ;'1[a+l.Cnݺգ޽{>,1󅅅 [a+wX4^xѣ֖-[$f%''gffc+lVb 'ow͚5 N|2V]lXVںuO?tI;Vnd+@4Hǧm۶+**R5Z[̅ Vh" Ό rrr7n,+Ueee ,ҥo&Md0`|;w=ZrΝh0Ys1Zͽ/^\&r;ҟzM6իvn֬Yǎ~ᤤ${ mf͚eq# Bol qG~~m_~Y2]p!++kڵC 4Ѡ8p䄅մhp߫g}De ]f w8p$?j o߾NjD{饗lܹsgϖwߍh@48)@hذ~+:uҷJH7==3OX֭[k9G3 wD@#Fz_ml%i~?hpNF|ׯ_Woɲ\pAڵkrcޣ4H9 'NG}TejJ?88X%Z|/h裏eyhرcw伓ߵkwTgΜ1ѦM4h CFw ѠYRg 0hnSO2eYr:voFFFECRRƯŝvB>lذJOc >ݸqF֊OίTx'Ǝ+9678q^! m۶/J,"{tt,>x`nnnvvk&͛iČ3T///cff,S5~~O>Q}uil4Dd M!EΜ9s۴R~~vܸqbϿ/6KOTMFڟ;M<СCX  DC9 """666)))##[a+l.DC /4mt̙˖-KNN>w\qq1V]l. m۶mPiԨm/o.^XZZr[Eqȑ]v}+#+W\z%Z۷رcr# vVʍl. ٩\r3g%NqqqEEVʍl. r^tITĬÇGߟpС'Ndff:qrŢT.t$fɵ7HKK_rss%Z9qrŢZʕ+r2_H8IXis [a+lZ[E?;a+lꇭŢ4iFX@4 *Ak` zрh Pb A{@X@5Dk` % J5h/ XkDk` % J5h/ Xk^@4(֠hW6àAkhٳg YcΜ9Gam z pAQ'''k` ϱڵu{<=zƄ 'XDC%,X:P~Xkx5}@4TBzzE (((LkdffZ[kx5}@4TСCrԩXkx5}@4T¢Er˖-l%K5<> *!''GEk׮y54iѶm[Q֠P9&MRrXkx5}@4TªUTܻw/XnO?5<> *$ SNkx5}@4TSO=5|xg,X<>P 111k` zрhD @4 N49rdԩ:u l]v9sfzz:P#DFFJYpaJJJ^^o{ѹsh"&& hwA7Z*,,,++KdDqqk***oL: P8p;#ҥKEEE2tЭ[aƍw %%%l@4T/aqqq;vOII9{+W_N@4T ^ǎ NHH8u\ $///**j׮]%%%oDC= >=Ji\yرnܸqU,PF':h(,,$| hpu]\haڵ۷oOLL<}t~~>рhp?% 5Ak֬>p@ZZZ^^)СCǏ馛Zh1dȐM6nܸW^6l(m߾}G 9r$-[QQ1o޼=zpWZV$*++3Yyܺu[l4qtbٳg|P__:=-r UJҥ622C+^{rN^z۶m]\7#DCbbO~gec jmLL$㎌Ȃ42> <̙3V$e˒˵#Ν;7**… ׋/(ۼ+̂ HrذauR$/^|ʕ'Oʾ pӰaC{m9qℿXX <8i$Cf= UbG3e-YDRipm{eڬ-H DCuڼ`=\}*_Z}ԋI&9BXeF44o\a1 fߡC; N D @5,KN˖-Ճtڵа0Y$DzyygoR}ks6V]4$%%Yi96[SSS}g4Sutw'5x¸i@4FPSLi5L"9|AR811q„ s=Рkp3f0(7t,H^b0Lg͚ejY_a{-?_Ohрh>w}gun|zvmꯢW*ACM׿U;b@sl:u}&?i0IAղdG66l`hhӠݴDP׹~+-4hK$!L`(#$ nIIIy.W+{&DsO stv󾾾D*!99UV"m&ԩSDCU [kn"D4 U;v 3ϟ߯_? " 2o<_@=o߾?ڵkcbb *xQ,@a|ADDDlllRRRFFFAAPU$ioz*z6m:se˖EEE%'';w h*V^ܙFvm/_|ŋoDCU)++ 4> 4> 4I@4IDIDIDDDD $  $ $ $ O O~ >Oٳ{@3g{>Ga@4ڌ>>>999I@4ҵkW}=`p=z &`@4 X诿> ?[D瀀,"33'KJJ \СCzԩI@4 -Z[l&Z,Yɘl:ANN׮]&rlҤɶmhCL4Iٳgc 'vYj {PXnɟ~ kQRRЩS'L$ zc;<3 ,hsĤb'hD @4E9rdԩ:u lFzk׮3gLOO'^H .LII \ѣGΝۢEt&uxhޱcAjժ, ׮]^[7xcԩ:y.]***^N Cݺu+Q"{ܸqǏȐ^RRR.:R4^x(Ygرc|||JJٳg\ruw? :R44hЀY9vXHHHtttBB©Sd---uO^^_TTԮ]KJJ   |۹T}=1ccc:QXXi6nX2}}}e٢.z uKruj L3VZvO>xE6J7|gU+W{ĉ2>|ݻ7рhf͚!dhhodyf{ljD'NE(111;2n D"H3gZYԖ˖-KJJ*//׎8wܨ .^/l+? HO?$ˈ ^{5`…Cϟ}7oB|͏=Q Æ ŋ_rE$x̜<z+콒6fY޾}J9rD}UÇKr޽*gFeTݻwKR2]rA݊d[n^J-NJ!ӽϝ;رވ#dm߆ .YiЪU+Yo~'uw#{ƍڠ IdAAuX++̚5K ???pu~/Ện׮]{rƎ+9;-,))Uk!Oހ̙sy3gMOECHHڪ رcҖz[}Y!?eٲe͵b}$%SVi4L6-,,L;]\h=n8Yn:kc`'Z6kL2TrΝO e׏,9-[6:wwy u?㮻877W})YhDÿ9zz<>>^wJJŋm۶)bK̔!-tܹs/^Ν;#}pRѣ͜@4/'NxG$b6iDFqO$S{½'mȑ= {Ξ  Ax^ |uh@4 ߈@4 Uu<}||L^>pC=ԭ[7???D5BBBHcGҪѶmn꜈DCٳ܀:L0EC<ڀg̘aoE:q$߶"PKbŊJ;w=z-^}Ն >IIIŧNH:p@:kT4cnС")Ξ=2$)MHH;gcEE}a b|իI-"9aaa\wi_٣*Edt= `РA?oѹs6mu'ľÇl2((hĉMlmKI / k׮ՊݲeAQ`挰(?22Ry{NޟH [o`=e'}4m… ϟUC<Ӣ|qW'DMi(//Sg6'4se)000Yf24 jr/XdѲ\XX111Ϸre,/_(__JEիW5j$RuSv$kw )n͚5K//n{V,[t}.]io*}Ryy~3EiҤIXXߥjz.MD6Dy NlYhY۞P3g,ZH{tDCmz]Xj}WQQѹstE}[oU333mi]hSzB󱄄u-͜,K,߿vv~ߚKhMVithK+WK!--MJ:t,^DC{]X/P/z<^t8DTTzK۫K ɢ=zt^^~ߚKhK3''Ѡ"_h}o}Wh@4  0jԨ vm:C4y7]^&5…:Dۋ$|ײu]Z~}-K#07HMۻwҩS.r;v~*)D |7X^. ,߸qhǀ 6XL+J6,:ԠAMr&u@4ozAͤT$/ ,DPI 6Aq9cǎE4 Y]RRRÇf `#Fv*rǏKR@4oN좟{B 2 `VzII h`A]u:th] i@4  7|. w,i6lX<0.w '7 2ߠKDìYضm[/B;Tމ~Kr'O h0 | qqq6AtjϞ={h>}ن 9A94h7- hp=7h0@}2cS;h@4E "cf =h@4Q*Egry___D򱃽\!vHNNnժxݶmN:h@48oPExm.#֮]իWhHHHѐK@40 ǎuODCtt4D|3o<_q@By߾}k$&& 7hpGe,^XT|!iRRoD "\Imڴo^8]Gz6m:se˖EEE%'';w h`ADkzpooP7hԨm/zxbii)|PVVy={l޼9""Bdʕ+WK/_^m߾}ǎϿv|P^^^TTsi 2>۶mr 񣣣ccc㓓Ϝ9s⊊ 7 PPPpRRRC/pС'N* 'E " REHSNgpiii"٥GrsswDqh ժ*իEEEW\QҥKu/E]~hh`ADCiE9DjDC V 7h`jl0  h`:  h`:  h`  h`  h$7uQ40 B4iF 7|PEDa|7@48po hdA@4|7@48!o @> h @> h @>@'@'@'h'h' h' h'I@4I@4I@4I@4x$ 0h $ ̞=^~>s̱}D8x㓓}D/]vsWѣGk0aDY`u믱 hCzzEt(((2*233} :TNMD`ѢEeleɒ%z&h|5l.&M(l۶-> :ĤIT={6| `UVw^uu)駟 %%%:uO*ᩧ?>v3<`:GLLLjj*v| @4 hD j#GL:SN n#}Եkי3guxhp”ߠn#}tѹsh"&&ܽ|DCvvvpp;nǪU²$_v--Eo1uTB2pwyG"K$uxh:t֭[nq?~<##C"xII[\uxh x"qMرc|||JJٳg\rx^n)4h@t_;p)KKK뾣ux 󋊊ڵkWrrrvvvII :DC :t>L>]r}Q-СC_VVVi[pG)yEɺ\~X1xFFFaa!hִ \y>rnV~Zɹ=bNXt#Ѱv۷'&&>}:??рhں \W^-;>*yҥ h2e$-Zhc͚5HKKC4 jnuQ m۶UNiܸFDDLY+3gX?njѢŐ!C6md6lЫWH«Z[QQ1o޼=zxyy}=:$$$88xȑe֭ÇoٲePPĉm> 1{ 7n6JK*mۦJջwo6ΠbŊݻK xΝ;ifƌ'Noo ={' С,߿d+Z nuWoײojj,ϝ;WN*/H,wM>11ǧqqq?D@N}pJ/R1cHUȑ#۷>ٳG%eA#FpEHrJ.Fҗ{nIJ~˗daa$Z@4iRR{7AP%|8!A|C5\%kkgcgvDI2??_T3 jJ~8Vg : uW͛7˾O>kך6mz7K-"񴴴T8૒S"w`mQTI-a}D3ͱW`PPue lgΜ8݋ JC*}pRѣټ! u4|kȍ5*))k׮5iDeJdĉ<>٦sߛɅT>}DssÆ U:_F k#G@aٲemڴȬ9FDDH{V#RpʕRtI8pʔ)۷6}tw a xh%eڻрh {={\}?uD󾾾)6m4dvڍ30  ܪU+GH! //8ȥ\g,x^n)c⠛2~I𝖖-Eüy{9;RQQѷo|ڵ111u:R4=zhv,^8 >MJJ(((uAM6|իWnAVV /дiә3g.[,***...99ܹsnx^n)$j^:<<ۻ5^~/BŋKKK:R4eff=ztϞ=7orPWޑ>Z~};vL.]u('k㢪aF%%s53zmY/e_+X루/~7-u6VhKyA  EA0 .{~ga`yϹ9y?S[VVFGp:\z5!!!K@`&11Q  r:S(]]]#"u:v'jjj(PXX ;rrr|oss:C!#RD߿O񒒒n~5bT*}G9xd!u) Ng ru@_CB1݈:D`DJCϣ91 CF4H @i@i4H 4H@i@ 4H Q]]aÆlܸfxȿSO9sfHo߾}---#3p@ɏ(33'|嗝8 qʔ)?sqqYM&Ɇ9E=xȑ#3gΤ>Ǐ7xilːmI~kV\I}BBBp@z)VuҨϜ9sA8jjjƏ?nܸ _Ϟөi8H`Cjyy9+D"*.]T(LgO<񄭭ŋ_sNww &gxi4wll쀎rG 411aoݺEtb **͓KKu5QߡbZٛ7ovuu:u*urCNvvv2{ikkܺ>L=|MOvvڵk'MD[dɅ n{Ǭ ٢QKKKC9T #LP1i -k~1. 'O#fSS+666*C /P[[_/HP7i7rbb"snc@w:@4geeuttpYR-ATr? ŴFz:._oi#r.\ȭ[HHٳgi{裏% wޥseŌ 33 EEEi(%N6,QRRL&̤ݡ΄lєi{OHZź 5i=-,,YmVfj*en &Q`@n:Jr:HYJԄŊtbCCus~NaOJJ +޼yST*3 ǎp T< 97H=pC PVVƊT\dI_DuQ#h VL[QQ믻qyzjV Z[[5~Gבsvvb_2iJ=P|uFP.^j2u n v?LC_1۷ĉ'k& 얰'A[f'堓_3f % +^vM4ΟboOs_f 퉳gz~){Q.lk 1XYYhTYYY!8NA=z@LW; SLa@p<Jç~jjjvZR&]f ٻw/44zCޠ ;io~CgqqqJϜ9CˋQQQԇbvvڵk'Mdggdɒ .(]9 $AQ=7+ *#Ór#;w4|)ϱeM6}ZXwGGW\ɞ4% d6l={ԩS. z++ *Fػw/*_R?555QQQK,џˣp 40$PK###,HG6;;[P8qbѢEi4h'hӧOjv91c_QΠiE"[ aKaooO[cؤa\@M{gܸq\PJVT! ֶբ_5Ab̙ԇb۶mqqqJWUP6xƆ zmV+ٙZٲe wUʟY'Qܹ˗/4X޼yS1X%9G]]ݡCX_N4cɘjiPj(Up%= yi\z! tۄ}aiiI骯OP~*a2i \]]vAc!?-G"n?hXGg4 t_#Xebb"u777" 1[ hLSSSU 6^R5immupp077g5 н{ !P]]Ma7y䎎uSnRexWC0(?䓞w%2':+ 4t/Q릃)7m=n^֥Avrc+ T$88|MϷHaaݽAsέ[s\eVVv҃H$ghK1Ifp{b@U(hL퉦&ͪF1KKKiξ4" !մi(ʸM}Oobf5eeKK mc33}=|P+"HBnOu # G4 &Y*PcZ6;)ǎӬjafv=zCPP(tttLHH,))AP"6}T^XtqqĐNAk4H*Ҏ;ϟO!11Cii)biH*2]]]^^^jTTTRRRffH$jllD!6i4"aaa_|ELL@ 2 a@l4L8 HHw=ztPPPxxx\\\rrP(T(;bhll$˻qƅ N!CaH1طY>#G# a@l4d⬬,K`Ȁ44}GDDDFFR8޾}N1V@l 6 O E}}=_T0d@ Y ޾ILLBN%ՅCl 6A<<<2mڴ;---===''H"677T0iH$tĀ44 %:Ӭ nJKK)߿/J)+T؀4-J#:V`A)YgP_?H,edb+ CF׿48Cl 6 `֭[ ×B!HF֜HG c`m=_iiJ* ! em۶o߾lwE@Kcʕ94ZXXܻw8'i6mb1:R F>Bl4) /^?;CEd o߾MNb *n'Oljj#7ovuu:u*u' 7n8ʯl;;;OOϽ{k, =9޶s9{,Ҡ2ʊźvLJ7oѣkjjK)"b" 1{ƌC.,_555Q _p!Bl;wR0$$$..V{Џ>h00j(D"Yt), 9vS59>tRAkxԩSPyNIIaś7oRz*͇NI|rss8::suvvGeE*ZZZr}YcjjZHT|! Yr%?|Mmg9((1a<{_? 4`Gᑆ.wwwn{1**%Tɉ?ÇSJ^`AUU)[la#X[[/\088?acc# ݺu+YMm\iW#qH(׍T7ZZZ?g=&dr>\良H$`V?W.! sI̜wלq{_? D\]]2+41mO@ ƌ3:|\R? #6@_j?! 9i$Hb@ H Hii4@@i`d CFرc! H4Q,ݸq… 'Jۖ0i0dUUUYYYɗJۖ}i4H( j@VmK[i4HxxxృacĉH@X0޿4@ iH i4H4H jKKKHҀBё!!!i@b4 6nmhh@n[]\\"##IIR)Ҁi@l`k׮!7-;v?>ICbb"ICii)Ҁi@lm6fW_JJJD[Ht@qq}~~>2fkk_lX,$HbI&L8~xkk+PQQ=:(((<<<...99Y(VVV* -a/۷! `dAmjj*'Ϛ5?|oDB tƮ]6mڄ,Z r\B t˗25kܽ{W,7b @7!7-ӧOOMM-,,w^SSSGGiAbg KJJH4u ֽmHIammw PXUU҂*i4H7o^^^Hfff'N9tPWWv3(HOEɆjk)}Zzll@ ͨH4n# +W>!!!C! [o 2HirJfffYYYcc# ``,HGm(޽{gEEew}SN%&&V---mhh@4@h" z( Ǐk~J7ovuu:u*uXŋ;PҥKJK}6ӊ+4˗/7ߟҦV]]]&&&߼ YHT*i4HP6m h]:;;WZE}l0jԨ&Y|9u555 .Ty=:IYOyyX,*rI=;;[&ܹjޞPg/h5yO...ޞhjjRz_wss w_Cł9Š}]_W/TiH @LC:Iݻ5ICvv6AH ~=vXU*~ԟr JA=*AwԔv͉i4HA/#++k0Һ4dddϲe˨g7Ι3?ϩShѣG{z-KbDB=UTS\\\H3 tH@ m۶ C P(/6F888*Ivƍ>o3 ٿ+Y@>a„i4HekeVhAρ4@V4' V[Q i4 =#@4x---! 4HP/BBVtmCCr₶' X+ig׮]Cn[v1|DRH @7n۶ Y?zW233E"Qcc#i0[[/"&&F dggbL4@I&L8~xkk+PQQ=:(((<<<...99Y(VVV* - @7+DFFz{{Y=|֬Y~#G[յ!h! iA"秤\t)&&4"""i/ƒ1ܾ}Q $H/rիW⻹t 55U().- @d2YMM eT;h^)**H$du͸i4H1tF9'u()))' /--ŴGR)r;\f4@7Ylkk\.ojj,U___tm / )]GGiEWW׾^Yx1 >) }K]Z"Fzgz=vbP#_@xzz<|?]+k" #r3;wy>v >) DmkkҢ۵D= -Lg|}}M6aP#_pa;))I믿U||<ɐ"G?88g̘aoo&u H4Xib|ĉzpZ+333VNNNnE~FY={Ԟ={ ~B~~~HH wvv"V J_|oߎó`Ӊk׮!U!'Otss P(tVoD4DGG;wg(Zݺu dxQF vڴiҳ޲hѢ7r\M4(ihii1c >z Ú5k޽+bHoܹS^۱c"ILgԁ}]]rޒ<}{555utt n GV`8/ИGyY)((pvvNLLLOO/))!kkkC4P{ې:..ƍB p42y_TjaaA=---[i-[FgϦ666O>ũ +rrrbqss3 ++7s4}Sy7|A=mVTTD/77ܹs! yTTԕ+W233Q 00i`\R"48wɒ%Aԓ2 glpԩČ҆THh" z" ?30sLnرcի/_΅fp޽͛7ZZZN:Ҹ1srr֮];i$;;;2/*ͤ+44Do!222!!= I UJ\D?Fسgu޽w ݵk'O+:Ұ|r kjj"e _p!iff`~ߟ_i8y$IÝ;wH}t._O8ܴF:|HΝWZE\ŠyyyT$""BoO4v#i +44Oo3b_ygy4ܸq>\իWS7o*Ғ?֙FPIÖ-[Xz…lSϭdaaL&4@Qj\.ommEsj HAKڕzu{,Fu({BP{Rz _͍[iLZ4@Z~J(7 : v Ovޭ瞴( mmm$Ӕ9ϸqhhSUVVo(SOPg,[Lid Q#f*FGGC CFAYPPPZZJ*8Ul@* YYY5/+߸q#>zH$jmm{~;Ja$]077'Hӛ*Rϔ Oѣ5T6(??RJRXX i4hck5K_Cl*6 m۶ R( / :RsQJ/ܹsGMgWD͛7:H=n߾M^裏 x h VVV2! al-QPR  % 8@l4~ʬ~H*@}q}<A@l3gH4uPJ^{",88Xk LfuҀ:iЋnYVVo?0xS'()S n1k3Pͧɴ/*X=INN6Alذar77nơE)x≽{>|POUdAcׯ;$,,l\Zҹ>bƵo>H7z9s|\Xksلcƌ>}olGXg֭qR !!!T~MMM$L%%%f͚6mZssp&fZmHS#4QB"}>ˣp~2Ti`n3p0O EQСCZhll}ڵkII?^[YY}v*׿Kc޽kxuawR3+RlP'f2V_4@F4|t^bmm==:֯\iŊTԷ+ $QaKk3PHqy @)))vvvTܻw/sε>}x{޽{T〥_~Aօ3kZ,bYY.]'Nx'(t/^?ڵ}„ EEE9sfΜ9ƮMKZ-={Vi9=bӓ*i{{{ϫz5VF$ dF$}o (T˩R9oй46 M_5xi`lذ6) #JClllLMM{s˻Yp꨸y&6{=*! 0P.<쳆Zϓ'ODE777:Ċ/"?sc72=sq7ԡ4S'Ӧ%;>eQZδDHHI|MM MjG}JD4"i`|7=Gxgh'O=A{04W{8W`dMll,7O? +;vLuTС?׳vN A{mh‚&uPBW)Iح4~{Qk֭[6uV=3N!-j:*!iiTH؄44|촒 ֜+;'k9l3p0pڵ^i077'f888PO:%bE:QƄ z}^8`f߾}cٚ 40 V xJ*JAtT- |63:mZ*-kB[n%K97OjkMHq=rKF4PPfee)=elW6ٳF_iHNNԘ aP]]3uAW5Kg(Y,YWT]@~n*7:mZ*-V@iY[l)((P~j% GɿCt{]+ӓ,([ZZP̒/j3PM sC$LR\\̿= v\Roz+  abT33{tbOKtyzݞxW 4tuaHCSSӯ~+wti4$$$h $iӒUZvRWW.rWŅo?hMH1J?"9::Xpzq'Tac:{C' Dxx8~:auW.mll藝YYY'>nݺn<)۽۴+! 6`@@1KQ]]MkjjTtcbbfϞ͂54={,[EMuyhOMŴUUU-ZT&LyyO+ lBBC{{fWH4{ r*GslЉ -;Sѫ06;0amVi4:ix7-(%E;Is="锅 ,"[ AHannO޽{wxX]]miiظx%Klll\\\VZ]Ć!Ҁ:iBGGG ʄ ʒ%biT^ H t JC`DKmCCr:i/v1| D R%ba$Ұ`k׮!7BԢW_JJJD;b!44t۶mͨ$ /bbbAvvX,d;b>??uҀĠw}wAAAqqqBRP  cr҄ ?ڊ<:iЄ'|f9 a@l4+DFFz{{m[AH466⼼7n\p!AX۷o﫭&@l4744H$K.ާ8P! j"ɪ/$&& TPX^^NP(v ĆHCgg\.-++#otՄ AhדQnM5Dsrr<Xbè]l TXXM{b BԤj:QMiiX,T*c406i=KQM{)KJJXP! A)h"I2"0Bi`@gr6@@4 "1: ! H7  H4H@4H@4H@A^^ަMf̘aoo&u Hi=gRڳgOaaaCC/@^ KJJjiiiooD54.ڵkHzɓ'***H# ÇHHLvڵi&geѢE oh:__˗/#7-d k֬{X,&ohiiHҠiCn[OZXXx޽HҠ"13Ή%%%dxmmm/A]uoҠoRX[[ݸqC(VUU@mnnniiy…=Y[[uVkkkn@ Q_良-)<퉦ܗ49såKիٍkmmm$Z33ݻwkKCvv6AH (݀`'RSS{G`eeճ9 ua̘1]QQׯ_4@ H#++k04dddϲe˨g7Ι3烐˗/H$O>$( CBBfixg#! HOm6ȏ AH?cBFDvvv.]K`3+UUU֭E/ZܹsHix5>>^+a:ϧFH aN=\JJ\./**@ 0.Z s x%Klll\\\VZu#777kg i04iP7nL25dm~fggCKΝ;7|xKZ#$$L'G28 V}EiZTTZn}}}PP̙3闺ÛFruu/ 4(;۔藺o޼YXX8o޼/PB>\CV'iND"SZZ$+&Mrrrojj_>ܘ4ږ-[p@ `$B{^Pt:>G}Ғ7ش>|wG!CYYY֥o󵀿^^^4ɓLoPܠ o^O i47772I$&&rtRNٴ󟩸qF|֭Sg}VŧԔƆ Kܽ{Ԕ:keee"?/h*5k>I:;;n;KJJ۹vM;}t*fddPwZZ?899>eq5믿.00/or7|ё5-wM["k' iJ{֏5Fſ=ٴ*7hܓ￧rq8qz)J?YiٕJ+ T!'O!! i~WgTYŕ𕧧4PXL\i(ՓJPjC3 x'z-J]H'|=Ӱ~鶵u탔33wttwf8pS7ٳg_WW7iҤ'^rE&'ӠH@$..}~ϟ?~R=APnvuuL<==Į^;w 3{l5=u֙3g[ a_Kohh4l߾}'2k,Z?/BBҠ{i`?~^ipuuU݆˳;v,{fiHz h{@@ `Ҡĉ}||:եEaxiiڢ~ʕ+OHHiHA}܆H" Ǐibbs3g̙3JCΝМkN4nɒ%/^4H4tvv&''ZJ!<<<;;k4URRu/]T u QF-^ fff-XO? RH4JcǎUjl:""/[nbJJ O?5.E;v? I@@4t_揠#*i/=dC% +|@@ƁJ7TIBHoii9uT BQXX iSiలrww)) DLLٳmllΝ+lhDD[ 7h lћ7oNKK4H4 3-iH&)BDb\Hu!/-IdZ <ؙفxHD h)p|K!"Qn{eYWȎ;x.Tll,,keY(ZZZrQ .CCCDb6,9s&")) ɸ.R".'fgE~wի/je BL6goI J4jkk3g2i0t0{lL<Z=Jb{CyCg`f9s+Ve:DkUDS4H5664)۶mCiijii飵~[DdlSS)9SUUŋSk""+ @0 UUUxqxm`0N'EDXͦ D*I&  /8uPP4a0nTUU)31 'Od"Gzz:zqؽ{7x.[ӧcHJJҡZ jxWg}\FFOA!!!!dWWWzjj8h:LY0(,>vTwy6lF%w 8P͜93=x14 nxcʔ)\+yDCힴjZmx:66Vuhnn6a0tZuU4lP[q4i`0ѐk|ccY`0C[/tO CО` oD`0i3a0!7|6a04̪]/iA CG|)ڥ 鞄:=°c\WyZ{/&u=a'{C8Պ SJY$?@+A]6iҤh%۷ogyy9vm,$߿?pxm4!'Yd92Zkٵk6n۷CDI8q"fϞ{DS/xH]Jڳxo\s^{m;vg1Fiii3gE `wR"UJFF{NUVVF(/ {ERR%$sH.&Q 佅f1c+Vhݎ+VH^^^+'H$9oHVw`$D. 8?Yfy鶞&%%K,%$[|L:RJiRJ}zO#y966EeX6m2/̰, wu!"Bo=z dRѣwj]4x\D^iӦ9eҥ<>Z>}Lի$7x0a-11qjp8>Pv_SOUDMsfKK lbZb ƃ>+$unO'9 VTTrybݺu>TDcǎ'? yn!=?{Br`8Jg Dzñpy |ϟsssMk ΝH FqqXU }H~_)nMAAA.3f O<yo߾$T9_Xv8A>PJL q&MI&s$yZ:.$o>,**[oUF-7z^q+&BqƌqSH8IγlFxpAJJM azo]n% 쓤h^gYƒkv]'&&̘1$y'x ~ ɟ]K$* 2W[nEG0eY7ވ;˗/׽{VW\q5"kDq"257oFuuu}V'<*]֭Pl){+ӹZ׮\Ru癁Ȅ `>v@R8("m[IIIlccD9|JQQэeeeIDdiZZÇG8NlDvv6 ˲f]Hi 磐OƂ w-Gv#V^T=ZHcօyrmذK%֭; `~QQ_EE?E1ג¾}LK !:J<ݒts$m&YﶂVjx@9X?^=u^^C]4deeaȐ!lyb' &FqޏǏ)))ݻ7yLCC>3g}\x2'Njo $ngO??;&Le˖&oѣhɍ>DğpڲnCzc;ɣZ]yyyW !GƠAȰ,:+$?PN ;Lp\;cǎ}ewh,xz=l68 @9jaÆ5M5t̄R~.`׿Xv`]^^p =xo 0`TLL 29Adggc:##rxvzIjj*DM6 GnZZZ3ްaC 9lpy_|/v/ AHNNѣGrFVVrrr322H6]+W4D5***lPiPJ ..ڳiӦΞ_D'"6))DAC. ~cڵWng@^.hŝ, |7TSZZHFZXX8jv{>e߫IIIg^O>@ \X6EWX^fUYY ~fVZp8?dl6ۭI C'|}#wEkkk+/9wލ}U ?]'XMMMog&W PW\/"O, {/ɡp8;(}LU^^Tp m3Cs*--ϳ>*"?s9dQd1p771p771p771p771p775a\yjj*/^$ 77)={⧟~b~0?jSL&bڴix70fӓ)L(0P*PTV!pgggo߾ظq#"""5(.] 4U0?GZ4XQQQ,`4J`~0?K~P-c׮]2e Sn߾|eee1?Z|~P#ոSSSѿn- T*h4/Y-9?wnn.|||`4 Am~2?Gs5Q& & "a0? n>Ba5i4taaaXt)L&So~MEǏGP(Ax\R+ CׯCBP@6˔wNWWWtPC_EEEXnz=f̘7|ӄ@NN-[9s0Q|憠 ,[jmjxxx{0aN8Q t/%1pIp(?UrJ`0_~2oɓ'#33.\'|Zưaðh"7|d.66QQQ(..ڵkK/:-U?Obutkܹs=z4>3L<eٲeP(oP(]f gEѩS'?PܹcRR~aoڵCdd$l>m6`0 $$[nuݻwc򂷷7fSh;+?<ݱg׬쇯(m|r( YҠP(|r_U*ZQPOJ*-- QSAAA6k{o(..رcm6yIDPXX'ObvXqi… ii˼83fp0ƞ={/ 22]vzk׮1b~gY |Ǐ֭[/8@8z(͛f ,RDLL 233q%@TZP3{ldff"33Yj_ҥKQRRcÆ ӧODzeːرc~ sKa۷{ {ٳaEYYY7u\$z^x/rXr%F:W^ؾ};>#;< jgbܹ28tt:~A4heGy6mhD޽f"ׁ?Xt)3`ժU?ob ""=m۶!77z˜1c,ejxga0p1[YaU(&zOʺ5T! k׮E۶me`~4hZ4'lHMME`` ŗj5n"_Ŗرc GBB p9˝QD\zZ hTh48p`e5/ٳg#%%mڴA>}Hbnrrr,&{'GCkMǭ!?{1c|:u*<<_rӦM?t:0m4$''[m6GM槧cڴi۷WkNUqG'pe3LR_S~QQ"r9=z[Z۳gpȐ Nbb(J tȐPQ*h+WǏKii~}vz̙3w7ӧ?~\F,X@ȰaÜJaÆ Ylܾ}[.\ +WzB2=Ξ=+z^%..Nرc2vXTw|7k׮ݻwKrr\xQnܸ!-)􉁻 nG#<"$..2ɓ@g!$!!2СC6닌r!˼ ٿ5k8}*pZ2///OVVЬ>{{{ R\?.d۶m5v*Wg;j^{׮],.\`nfSzVRlM>&˪]vɱ ܹ{5o޼<aܸqr>>>~F ^~vڅlZGU^}w\iy@{VL/nnnx0l0̚5 :t>( T*V:tkpMm۶ǐ۩l_=o֮]mx)_vTC<+gg}Çȑ#0L(..6_Au܆矇? q,Yof^*󾆗Üގ}m㎈?PrSNY,88pI傂ڧ;#޽{CPtnkj{+V@ff&n޼?Pqqq ??2/66fQWqN]wDM,^Z1118|0 qY,_rrsfϞLdff"&&f} ,RDLL 233q%@TwujXt)rrr^zI 6 ==zЯ_?:v8|0h ~|ͽ'N({t:ѣL:U>lܦM$00Pzƍn'11Q"##GeĈVڪڿ,0axyy|F5R Z/:5:UuG13OOO1 ڣ] ao,gGl3o. B:~-[yGYd5n]SRʕ+""reQ*ҭ[7p@bbbd@6l`*9 nݒ+VH^|5CnܸTLDd۶mߪ:]#9s{Ύfw5/7|pyED~'`sl7'nn'8p@HTTG}TힰʤG.r}YV?(\\\'{t:~{rtb ܼM5zj]nڽ{WΙ3ǜ9s^[-]:55)))9z_x3SP $$`68I= WWW8?ڕd~^xfff'uT BDw#3QPP`D a'>sԩ:oR>n@0wr{;ǻvtZEl޽F\\  .X__]Ξ=k#UwĶ߼ݻwg$b46Wy=@6mT[-JzJ?.yyyrQ5j3fU>?Z_z% JaiұcG m۶})jrJRRș3gdٲeҿ?@,X`ݻ9wxM]Ȃ l7fS9yرQk=Ǐ/{u=:p#K͝;ZpU۪(f/^.]QղtR{ΌvU_}Όfƍ,z^e˖-U3/wp̀ݟUKii)ƌ;wbРAɄ޽{̙3ؼy3|I~]yf7}Z.kԌjlڴ HJJqu&L-L>dɒ&~!ॗ^bf5_q5n!kԺ]z]t_~wst1 ÒM)''V?{D=A%%}www2W|e`o&gϞ8qsȎD2h3p7QQQؼy3sɄX<P*P(V({9|IDZ}pBBBT*R^Qtȑ#7ߠ9LD˗1sLk2e <<7jz: IDATM ܍RADP(VX&V_tpssNn_J ZwaZ}Z...m79X)--g-,Gzjg+Z3*jڵCNNl_qy&˃v|||p Vg4a0{u;صkQXXh.,b?׮]mU75P9:x (|wQQQؽ{7#[nxbo_`ذa5k:tP@e刚ukx5k׮o?ؽ{7^|EիJJJxO%5f]vٽkv+{?<+ݖ^nnnVPa2K.ȑ#8rnݺ5:ĠM-zk!!!~N+Ypp0ɓ69O wy{B{})0QPP`թz6lVGyp}U?~cǎYC{b dff͛ڵ"&`jÇQXXgb s̞=̴t)oP*Aff&.](JNK.ENNK/&iǎŘ1cljnnnƭ[z9s`߾}HKKCqq1Μ9c)oF[p!4 O[ӹ~F… -ˇaÆ HOOF^ׯ&%tqٳgeĉrN=zԩSVmڴIEKPPlܸv%22R|||[Faթʒ &xzzC=$NN5 Uرc7::ZDD|I vډh4(گ:uS  ٳL:URRRlO?-]tV+ /Hvvv- sZTC ;հiDDD DDDMNITSΌe>4屦奥A8<=ǣwݻ7Əo)no[cСؾ}e>waaaXtivɲG pq<۷/z= 0zhrLIΌeVZZE_p!JKK~f…x衇PTTիW#;;WFAA>̷ݼy-BNNƎ5k8̟/**ºu1c tbn CQVVUV8q}]Z@5̨_fƗ_~+WX]|_}l?z aaaرco1w\g#TԶm[ ꫯdR6l7|L'b=z46l؀`[nxglhR֬Y>}`0 44xp}pܹ:\U5ewoooDGG[5YP(qFmCdpv/?())ŋ-#ۙPޢE`20{l]TbΜ9(--_>pߜUa1U̹ÞTt j~e>G)Zi 8x`&&&RPIOO R)6pFGGoeرcG )*5ߧO9~FY`aÆUV\iuϭ{ />ny Yh,\Pȟ'eppիW%;;[\]]-uT|XH߾}uzii[/Ͳ+WǏ[ TRsY||xzz`GZ-!!!/ΝѣG ٺuSr|s>tA͛7\#z_<˼={Hnn:Jr:pZ2ϼ V[]TT$^^^hƍ""b2OJ\|ngG*<_^HLL̞=[Ȇ w@nHc֭[b իƣyxxXFCDd۶ma1=Jw a,F’Լ\uwnne9 + Ԏj-f矋Hrr͉u裏ڴh?ʤG.r}IYYYiϯ#C m۶Up&I9b>36Z;/_.*JBBB$++f}>>>Pث '=5kk?S*ޖb4.ۦMk`5__P(:kLGLQ(M\G~~>̙RYuT理gp)"~:1f̘jOB{,S#͜9eee􄫫~wp2jQf̘aSѫ>@Do7$*8@TT:tl߾xꩧX*ZڎsϡSNdz>p;oJ%>#\zݶVs޽{퍸8 4.\zQ&"[oB &ǥ@dVDTJxxdddHffWy5СC')))ҷo_ZO ""c /'rpVTnD|qyO?M6Uk{˽R䩧ǏK^^=zTF%dƌ5D}-M/S۪ɹ#55U:v(m۶V׳O:%ZV^IJJ9s,[L_wncǎɤIO>*ҹsgydD ܿ=ZM62x`ٹsg+WZT|YYt޷~wuGM6?~[\\\,uWflܹRPPjrxtEZK6QX8:X9Q{o]vʂZnQZV9*--Ř1csN 4}<==Y(Y%_ڹqoVjlڴ HJJ[]vȑ#o> ꫯ2QLVFɄӧOc޼y_ BzݎT\.,, | 3[—FD|rY͜9j?ZЫ<44T'|"$,,ac=/]$...2x`GR)C d+;44Tjc 7d}r[Y2E=^eoQt䳦WYYtMX݂E,G|rZ3Q8վ Njg۶mCPP BBBuVmݺ!!!0  4dmJL6 n:f93?qԩVc!88˗/ǵkpU@~fӧOpt5SU [neee8pѣmYjz)8qd$GѣGQTTdȁ0dFW^;v !!!z*֯_dx{{Ƕmۜ'jzΜ9ӧ{qqqx'`0pilٲ~u}ؼy3~' <._={Fl*Fը69s{6O;t? >apv""?)r'qT#jQZUtIbf^^^!{rmg/"RPP`yw3o&FՈjcǎzY]=-##p=0ӈ׸#jT5jDpx800긩wE}:7_ݙiر3f ܬsssCtt4nݺo5 .]Lh40`}]|7nN8|;v 8tf̘zGżyZ T*L\t 111P*xwm ?;ܹsx衇w^/VELL >B={˗/uj~~["gϞLdff"&&*k*}@uoj_VqT#pTV};>>7m$%((2(\޸q^@ٲeKeÙ|8b9` ]FT ըQ޽ql޼O>Sy׵͛7cܸqӧOMrĦrQK3}t%K~饗Y$jD-k^{_BB3\zZ wFD |iɁ\U G5L˗-C 3x3p7D>}ݻwرc'xݺuCjjS{UWϞ=q &9uefn<Ո͛T)ɄX<P*P(V 8ѯO> \p!!!P*PTV .^צŠйsgtj ,Y.]/`g_Խ{w̟?#G7|b& Y\|3gk)SjRPH~+QPP`Soooܼyyyy^yyy`{y{{#''j9]?BCӡG]MV>8¡;w`89Yh4ѣF=z@[OOO 0f}wǎLF\(J< ۷a4qm&kJzmڴT&4 N@@pY~NBhh(G52 FήQ}STh4tڶRV1J+hZ 777[n63p7{Ejj`s?ٳgc͚5PFk֬BpzT#gQ!j-"P(PtqU[ :yKX3|:t(ws4l޼/ݻ㭷jvƍxp`x'l~_go2p}ơC o-k܎޽w%%%sk,7V5nhZh4@V3p3p7\87w]VVf3Ͳc܋|v>}:K,q*p74jD }VPVԺj&ָ]ӃjT7^.]/dXnM*h恣ۘF,jDD7G5"gqT#"&995QՈnjDFDDv0cՈj'Ė-[]޽BqT#=@j Y=lLTZJԒ4QeA|pT#"&99[FDDMij*hkZjDUj6scc_6FTYQu71p7R07wſ5kq[ډQq@D,oDm&71p1p71p1p71p1p71p1pSܹ3J0&wS0nܸ*8q"L4e&Ōz֓'NtZFVV|||XD,oDq7`#GI[>}F TʚlGT*RԒ# f;D"#/_FΝ햷k׮A15n\׮]1x`cǎe&c:urXfIDcԩN#jT^rrrRV8DP:wb/233Yވ5nrFeʔ)<cy?i$7b+ߣu„ LzTR3<M ۷/Ο?!by#1!5NqơK.L (o&Mby#nɓ'DB@&NF-ʉvN#""b&"""n"""n"""b&"""n""֬^NMMŋ2)EDDbbbеkV,GrD R㎍СCѧOرiiiNҰqFxzz_~ػw/q]LVS@Y8QElpc qIDAT7nDDDSjeݺuABBFJBb7QոWX(lNL4 ~~~ذaQTTrD,G`{׮]2e S̄ <iOe9"#j3u 0ϟhDaaaNrD,GdO*ͅSꌷ7F#F#T*4 Z-Z-T*U,GrD V&k~~~(((@QQYS b9bnP(pI/" &Ol5?%% ())ֶ E{V?hj,-i(,,Dii)޽kyej<1p7H@||C8p9_GRR)++dz%"#&bȑ6ƍ8< ==-o~ÜmD&ꕈX#F@PXjԨ׺U )))5jpܹ6n݊ au}Me& o6:$%%FѮ];DFF")):vލÇ ވFZZr?S4qv[m6`0 $$[nmV X[嗣]gߙc:׬Y>}`0 44xp}p9W,wL6 tiӐl3߷є7Q3f2_$""o2e_]DDΟ?/W^V?zj x9w=Z֭[-*钙)P(d߾}U1/rJ9~ZKLLRi~FFRDuG?.FQ,X dذaNWuӤmٳGHxxdddHFF;. k׮ݻwKrr\xQnܸ!q 7.Ӯ}BAIzzˀlw-h~o;v\~]>#KYqkϰa,[Ln߾-.\+Wʀ}[~{osCS?̜9S?:tQȠADD/ f<8˼'O ׯM:teޡC >ܩhܚ5kli YǪU,hZwuӤmEDDIHHIܻvdpw >ܒfWvxVj}dϞ=""+ťFǭ=@bcc~0۷h4|ꖟ[K9bnΝ;L:UJJJU )..SZ~3}ڦcgS9vq{=`Ŋ͛7[:U6~i""b08p@DDz }gO:%ZV^IJJ9s,[Loӌe`eVZV]4ۓ Jf:9n???k5I{Ʀ6l0̔t8pM;{:Z=n KZZɪU9߷MZ54HIIt:{iiiv?Y8q{「G2uT9|Mڸq^@ٲeKruKLLHooo1bMЭN^rt{Igi& ^/AAAqF&EDo.AAAZۻOxIcE\,8HEwA\EUpopsrY]ĵ`EpgzzwZkt,oOߦI|I$%Ƙkkekaa!N|Oq=w[}}:˲>3y+ekbbBgggl\/ɉt~~UI&P]^^>!: hjjJX 9?a?RE~Z[:W,U,rDXqE]tMR&,O:J9==৚lR+0f#ɶmYն*rrԊ{iiI*ˌ0mggGmrm"G GHGFFiƛU*kmmMXq3rr|X$^P*Jj46u] ͩP(( öE*̎99BjZ[UUܨZVQf'o* C(cq|> 8ٽWvr\ו1Jm[&IL:dt.9 E01Ff+>rrԊӝ1FIȲ,9#c +tR0(cZNoe!G GH%q}uV hy|ߗ<ӬڎG]~$Ƴ޲Rxtr\ϴJ G GH7 xik##x\7 (n(n@qPs 2^IENDB`fedmsg-0.7.1/doc/_static/fedmsg.xcf0000644000175000017500000004553212207656441021062 0ustar threebeanthreebean00000000000000gimp xcf file YBBgimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) I Y Pasted LayerI     P YpIkIwI YWh"*G19=3AHi*5ء NM5MM7MM7MM7MM7MM7MM7MM7MM7MM7MM7M}M MhĚSM M] uMM lM Mp mMMySMMReMM MM]MM MMUMM MMNMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMTzMM MMtqMM M M] iMM MMbMM MMOMM MMM M MMfM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMqM M MMSM M M MNM M M MZM M M MdKMNNMOM M M Mc@MM*5ء NM5MM7MM7MM7MM7MM7MM7MM7MM7MM7MM7M}M MhĚSM M] uMM lM Mp mMMySMMReMM MM]MM MMUMM MMNMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMTzMM MMtqMM M M] iMM MMbMM MMOMM MMM M MMfM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMqM M MMSM M M MNM M M MZM M M MdKMNNMOM M M Mc@MM*5ء NM5MM7MM7MM7MM7MM7MM7MM7MM7MM7MM7M}M MhĚSM M] uMM lM Mp mMMySMMReMM MM]MM MMUMM MMNMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMTzMM MMtqMM M M] iMM MMbMM MMOMM MMM M MMfM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMM M MMqM M MMSM M M MNM M M MZM M M MdKMNNMOM M M Mc@MM"" 55x87888 99!9,979B9N*Y  λ d #P @o  X `{                & 1 < XG 2S Ļ ^ j  1 a  , , , , , , , , , , , , , , ,  𿞙 . T F_vlP- Id'W'M޽jM MiMMaMM_0MM2MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM2MM0eMMcMMjM MiM[M;MwM9M`M7MM6MM7MJM4M'W'M޽jM MiMMaMM_0MM2MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM2MM0eMMcMMjM MiM[M;MwM9M`M7MM6MM7MJM4M'W'M޽jM MiMMaMM_0MM2MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM3MM2MM0eMMcMMjM MiM[M;MwM9M`M7MM6MM7MJM4M' @ ǻ')014233333333333333332)-0 ;E:7565M۲^M MqMMSMM1MM1MMO2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMO2MM0UMMvMMN^M MMQuM9MjM7Mf7M5MPFM3MPLMMM۲^M MqMMSMM1MM1MMO2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMO2MM0UMMvMMN^M MMQuM9MjM7Mf7M5MPFM3MPLMMM۲^M MqMMSMM1MM1MMO2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMQ2MMO2MM0UMMvMMN^M MMQuM9MjM7Mf7M5MPFM3MPLMM""233@ 쿻> 0]122222222222222222U00  =' 0mw&w 06_(/&0S 2 3X4.6C75Ne[?MuM9MWM8MJM9MUZM9MM:MNM0MNMMpM0MLMM@M0MIMMM0MMM0MLMMLM0MMNM0MLMMM0MMLM0MIMMLe0eMf3MM4M6M7Mf6MJ7MN8MNU9MLU{MuM9MWM8MJM9MUZM9MM:MNM0MNMMpM0MLMM@M0MIMMM0MMM0MLMMLM0MMNM0MLMMM0MMLM0MIMMLe0eMf3MM4M6M7Mf6MJ7MN8MNU9MLU{MuM9MWM8MJM9MUZM9MM:MNM0MNMMpM0MLMM@M0MIMMM0MMM0MLMMLM0MMNM0MLMMM0MMLM0MIMMLe0eMf3MM4M6M7Mf6MJ7MN8MNU9MLU{ 8!8P:9:3(1\p2|)2L1z0T0B0W0u1C722q`w2w!5667 8i9r {4MOM6M8M\LM7MLM7M]NM8MMMNM1MLMMRM/MVNMMPM/MvLMM0MMMP0M@MM0MQMM0MMM0MNMMJecYYTMMUMM2MML3NMMN6ML5GMM7OMM8NMM9NMM:PLMM<KMM=U4MOM6M8M\LM7MLM7M]NM8MMMNM1MLMMRM/MVNMMPM/MvLMM0MMMP0M@MM0MQMM0MMM0MNMMJecYYTMMUMM2MML3NMMN6ML5GMM7OMM8NMM9NMM:PLMM<KMM=U4MOM6M8M\LM7MLM7M]NM8MMMNM1MLMMRM/MVNMMPM/MvLMM0MMMP0M@MM0MQMM0MMM0MNMMJecYYTMMUMM2MML3NMMN6ML5GMM7OMM8NMM9NMM:PLMM<KMM=U677n6 u89W799P00l 1\27#2"22'2U012 d/wwy,''6r57:8f9>: ;3=MLIM8MNyM8MKPM8MIM+MNLNLNMMOM*MULMMNzM*MMM&MRrLMMM!MStMUMMUuMNeMMUx NMMvMMWyMLM MX{LMMMMZ|LMM{MM[ UMM%MJ)LMM'@IMM0MNMM1 MN0 MO1 MI2 M@3MI5JMMLLK8MLIM8MNyM8MKPM8MIM+MNLNLNMMOM*MULMMNzM*MMM&MRrLMMM!MStMUMMUuMNeMMUx NMMvMMWyMLM MX{LMMMMZ|LMM{MM[ UMM%MJ)LMM'@IMM0MNMM1 MN0 MO1 MI2 M@3MI5JMMLLK8MLIM8MNyM8MKPM8MIM+MNLNLNMMOM*MULMMNzM*MMM&MRrLMMM!MStMUMMUuMNeMMUx NMMvMMWyMLM MX{LMMMMZ|LMM{MM[ UMM%MJ)LMM'@IMM0MNMM1 MN0 MO1 MI2 M@3MI5JMMLLK894838_-ٓy+ |Eh,B+[%m!͙f4gr̘f3 4[ʗe2!Gɖc16I ȕb0uOǔa/dYƓ`.$qgŒ_-(T^‘^,&</󵛡0 0 *1 2{3~50Lc^C"8 MM MM MM MMMPoMQq MM MM MM MMMPoMQq MM MM MM MMMPoMQq МOϛi6͚h5,C!  Y Background     JB YJbK6KBKN YJJJJJJJKKK&@@@@@@@@@@@@@@@@@@@@EEEE,C! fedmsg-0.7.1/doc/_static/reorganize-0mq-overview.png0000644000175000017500000005353012207656441024322 0ustar threebeanthreebean00000000000000PNG  IHDRY+sRGBbKGD pHYs  tIME3sf`0MI,""""&YDDDDLd,""""NΞ=ɓ'wpwwG޽1yd$HsH"""$k4hJKK_(..rJ u <8~8d2=wHMMӧ#$*LVLL x  RVEEEVX߿?$Iž={̦ݽ{7$IBM2220n8t m۶Ő!CW_U[$I0 XhP(^˅,{$ Ν3:t(j?-- ${ """_۷CBB}`͛7Mg3%( @~~>v؁ӧOcǎž}-'66q9zS5j )) pm$''#99o|8#di ^5{5^`jߕ`6U[Gq,*k兰0\|8|0&N'СC駟pˋDDDDKZ-$I!o@B`ʕ刎6:t(wL_ϟG5˩>5^\jnݺ?۷o[KDDDԠ$+,, /7|?HKKCQQOԩSxdxgg5;oT*qi… X~= `J[\c>  ѩS'lܸl""""JM2JMMELL ;K. BttPeW^< rcǎfXx1RSS믿sNj/߲{`^u-Y.TTT]v(,,+>ꫯbh4qㆩ1>Q,""""?vGDDD$I,""""bEDDD$I1""""G 9, %%(,,dr~~~VE```.gGEPP8l!8!;;vFA~p15vVʵk]v!22BرZpww J%r9d2M3YDDT6l؀1c0ZM2CQQJKKQ^^ -I9Ca,ɓweee6dSBYTNCIIgB""r*eAP||| ˡT*RR ="""V(--EYYd5,U{rl5??FzܿjL0"WQQ`j \HDDD>6 fLZPFFƎ h4DDD૯6ݾ}зo_xxx 44{89۷Gvid2d2 yǬ;Lh4111(//VKUu`EDDB|ܹ?}KHHxxx?O̙38{,JKKQ-XL8f222~###GFtt4/^$kc[""r*$5j'imѣGȑ#HHH@TTF~6l?d <1ǎCRRIII2d`~۶mԩS>pwwGn?3@,۷oG۶mmjwI{=o={gA3ZoU<ڵkﹸ޽{~{ӭ[p]޽ OOO͛ō7Ol7nŋq!\v %%%fb.cdY\Qz… (**BII ݻd=Ld3\~6`LR y]Æ Ù3g`0PVV["Ռ]{Ett4z F;wftLd{KF6 dffVo߾VSrr2`իd2\`I{=o>>?~$◾;wzU}2tJJ Fۣ]v0}o߾@hh([2>aÆtyvv6J,׿%K`ܸqCHH\]]駟=Zm۶!((;wؿt^۷oŋ͛"77W1T>[6VfSLnjx-z8q5j {9{N$q%1x`!I8uT ""B\tI\tIDDDT[ q9Ē%K1tzog%ømjhaظqi]+_"$-ɲ4T6i$@ٳG!ݻOMwAѮ];T*1equ7m$4Me$aI -ɲ4xzz7o54$%%Ɲls3v(zj!33+W;v8}t^z%!ddeea`ejF3[nظq#:`cEFF"33SLa-XORSSڔ*?`wȐ!p,X>4Z_~PT8yQFatիƏ^{?4,YgϞ$Ixg^za66mڄqaժU9sL泅e˖CvyC`` 6lG)V{=o>ܹ/" m-SAHqFDEE18~gOXp!ڵkWu3ؐA=SDdd$ &MBfff,""j7oĉ~ۡAC|駘9s&<==T*P(LrEgzz*t:ܹSm 1mڴ֓d:J=z+=z@VCR^]\\S#ab}-t{Ehh(<<<зo_߿y`0{t:P m {*5T:q@,a֭[6YFcG!BBBD6mD~~vhӦׯ_ԩSB$1x`#.]$,$IN8!8qh4C|嗦Cĺuĝ;wŋƍŀ+((H;wNt:d@ :{b"??_y ⭷޲k3q̙|nnndrrr* !š*>}233b$ڵk8~xCYYY- ޽wĩٷWj6C Aff&fΜi?;IIBtt4PTTh7oΝ;gΜUpjzyygڵk1l09sT'4):^w?MsNIMAA>dݺuk/Y]ĩ% ˗/Gbb"nf̘t>-/&YLv-vJ yZSgY?zTDGGSJ%._\([d $IVEnn.._ V ItjӇ믿Fǎ?`8vp!''Jnnn~;֬YOSנAWFQQ233rZ^,sH1Z:i1{3Gi\oΝ+JJJdj^N:%Çɵ~~<  Xfi^SN}?OaC]rʰsNP*P((N IDATW\ne ]= I /}h97???\znׯ#v=߿+WDzz:***X(P*ѣƍ=z m۶7ڶm Ft($˝1"j~GII ޽;w@Ν;())^``ݕR OOOxxx EwfDDtr9J%j,$IPT$ V`cDPpssZRB&YDDtg)j5dP(PI9TP5b\1j1a$%j|),""""&YDDDDLI,"""ֆp "",VNj lL9x<  !V>dggc׮]h4ׯ;2ܿՒ- ]>V&ͽܖD?j]`ڵ ,hǎjHNN;\\\T*!mZ"""a3 jʔ)G\\PZZrTTT@LDDСC>}: 4yd$$$ݻ(..FYYzdEDDN%++ gAP :%%%6oŻ ȩחAuNN\.RJJ\.oy&V^gA]Gqq1JKKQVVf3YL٬Z aaardfRDǎ5k4ݼ!;;P*z=g4 JJJq}ӫ3""f0|]*--Ŏ;憹sb…;.z+V6~d1ǎCRRIII2d`6X<3"xxx@Ri\Cm6L:IcR&ah۶-^d٘?]fѯUSٳ'{&YdÇNݱzj̜9Ӯg<Ξ={O?mjem?w:t(x tu1 ٳ'~WӾ?$I1{.wޅ'|}}q 4cl_}.[a,>WLQ>QeNC All,d2bٲe8p@jw߅`@BB._3g̙3}6>35::?< ::f14N۩S'lذu>S}3f@@@:wlgIHH 334},d6DzdK䩩BWΞ=Ex AV^"dffbʕ>8@T Я_zR˗ RYtK,$Ij˗j!I.]j2ر#;l&YDD͝;iiiS߇  .`裏Llڴ ƍêU9sX|h|}!22Xp!fϞ-[4ɺ<IIIP߿?J'OZl:tpKͱl6| c`=zt-7Q}j3YDDl&M&K .$"fB Jd,"""j L2c*dSqwwwye\|*ZeDI9={"==AuJII_$XL3{aAP ѻwoSC_dU1c lٲYYY, /"44$A.2"""{xw1blݺeee,2üyꫯbRB0r,# 'VrJ$R*ѣƍ=zpqqa$d1>JJJp]ܹs:wAII z=  ߊ]򂧧'<==WWWɇӑP*PզX$AR,LZieBWWW jJf d1PB@&AP@VLRpuuZ6%Yz,""rJ ,RTwd13Y...PTP*pqqY,&YDD;SR ILI+***x&az\nBl0R&YDD;SBaֈrrDuƄ]<'K.$l`xxp=1GdN8Tf88PojvdM2iMfI橧b GMβ9MBoJOO#WWWT*tcwj5Lx8ZI&9 nj{gَ"++ gAP kBA&A.CTBTB.;_vvӦMNZ,e;"Bn@VNN3%X* *&I].$""j׿IoƐ$ɦɹN:aF۶m Fcg J,b""j.VBXXve2YCUo6Qո}cСh߾= ѹsg 8ujdFAII z=߿ozUw&YDDԬ?خSaqjΝ(// ݻjl߾O<7ߠx7p=E `0{I˅DD\>qĈذal\.4v8uW^Axx8̦ AFFhu:yܹtXdQKIHH@pp0O?ԩSx/gϞHNN?l6]vv6/ >\%E[r f͚Ν;CV[n5kRSSͦرcF|WՒLwy}Ip{bK&YDDp Obƌ(,,tu/PqV>|cƌ70}t?~5m4l޼-qDFFbܹi|ܹ?}Ugll,&Nt>^,K˅DDl.006lhmu2|p $E&aݺux\'k/͛c=fѣq$$$ ** py_~HKK3m0uTIL۷W\ضmǻW7lիk_;xf<۳Ç;\lԥ.]]F:y$~9N:aȑ矫=z4q]$%%aѢEpww+VO00~xxzz",, G~~ٙ,vqK<+KֱJ*zpBz^L$zoxvNu&kȐ!mP`$x!g DDDTߦM#<<]vų>k׮պ,OOOt:콒4F. pe9sgΜ۷g~:ڵkWFRgyݹs(--s:xgRrZh_ˑ0 Q nnn(..6;U\\ 777xQFzZ۷/ܹs3 1ԩ6l؀\ܺu ~) | B{Oyt& όgG={Djj*)v'vfǏ۷=l?.] x7k]ˡT* /㦮`?/P*X|ip!''Jnnn~JVӧQRR .`$:tOmQQʸSjag35s"-- 0^*!q|ll,w8|0L޽{GFvv6<ɓ'׺| ŋ/_Dhh([o>DFF .ٳe4AAA@XXN ?IIIXv-lvw7.^N9Cd8x i6Pc<3% X~=FdC9>US]hs*Vy߂όgj&Mڵk}Q8``f 1{l\ Z-X8EEEQ1"&Yϝ;:@&o[鈽?~<6m(Uto8y$Y1uTSۧ~7nܰ8xxx ((111Õօy&믿Fdd$ n:DGG _CbԨQaMXto }źu쬎qY ޽;&Ol1ɴTAws̱ ],XÇg}`C:DVVk?~4hj]0 D׮]%KGd03f ʰ}vOjPPV9匬,aժU^+a>|8B/D6m /4];z/_Ɩ-[PRRx b\~ƍڵk1m4p°b 6g!''-ƒ>ݻw/?W&k׮ 1ɪ͛7cĉ$ oyMIIȑ#Ѿ}{kQQQHIIx_?FXX]_wǏGpp0v6l~m5kj.992 111f!!!@hh([kzyyaРA׿1c &&qx7 ;f<#ݻ44h`׮]'۶mCPP<<<0x`8q˖-C=????PmYC߾}޶kӹsg0:(##cǎ?4 """W_Y.{Ehh(<<<зo_߿A;vhЧOĠlcfg0-m }!ɄFIII=uꔐ$I 4n„ ƍ>>{Q@DDDK.K.If6ٳBPPq ?q b޽i܇抈!Dbbb'oؿ999z歷ު4d7n(Ν;'z]Wd5N%%aLTT%Y6m jÒ," @$&&6[u@<զۿPTBR={}nذa0/7o }5nW]\vIva"z T*mȑ#B!޽kwQ!pqq1ldd M㒒d -Ǝ+>lQF "!!4.33S6P 6󳤨Hݺu*ɪo۶ͮ+IV^m: P+ݻwMt: |}}.zZRаAш76K[ 8P|IJ [q999VDZ Zjʕ+b֬Yx駙drJP(bٳg;eL,nEEEVm[gYdU( ٴ%?8KS]~]K[nl:IJ3{Mܹszj`ر8xӷ 3gr<"Cm"##3g6yTL{ %%%?^zt~!d2{=\zЧOZd-\vϼy󐚚.\eݥK[L߫7`]lM[nѣN>]:Bفuw~< ֮]aÆ̙30 gUG7t=<<1'|2L07q=gffƝ?{0w4!!!HNN65JQ(Xr%9f())Aff&^x Z̙O?}"""pE{Laٲe6'WnL$I$I-:-Tkܘĉb'r>Tտնm[ :ǎ VXa篿ڪյv~ŋW^dnDLUMvQ.Vf@( sNd!Iў#7|\Ɖ" m0&+((H5K<[SU[~d}ٳf ߇*rssENN 5 Err/$Iϯu/N6)/g{iim9=z{w޹sGtE~I\xQK]Ji[vÇm]!?TktyRD׮]EJJ(..ĺuDͳ>3~7ō7ӧE=,i Yw{22&Z2Lryf; Ç9je0ĭ[Ĕ)Sd3zDIIIsC,!ظq$Ixxxٿ۷pss}۶mZ6/\.<<<ă>(&O,l!I/u,HId5ڵkb_zJ[ [;N!v-cڶwը$k߾}xG_pA>{$IdfDg3f ÂX뵰?/^Dhh($I\.7{%b<ό3edee0E+z-$//ëӧJ *YPx&ݻwň#uVSyD]_B???R=zW^A=VRL...) 3۟gt+W̙3M}s5g}e'NÝ;w TCu_R 777xyy+  0d?߿ܽ{w1m%%%0 ԼRZ^0j@.CPpssZR䑿HόgrLrܴbIJeJ0b}դA6mژOugjPզZf<3dP(&b}U$YV5Ȥ]\\RT*~Β,3B0KT*ݻ3Yi ӠMS홴[Gyόgd !̶e3YiU9-M3}VҌg39fmZR8 bADܦ.HXDDDDLd1"""""&YDDDDLZJDDN)++ 111HIIAAA Y(F"##jؤ,""r:xG ;;B|Ʈ]hЯ_?;v eee~<`INDDޟ~5c׮]FرZpww J%rR3YDDT6l؀1c0ZM2CQQJKKQ^^n>jdS9tO΂:M< {.QVV^o>-dSBYTNCIIgB""r*eAP||| ˡT*RR =""fjYdQ\\RL,""j6VBXXve2٠T*ѱcGc͚5-~gqjhPRR^^mI5t?4>[;v쀛Ν Gt20 fL!_ǨQgP(0tPXuVHȶej0^dCKHH@pp00|=5]4>>>!!!@hh([>KC]ˬ͎;Lh4ӧbbbP^^ Vd+,,ēO>3feo`q%Tu &M6ž={|:wwBKCFFߏ|ddd`шŋW^w1Q[E-ڪUѭVV!jVĀG/VPܦ b,w/CB8;;xBw""jfC2e \%Kx@vvߟܯՖڑLȑ# |_hv ___l6Çvȁ( $$$_~gNU*, jjjyFǏ\vMwirFs΅\.ѣG}9g}///c"""G6zh\pqqqP(zHo.]ƍ!!!^{ \rIII6߰aA@\\n߾b$''۔3gfΜ)>i$@JJ q,['_7`w""_e#11 5 9s`ݺuprrbʕ8{,vZn|n4qFܺu #F@\\,XF-jkC'ٌQFaݺu^;Cuk2di55KAAz=|||pExٳe' ĹsP[[7nHw)!TQw1`^aaa;OJ$]{,]늉 /c<' ̙3Xhڼ_ | yRrx}fvм<ؾ}{e t:ynmҥK펧XQQ+V Z^^^Xb***l+d2pTWW;F?%"":u !!!8q"a0gv6\~'N֭[mibժUEiiiFWMMݾCJ'lUTT@#==;v@YYv؁tzܿߪb{0sLO>a"""r4۶mbADDpX,$&&}Z>>>F/Μ9#-pssy=)))0a:mqA߷o`„ VOrwwzx۔[~=???7oFYYnnnXz8Πճ8_Ǐ7o233M6I3g͛;w]h?>*++8vJ%\,&O""556N< Ra"q !wRǣU˗cڴiV3f̰ h1n( wzi C~~~3f y444СC6㏡elٲ}mʕ^xWTT`֭Ц;.3b0 dUnPTV@Q_QFƌc΢"ڥ6/ٌRڵ :!ѬZ `׮]>!bcc;%Koߎ[naǎvy{{#''QQQ]_ ۶mÉ' `Xj,_~Fuuu}Im޼ի?YYYX~=ܰbŊ^q.1d53m4dffŋK`41y-oՈc0rDsNL& 2iܸqAtttIT([˰5 իW "" ?`20v^q.w""rڃwӶ˖-Czz4==Fo}}= ~7ݻ/Q{|'""E\]]q!յ2dL&v,FADDDz.?Oc""k…|Ԙ-fϞW1Q__Hm/Cq/uߗnRo %%f]r~"""[bw8pZ-ñn:b"""zV ӦM|ikm=z$/flذzroeffbt0 8ruFx{{[|̚5 /"\]]1ydOz&>}k׮ٔIMMŇ~<455]dNk׮ؾ}M'OC>}PPP $$$ؔͅ`;wpA\pnnn Dff&?8,""I9R(x7qq 11ѦZTeO||< )) Æ ða./bʕ+DFFڔ[f uVL:򊴎M6d"""6Uf999 BUUAg͚\qQE`5ԩSmf̘!W_}p5~ YDDD= 0 R-QvvMNm&}ݻwwX,Vƈ!GZ566vbիWy_Ə66 ԩSpO.]ƍ!!!Zp>&&%%%())AllM 6@(..FrrMDj_E]]_={Hz潾O2ׯ_ڵk_vhy.QUU///#**ʦ/233QYY1c $$D*|q!??&M`={w!]HDDU{c@/^ac8wjkkq F%='g CLL 1}tT*L&t;w@Vw#@TBPHrSH{sΈB!BFB! B!B !B! B! B!B!B!B!B@!B` B!P0B!B(!B! B! B!B!B!B!B@!B` B!P0B!B(!B! B! B!B!B!B!B@@!B` B!P0B!B(!B! B! B!B!B!B!B@!B` B!P0B!BP 'z{{iNJ[~YֲiӦ.B(zɓ;?㢢4ZZZ;::i+/Alݺu̘1)))mmmh0B]OO@YVVVUUUWW!me3G BhmmxC!ٱcGTT])h+/Ι3gή]jkk38B`_"""Ξ=kW+WSVVV677V_֯lٲ[nB3@g&! ۻƮʤ$Ĕ:N744V_֯UTTT^^!BGMNNξ{Çi+/),, thC!~Ñ#GΞ=w (Y_R__ C~!B(P>&[|ہg=fI;ǏOKKyfiii~!B(UUUWsrr}eee6lxg(gH>臂X4cRSS_~޽>=B!P0^}Ulh4srrHz ---:B8::5HR0hW0 0۰5xz9B($3TTTgmܸYE9ƍ0v(׭[M!R||ܹs]]]}||/_.I,tѣG{yy>}A蠠_;vӴi>,!$btt#߿[aϡ~ɹI9/%.e۶mPcm{5rbccϝ;'{C!A㱉/oRzg ]v!wGG>Ë/$$$ 6 ?J3f̸qFSSۑDy-X@D3k׮ha77[nYFO?'ma߿0o<$W8 ֭[ZZZw܉={*mmuѿF2(@ݍEr `_B`? FY,157/ Ɂ '##C^r+eee$AaaDd~~0 'O`P8%KuIk՗< "$-Z DՅ=¶E`YO_e߾}8d+:u*33+--3 B($uww_t&LUa|lD&d?q!=,,,::Z%KRߢF`P8]]T (PA0(V귺zh8@&Zk$Ճ >xV|ͽs`@}q!B0A06 6 W_)@  9֢jX@zV8}}m{ >>> {P8K/$CF6Q޶Ou Vڻw/BBBBRRRzzzPVVV[[!BC? VVVvttcUVI!?Bonܸa2z8eEQ<&\p!"xb~ 7#GvJg=z\\pAMS]o$Ճߏ0uTy!$$j_z&B iY===z-ĉuA68::.]Q3g` Vt钳spppVVLo߾yI0(uuu}Ο?ߣ*$p28+Tx֭[jD++4Z[[]6i$6Q޶Ou V:x_W!rl-I0׃f `=9B(_sMOV0\ƍ7M)ǂ ;;;22J z !5k.^'ptk=3ؿ<{ Mg̘憀<111uԜ&`0Z%,,СCmmB}#C@!P0P0صdabS5mL0WTTյq!B@@@@@uʕMHH@h0:$Czz ޽[WWvZ\"} /| ڣG+pɰTXPiiiG̙3G`P8**[FOغ!Y+%{zz:uݻF,^U( ;Mrcbb&M$> }mZy&6mڄ a,G=B|A ( s@@! ;% H"IJʥKP+ 'Otuu ˓\ rChE0 ƚ|Br"pBJG}, ",ɓ]]]XFP-B.E]*r)V9W2vO~z4Zy+yQ=կ~eD" !;/XP)Pb(yX{pP#j6|lĉ7:, j*,`(!a':::nnnXnnn T+iԨQgF$?.SQ=,, 3p",@x8CYU(W+*[J`moorqKS"YVVe^eY?O}HbA`0D'Ӏ䧡c zꐐ`, 9n8d5`?P0B!N0/T#tzQfmذAVJpkE0TWW[,R0L*=)`2`Pb[9FHJ£l"P47|=cے47[lyꩧP_X,(!+bv)I&b?پX2eʝ;wOQLЊ`,O:%IeRPbv4SL*Nyʹʖ0iҤ|A!~w|mz-6^7|R8ykBь`ONJwagk~t:ݳ>姞z*55U.Y$!!̙3_FK.9;;#6۷/EC* CxZ)V9W26#[< a/=gP _T k>Nymd$r E@@!hF0o="<<B|?w}D ?ANgʕ~~~/6nXYY###}}}qEk֬x̘1@NŁD*=0|ժ[\،`ڱcǤI`)S|g$}WSNuwwX֎(ORs>N_5BGauXޒd(!a$ (((S;nvU Om3B!  c+V۷o n   B SYYbς!>>~֬YNNN^^^n6_~K0 [!B`;t:___ΝCXp]{eR0 J!B(lD9 V_B!vx_x )XgNOOP0 B! 6BOO̙3׮]{رׯ444V_m6oLKڛ`x!B(l={xzz޽;>>>--ƍMMMWpooӮ[!Byy77M6$&&fddtVڊ+4 Al9B- cǎuM~77'Fڊ+;k֬QFѰǖC!ؾ` N:d>|\z I[~%:::z}AA˗Ϝ9=c4Z>?zAhG V!Bl\0455 ;wfdd9߿_SSC[~%[ZZݻ̀ΝhhhĖC!ظ`X[[[VVQ?///vZvv͛7o߾677OD{=ׯYXUUرƍ3O#Kv{ B!ĖhDQ`0 H!&@\؏?mVv^[bowCG4#B!,!666bȬEpL\,.1=ʞW ---YBnjv{B!f$ mh+dWkDCr![ "22% !B(,3bZ$B``pFKҒB! hIZB!-IKB!P008%iIB! g$% !B$$!B(ђ$B3BKҒB``pFhIZB!  % !B(ђ$!B3Z$B`3#//l$-I!bׂ߶}lٲe5K~嗴-I! Mk12sttfˠ%iIB!3 SN5~Yܒ -CKB!Al߾<8o,hIZB!%%%&gSSE_lkkehIB!P0hyp6AKҒB! J%%%M􏯿Znɔڄ$B橮vttO?6oK K;% !B`#DFFf%iIB! Ñ#GDpv6',w$!B(l6OOω'5В$!B֯_5 _۷ohIB!P0)))wak%iIB! B!B!dx1bio5fw%rlD Q#z{O} -bB(!6O;wˋ222.]:zh//SN)86mshhTjubCիW_xQ*)lLݫ?Q۷opwwt*N쪽=::AG0`onnn͓v>_c:99:tHYOװ};~-zL e ~‡k\\\&Om6Ѩ E-hB@qf͚eq>iƌ~!/MKKstt\`?õk I IܻwϟrGidpD,8qQlEEϟ/pQ#%###kjjbccErŊ"'ݹs'ΤK Dݿ HJ@OεkYF (XOװ)K̙3GA0$''# ]#Dߑ޺u3g~!SItCT ZńP0Blooo*իWEAS$ 'HN 1Sرc)IH,"e1~jhh=<}J*WE˛E'|>9}'O4R>/2?5z $Iw$֦$=ZcS'Q-0bKaǎQQQ `(,,,..`(sٵk4CmmmKK˓zoi3Ib333o#1ߏAH7SRRDiSBs͙3gdɒ'N@-wtt>}.]*Y_孷ҊheS+ۧarY Ӯ?:꓃quu}RSS߾}{ݺujN@z '0U/CP^ze*<,cK4iR:i.pjA DDD/0{ʕ+yyy  enݺd8uݻ_}H___GGG5k\pAA0 X1c"ZЪ/_3f̘cǎrJ???>AAA7n|IIIZqlje5S8kx#prL@k=381UxS85lx*=?oD]UTTZ Fu>uҾ-bB(]SSØ 8ShNGQ222"dee766J|tttqplօF),,x](p'}ZŋFŬwU?7+Vhoo/**OXͣ^L0 G9{w}Ǻ(:`0ismٲ2@f͚p ڄbׂQhhC A>xɞ ۨ6ǏݼyYsK̿ϧ'B(G0?t:y6#lFې;z{544hQ0WW?~B`0(apmԈvx%''^AtR^OoN!P0_0|^ZPc^^^OouP''iӦ߿d[ܳgOppӱ;#"" ֭ DIիWgddHT8ϝ;g%%%"Q(8 o}Rjh4FGG988z!&{=ɓ'o۶gϞI\XӟtP|9ܳŏjH0oo︸8:tB!a00;::.X@Lk׮MII)}FFF=zT$WXC" od&$$ 4 ?JKKpO(\Ō3nܸԴ}v)wȑʂAH׋+чȧ~Vs!&{ۺukRRRKKKccΝ;{axeˤw!P8IHAEC!P0 S >/UUUHNoԸ8^'LJ466 0,#5`qvvr[[H^vM[SlFz&G .pٲeH6j og} 7i$o3kUmI0L:577W0}=!BПgggGFF"stt Xfŋܘ773f HxrJ???đAAA7n4y8О={EP)JJJ/_3f̘8s Qp,{{wlFz&aժU2C찧g„ bS(͛z-L_O!P0)S ۏ ``䷿-NFzA$ !  bŊxm1S0ddp_}գFʕ+ zB!AϚ5 iBB°=U; äF>ǡG zB!P0  B!A*`` B(((!B@@@((!  [ 4FmE@! 2Lgff:u/5@@! 2`sNnnnFFP_5jހV8q7iSJ5e(ލviӦ:=B@`(//-++CܙE C R0'OD$ӳiC޷s4$]PPu1cƤutttww 2;!!!7 P ?F#zд( 򫪪89r$((ΐP0Bz ;JKKA{999*… z233G(`;m۶͛73#̜9sڵǎKII~zII a%W0BZe^^^OouP''iӦ߿d[ܳgOppӱ;#"" ֭ DIիWgddHT8ϝ;g֢I(8 o`xjf|h4FGG988رc><(Toܫ Ybf$ʇ})ⵈeee&yE wAEGbGH?{nLiii7n(--mjj`%  鎎 ,E.)+},jG+V<| 1K_|EIHH@he0:4|, Ĝ9szf̘Ə}v$s)wȑʱ8^WS0<; mO? [D޺uk͚5~  Wo 3<ܻw?EE۷O^:77?Z'NWTT@6 lG0:ЂZ1?BTRVV;`ڴiSLLLbbbFFNĀD`{L0  X/UUUHNmU׿; *Z^RˠL`0r pzgΜ8|!BuGS?իeee _; ÀᰤdH$!by$| @WaI^NvbcѫvXjm hhh8|M &;&"7ndggógB>r۷ozf`oaԩZDp%Dh]p˥7o=wMU&,YF ,^ +!Zu75_#I'yyy3g4I=R0[bENNd۷\?O^e\  Bak^?k,'''///j :!TVV P0B((#t:/=B@`_<== sbcc!!8P0BefϞ / P\\L@(!2۶mۼy3' b?̜9sڵǎKII~zIIICC!`   ܹsۻQ{7n655 B` 3` 6LYY;iӦČ NWQQJgH(!2 f5j$G^qrr6mڻ7ߩZSSc4 !P0X^\|̙3>D7N/,c 8"ǏZzjaaaYYYCCCgg'!`  twwTWW߻w1ϝ;3d{Ï`k!N߿_SSCgH(!*MMMUUUnܸ}ڵ,2˃B(++,c 8"7o޼}^nnnB@! c47<| w޽05e0~X41GtR:^  BJ3tvv466"@YC7&TVkkG,!A7.B@! n2G``  B!B(! B` B(!B`  B!B(! B` B( ???**jĉ#Ƞ2uTXDmڴЫ_{=?`/N<> *pMMM---XD)((غu1cRRR:::)UU=?! `0rٳg;;v}}{bbbffN3 mmm[lQ?C_OE썾z~x- aXa8?~<--͛Zaaa F BP~a8?'%ly^%77w"Z;M@@7jرcׯ_w^CCpuu)j5c[Ni_A`UO'/y;wgM@@@7y0999u傥Kz xR=A6O_U.\U((]\\&Om۶ۿiӜCCC[ۂ_}رNNNÇ廍;wKJJ 333Č=+<<6&Lzܹwww77y!)=p6N5Cll,NFDefJ5Xnkkk׮qJTra j|o8իWoY*nl21%j./Uvܩ ªǎr`0$MIhMIR>.ў`O|g&Md>ډѤ'RSSl gsϝ?n:50z`졣޷omKIC\CXg 5ԩS.dWA5+jT-Q#TBBBuu5B3gΈȊ,0+{2=[[#f*'fΜޅڕ`b+VA@@nRi$B'&#ՔCo?/*?|) }e4QS111\e z5f) =+hO0 UVIZɽ0<ڌ3o+R`|מy;ת*.ّpv>w͚5/^%`ͤnǁ8!!!K("o޼ v"TZc^{B kԘrJ??? AAA7nr2Ł٣r*))Y|91caԻP Zz½">n(_Zկ~%@g„ bS`x{*(NĪ.\P,kU9))I^x޽R戮o|V DcNyRj @woςOְ]PPk2e ѧV;oj ^%%%``  Z +WVߏlQפWXc4o߾-f_ h;immřlUMOB@@ĶC||Y&$$_ }z-ó>?q tqq+O(8?ꉟP ` 6NUgB(8S0P0P0/?B(  G6`  3{tOWĮx_xdb B`A{ vvv>}ӧwQXX(oz77yI8p 44iڴiU0L8nܸ!3-,77Y( J[.00gzꌌ i?w;   g۶m7ofD@쇞3g]رc)))ׯ_/))ihh?$ v-"##kkk=*+V@D(>9w\I-888 )`7P?cxg}e8#QR]vaDI=ńh0:4|%>#:C-F^^^ v˝;w EQ0;aϞ=w8{ MMM􇄂CQQɮ#G:;;B\|Y$oxߜ)J5X|WG}$VbDI$322Oh"vD):gff:u킫5Jq6? ,̟?2/(OIB8ئ$;܄|#SNN8 2{A3 8sqhޠ~#:urrrZZVN_SSCgH((zIcz 򇞱ׇ-QlȑUUUXk%[dIBBNҥK=CC;!y(++|b-N>lnn`Û ЊhEEE7nξvZνA=%͛o؊nIZUG={Vd͘1C+Ps2(6k,g$R^&==}ʕ~~~AAA7nrkUqكG5lxc61}Ȇwyd#7(2`=CX:y{P0ص`1 `)S ۰BsA:smmm :;;[ZZz֐ j,qEЯͦjP0P0h+Vݾ}[u6rJ^^"o +++)HϏtaTM8ҿCc5Ϛ5 !!!a8IIIu:tz^aزe9 By2aѣGQSg~]-~O@!P0P0+c+Nd~Ш`9!B@@lP0<>ٌ`,]TS0B!  v@ė쀋ɓm!׭[zꌌ w\\!B@@l֭[k.w܉NHH0СCϧ`UWWG@!P0P0Յ!!!"dFFR00a„4 B!ؠ`^~}``;88܈=,,,::gnxzzP0J~~~TTĉG0uTLeлN6mTRRBG((^zIAAh4 6I$0ȁA, &Ư>dG Vn޼YZZܫWQ~DA^fMPPgpp+"W;Ij`` )]0WW?|㱭NtF@`ςرcׯ_w^CCsW_|ŨQ^}Ղ/^L@@((((\0.]« <Ң```x%)..WU.\Uԓ9rȟg־7D=M@\bri=HѣG{yy>}ZՁBCCM~mErϞ=ӧO;vpww(,, [.00%W^!'$${ׯ_G ee(ڹsP˨k77y!)?Â_}رZ>lPlܸqF/Ty3|νh4FGG988̜9S46 :&`}?6('66v=ɫ Ybf$GEu)`^y(x-beYYIE_xa'G0bhϒo8A~ 'QQQA===q"XvEnJJ K!22ѣ"b 4H-sR_|kB CInZZ(|sU0̘1ƍMMM۷oG;rG,āz"]aӦM×_~eݨG`ݻw# ԲMj a+`!4.*"(((55֭[k֬1DdAJ٪àpjL駟iuwwc`+"_ƚ?`A=Eo(ˌ^yg{U0Q s1Kk߾}~ wDE8qh  v}O_SNeff og4&/_(&OvuuaY*5`ѢEȺtD*DI)q`ȯGע`@$?,K߈VZVB i!mC2""B$gO< QM 999Rz!\`B|oٚW 4*} \kI%^*RV /^Q0P0" >xf{Ï`kF~ݏexzz `pww7?p ,mU#5sKJ_0QvR0P0ص`ػw/BBBBRRRzzzG5X5ykk+0 %%%C:%I ˫ *z~Æ p@Wa" š+z 8F NHp olSO!Jdee(Ԛ xD///IUsA՘d%FOӧck'~ʢWQOa檪u+k W4N   Z:uq 6O{ }O `)uJʤDccxC>%IefJ5Xnkkk׮$`'oիWoY*kYMkdJP /^dbb#fggbaʔ)wQy`ȑ*Mg~jLa=nĉ~bY '(UvܩoI3g$ɗ;? Ͱ׿^plRZZ  6#4ҥKnQ۷=wU&,YP]]̙3e%z>*zF̓O/[nL"T h9)00P 1I.zee(ԚxYg;<n:t>,z)g ɭ[E՘|obO&/޽u_5h4KJJ?w4lzzLL ̥R0z/,,֠O8QUU>}ZT4N    6,6oތj&;;;22&5k\xQňPiƌ"W\燠!((hƍARx8+Q}||ƌ.^i"p!8 E nooo׿X_JLR7y-B-+DkUk`{מykU޽ Q!R&WY49j VTT56iE?oݫW+qЫǿʂmb . {]IKK3h ;)((!Iaaaqq1FA (&%%ѫыLz3B"URRR   ɕ+W*++)4ʕ+٫X"''h4޾}[u~ӛ *`  b5o$hN-[J||Y SYYbW$ cbb.ѣG{aaa *fNUgB(8s`D~ } abcc!_EqD((]ҥKz=JfϞ-}:P0; Ľb B@@m5x^|L}dFctt,ċ (Ԁyfz b?̜9sڵǎKII~zII^# AcwnݚظsNxDܹs?3Rʹ鎎 ,{%?7n( **f rܹ}UPP@@@={xzz޽;>>cFҦ&CB@@V0B\h.]Ɍ sŇfE ɓ'$''gmbKL0!2@Kh+b7'1t `x饗$\$vK5:CDDDII $JGGG}}^/((|3g!!>| oN:_#XqEЯѻ?²!wFi޹EY% W@QYW&mZKF.m67ڵ]dWKJE(.(" rF8 ⹦xy1<ܧ9N*ioܸ!{Qff&-I-e '`0>|xAJ=z q8bI*,999eeeA?`>$+֨]qk``:CIi`cc 9֭ÜǏϽ}ܹsek~gp=4--M__={oooMMMPPЪUx eLd/2ttt455fee2gT[yyy ږA?`>4ЮѺ޽[ZZqG$uvvI8c I. lbaaa``2S/^ ˆKѳ[ZZUmvMa#LzzzP 2TX()?A?`>$+֨+**jjj[[[{{{Z)((qϟ m\\+Sg2$3=|NֳB1z(8!v-YmH  $͛7gggk.--e%pRq)<D#LG$WLTp$* D@@R`Xd 22R ю3!H$$xLH$D"009&` ` H$D@@"` ` ` H$D@@@"H$AǧD"H$i镕555111!*@0H$D"` ` `, rrrRRRbU;"8  &9]s# '''J"H$Zx弼Lm FWWV)** ȑ#%%%mmmKHBAAM#1H$''':988TWW BBGGGOO>}dH!!ήG_J&-IA{EDѲe>Sv `:H      "4j$@ 6l(..FW f $IQQQEEE}}}kk+B푹yss3G)))s,))kooރD@@@]1IOO3466vvv0PB"8YYY]v-++zH 400H$..PXX(; bUHQ8:::55P(+$  J!%ۛrsİ0:~Ypvv'`Pb{4g+TK*:cǥK޽[SSWbGR٢ H  * ߦPS` O8A^e̙XZXX"M4ŋwܩR+B<''(<{byxxjO%>n哣kJRw^CL%$$ ȯH$NvOM 0W{#` ifggWTTi+W+>|69uVׯ_A<* NJ%ӀK[hh(KSXX! … ӧs "8z("nǥ  $pϞ=`}}9s;wn8WQPPO#kb{+a8``rP'`P [ k֬aiOS͛7ʡέbNdddOOP( Yz}uAAYjhh@/8?췿-̖a=ǭ[$`rڵR#**.//aiZZGՕTrR~e04{l  ɦ&LΛ7O%'___[s^$G&yԐd1i``-}aXZ. ̙3gCH)XTraAQ¡ ]\\|||;1 IÇgGA-_ ,**"` ` ` `K1ly,]T(Jnkaa!-whUbL4Uѡ0( ens?lo398(={yիWW@܈&Fnciv .\%peeexښ=C陑AôZ㔜~zy=zD@"` ` p-Kmmm q 8J%I \_N`sR vvv*s!tttEoci~-h!222..&4-ֶtuu) FEE߿|N]{yy9r$"""77NI:Ѓ؅ &1tZ[[ZOO|A[ЛXZZ1H>!uQnIR.0>|x^0( }xxWvז?疲4ᥰ#>|dee!>Xa`3sss@{,{}WʢAq%Zpa=ŋ0qofb'dĆ< @@+A0jY0( [wwwKKKpm۶ݼySV;w{y|}}{{{ߢ;R4رI1c֭[SRR&XĶG,xccc##UVaRBZTgϞ=VVV܇'V000h΅>_ ?%````jmm^Tnrr5kQ[o.2bŊj#wIIIGb| Ϟw؞eǟfHJPz&OOOi =/O3L*՜S__ 2*kF/n###٥)OVKy*^__5YA[^9///S[#EW4 JUF!W |=H͘ ,x ;;;Ɇ0YW\]]5 7?0b    Z1:99 ƀjPZ@_AAWW}ʍzN֠!gw~+vKԩS%=ߍ7$3#%33s;R̩=umbb26xQMj%-5Cʔ)S%i 0$0LX ` ` `!VbRSSЀn#zoo/Q 8Ü@ǖǏ3[=Ȗ[Ǐ}ܹs%3{P>ʟf722R$Ʋ O00,\P q%J>_(666S\\CÄ b vM frnii m۶7orK/^ &0RH(nٲ9$$D<{[5ҀӜaeehggk׮Ɖ{jd/VH+W"n"BAM1c`6LL ` ` `!VbRTTTQQQ__:F^z3SAA2;I<6mp?6YX{8//IDԫPo1ڼysvvvOOOii)=]|B!?@X @ z3RDDĒ%K###50E ` `X®]U^^N_z^DD@@C;5Qx&uv ԫH40[!`ΎzW!0P?ImvMg.Xo'$'322V^=m4##_:-z \lYvv6[s``ɓ/q?s$w8w\s0P=}~\effF@1vᥗ^ohhԹSL?**͛Pr;wa˗Aٚ}&كE _ط0P6&???555&&&l!-"8+mr H4k0IR_\__?++Gv!c_GGZ9;a[InE*ZeSbBaYYYNNNJJJ,IBT[DqPV455ݾ}K0PV#aP>tЪUvu3oll<"0.]zb422Jg'  ԫh0յe-DE箮.eA@paΩSnذ! jj`` ???|'14/ZUUU(> ta+ :::d`ؖ2,???̴-0̝; *Z(kkkz`P]]- A Օ t8+V`<OMM+wyE㏛>3v:y~P eII QWH4+0K0}lܸgΜaK_ϟܹSҸ˷o/fg߿ϞaW!&r쨩A]aWWWsssUUUAASۯ_~֬Y ,زe/FT'`ZZ?/Μ9p H8{lHHŋ+Wgdd)QJD@]]!((h&&&G-u떳/KPqz+M6 w ~~~ =~[W!`R߿f(**}6v)jkkegg`L^ze ıc{-[Z knnꫯO:q .6n6!.PjƍK.9s)j޼y͛?|GgΜ fx8GDDsDG),R˝;wPF(򺺺fÇ(M    ԫHO ;;;=zlhiiihh999322RSSY_~Fʕ+QQQ}ӧ>ܹsӦM+WK3044??~{yy&_5;),,;- ?~[o+?ŋur֬Y+Vヒ\-[{RȮ @H9o~o۷~3g!!! @ & (!V[n1| 7,2G tmm-44C .`T,xA1`*`gBJ8 E  r|1@N  & t݀AӄvbnnFE}7R`jjGDD$%%T020̘1>*LRAi!$ֹNE{{; l1Db5(|PA)*nCpCHH-Ҍ3@^#v [ cQmm{gddRXXZRI7gΜ !TC111555%V 0c0̀{Ő{l}rgYr $ydɒ{N,AOOo_N>-yڬYRIZ*\p!<<(K"RRRrrrʄB:99L`0h@mmm֭["""\gs0_^M}%BFFFQQQmm&[TȸLI5Z@?Ң+ts,iRzZ8{C' T](TH$3]~}{IDL9=A`ڵkIII 1 j_gFDD~ҙW$ 0&655U4"z+3:ܬ,3h1?`VŁݻ٩TΟ?7n"TͬihhU*`H*U***  tXyWZ%y 1' `C 6jdiɮ_XgIDAT * -)4N9===//6UAcÇsp{g$ypq_wgF{55~-yZagd H*U @~0+?H/.\@ hEND3 $aaa׮]*//W" $DR}A\] $AFIsc9ttt9sttt4>*,J/I9#srrԴY jj H$Aa̙ضP*ѣ j ;F@@"( * *k &WWW@@`mm-D"` `4`XbŦM*++RSSܦNjffrʫWJmӳg+++>>>hժUرV__ƌ[nMIIѝH`s ͛+U@@=h"C"$¿7~#9?{ p9s;wNr` XML Jdnnm5x $xɒ%O?9vRfV! O}+((~gmmͪ܅  CCC+zHSD"` `ŋsss;:::g}-MNN]fMyyykkۙرcѣGx(R]]]SS?dI022@(^zT ^}QHm&7oތ$OI%fʔ) @MLJJbK05bY'SVT <==~u'|iW_}Ś#£Uk8\}Cqmۦt`JM)W/'ypU`UU;%9rsJ@"H  Îbxxb uK;٭&&&'{ԩ>ƍc&)}}},foߖ$p$)SHJ"S5`=zh__Zgmm]WWfs=q f2Z!s:SD"` `vlNKK  gD/{uEFFD"8XMd[?>wܱÈ{}l?w{ꩧd]d0ȅNZss(2 MUidHHcNGGǸp p֬Yׯ_޻woǎ&[)PnN H$d^VV.m۶ݼySN`kUZr%:\J=<@(uvvj50"R8΂VNNN\$ BKAY0020 ²Xizڈ:ѡ6whkknyɒ%/eF_f.ݵ3gΜag9#*"Zݻ/_F6k3+׿~ cac>=o~۷y~)pĉϟ Pĺ([KNIv/yXzBW_}U,.K/Ęښddd=k0DEE9rD1~3:Z"tӦMKHH}C]]]KKKmm-\Z^^^&4yB D=DmDRVDn݂S#׿_5k |ꩧO<wZZOO;+dhhȝš %O 6ڵ-sMBX˖-㏳H_h0`ڵ-[{? 97f>221::qʕW2XpJ+QJ+YJu %ڠbeXԕA!b!בbq$`'iii0]1S3`壒!d2s7nܸyfjjjX@ m,ź#VX;<%! 'kPߋ5Ctn "2~C,O8&a4pa+$~hhhp`"7F`(**'`B-[O?eXjz^l@,~A!BIaR!F5 ]v (OB׶b3z^ޛK@@"iX]OUo@I#(u;3-yZeP9i HT;w֟~v_?sYZ hw&m黪,ѩǕ{lbo> `^DR` %~aI˞f<9͑ wZvΎW  Jeƒ6Ν0NQ<9sttt>9tRRRݻwkjjt  $8r%~YMT 4M[YYݻa69s&),,DNd0/^xΝ*u9s&W8qD~r_Ɲ\ B8򜜜@uݻwuP*̢-\SWWW6OOO`!CL%$$ ȯH$NA!333*o}5v,;;MMM 00H 4JJʕ+W> W͜:ׯ_A}_JBv4 \ط&SN,CDž "ӧO ADXqQDfF7UWWc[[[}}3flݺl8o'9?{ 9sΝ;-]Pw 1'q[xccc##UVaR* LMM{{{U4&]'55ԩSV\yUɭ=== iږM#͋-~~~666H'R[TT$OTH:>.50@  $lqq17|g CqFcLF:ᳩD C˗ "`+hF`xgIdddOOP( Yz5L2ڮXZ b2)) PÆ ܆*|'#n|[ZSS?uRy_~ewYנOYf s۷og–g$R^uǒ$ ---aaalrxP,;D-[l >jzo_f~E3f̠O,&kꫯ q@8ӧO#Zy媡!777&&qf+o[0-== l"U3=c֭[l0vZ𡅅d{{;nm!f+iiitqqᱭ8\8 ͈<T|6ԄyIWWW=$CII wwwKN㿾+QsΚAL*k,D;t8{U(F`-_1~ c5킠A`{jEގʔ os2eQTTTQQQ__ڪij];** ޚ69ka~Yw<&pi`!9. s7nܸ{nuurߠEiյyfW_рDQo!,=== , "H~8gh"===//بijRU?\/Mkj-# ֭ҟ_~% H PDDĒ%K ʪj 7&, ,}A%ITP0Jy_> H$&}ж vZVVֈg3 jLE%` ` ` 000+O0=z  u $C@ 6H@fC-zKQQnnnSN533[r%Vs7_$g={v89sΝ;'C2PhժUr $d!FOO ĉѱ~뭷g1e\[?""bŊ6mDg,ը=Ԛ6 dnnm5 رΘ1c֭)))>I|ٳ tĚC k{KK :6yf0.nd]]5k֔n߾]u4Ky0ƒΖ }S I>>˿ vtt`ҒM.̉EwYYYNNS,I;FQx  $ фCUUիjmms7rȎ2#˹G4b6X]533 9yϞ=<>2Y5?  CEIVD"ѐ_*?010յ;eC(k8E@@``Xz5ݒ6-Ig< ` `PQS{{{kjjY `oRgq %&&9!ɥR=DRJ׏*Ѐn˗HHH$z%Ɏ2<+6?(O0,\ n uEFF:bcca=zJMO"eee[ZZo۶͛r. 1clF]xj[;&2#V\'Tv$0^888`(pAGrb``0s/Rr(óI{vwwk^INN𰲲۵kWcc#aUe9 @00Ha;7iB`MHH68'. pi `DR0===//I@@"` )l =<<bڼysvvvOOOii){>A u$J$Ł }Aݵo߾^jaDEDD,YDOO %uDR,--®]UQQ!1͠s~~> $555mkkJ"),q666r dhhx 2+ $ҥKH O?40h00 2+ $ݻHi``੧ھ}ŋܹSYYI0h0@dVH $-2T_I$`jjGDD$%%ttt0h00yyy ẙ+++,$̌D̘1>ZK"ɩ{'000:::%%A={6̊J }~~~jjjLLLib#?JAWb 00L K,y$,XӒ=]sssOOfwsY覦C2+kDSBaYYYNN?4By+h۷otTnZj]}"`Pz{{AAA[Ф#"".\!$FR0J(**Bw}_OW Kee%Tk`kiiA;g$MsDG)(J, Ç;NaÆzj`` ???|'-Zuׯ'P| G=x@$ =(84XvZRRf 4 tuuaG@U5]U988 ^DWXabbbccxJW&W 755}gvuo688Q=FҒ?.2xИQZYYYoߦ!$FR޽[ZZ*@ݝyAۀ)''&~DW 6{>O:?qf244\`-[|}}~*P0--gΜi```oosy{{$={6$$ŋ}ݕ+W322$ϻ0Phhh(2HHEE[[[ v=dHx766n߾ Ϛ c onذ'>}ڵkgQQQTL233… ضm۲e˞x kkE=_ׯpᑑ8΍7nݺߣPv(vP1C__Ç3g3<@#""@9"P)Ν;(#Tyyy]]FUFI6#46O G $0 ;;;l-:::ZZZAee{*8nNN z?0W\N>}Ν6mZr%Xᄡ!__>x 6믁Iaa!ܩlAHu$8,,HzW^y/^looϮ@fX_D}]ɓ ?  @lᤤ7oy$tTT@ d$` H$F $0ŁVa!cZUUU^^^ZZ CϚ}mYٔdF/ $###/]7 |ԩ>h>>>[n}\\\.]:_,K ۷putt\85kּ0(1ݝe˸c1a UFFFH!2!"7oo߾|gΜp]pT 2X!bC$oݺΝ;3#?JeA}:55U+(~hzK@"H  ϟ|7=K$-yKRMM ?ϧDc'O `=wpBv;ٳJQV<`^cbbGhh.))A cǎ!>>>}@[[[^{)0פBk , ,V +SYݹT/T`@h*)));; E"` H$M%PTTTQQQ__ڪ3قfg͡Px_8`wܘvqqᾲ= s>1~ӥRŸې]`bߩ?DDD1EHmTT͛7-D"` ` & J<-Z+{g*577uB_\ N@"H  $...PXX(۷OKԂ^M H$a2@@͊H)att9sttt$7rsvڵcegg眜D"0000L0̜98sRˑѣG 4GF@"H  e!7*00 D"` `zp={ ̙s9WrN]]ݎ;lmm3nݚ"f@@=VXhիWlll]\\$Xdddj*LJ*""bŊ6mw :55mԩfff+Wc[AA~;kkk===D… "ۛy|}}{{{Gp?88S<*~y&R3ٳgxdnnm H$aNZ 7sKL2`dd$̜P( YzԚ---aaalrkoA%iF%01vŹ$` ϟLXkb;\e@S=cǐGNHߢ-[,;;X +̟?ԩS'3<3mڴ'xpO8!z-T]MAΝ vvvuֈI6 H$ ɵkrK{oOII,))n~VfFKFZZ&]\\$w&;;;Iz~$S1'??M655ar޼ymݺu#a %}7JpAS=,%>YaΝmmmN/_ 5KL߿_|_#EEE>ȑ#%%%j} NnT^߿ڴi p y ,,,J7ްwM`D0*ܼ6 /{zzzd}g?(JQc0\F~X59y& 򮧧7ڝ0JFffs%p(TVyК$7  *!Pf6550OaG1Ltuu 00L-I۷o9MLLR$dHݒ4Nn Wޞ{9LFGGgԩƍlȟ}%@L"CN`„ѣG* 203w"{`٘ēC8&%004ÌUTT0-[駟ZZZ>> *cdÐ%i_CJ%3H=1O2>}}}]\\ƍ|0ӃqBBT{ӦM۲eKMM̓YcvZWWW+++)7nx ׯ0aQٰa4uY{{~8k,iUb^L8o0 f /dP}p(!ؓO>d E'CBB,Y"s:ud{ i{UotppN` 0 ђ4 aJLLHKKϯhnn"0>0ww1+!΀8d幹n*,, 9 ;??o@`J pԩ$FSUUuC~ Ž=8uo Ѐ8?o8_ju:%8!0خ  o'N={ҥK%%%7nܰG۷@` 08xBӢXZ uIFFFQQQSSg-++#0 =SN3f'|~O~Ŋ60 ꫧ=eccqر> [[[ˬdw{zl2;;;__BBBqu}VohF` 0 B311QꤱcǞ9sX.=ZRV+vǢahSj&ƛO8QFm-K333[ZZ}\j@X2S,h[`P6mc!0o`pss{ 0,>0;jԨ$R-b7pssFC1p iiijR2L5n!%%EM\fZ6'''))JG_w? Ž} aoD{Ng6\]]h7Jڵk/_NLLP"=""#}$[1y ;GGcǎu-\{7~8zhpppHHHxxSΜ9#}&./ۀ'0 P\\2nܸ˗9moo?sLٔ  zV+W&&&;w.&&&**Jg}}M6=3sΝ0a,ɓ|IP_8pɓv4pjjj ^7oG=i$//իWoذ7ߔH}?~\^/ !22/ޔ/+0##CL]z_ :O`x +**lllloo'000[`*_  rss333%^VG^}`dK 070555;;[FNG``` nݺ)%RG^z5///''G8SRRUR)"222""B׏>跿֭[7nK/-_\Č3$QHqvv'X`?~/?08| RJϗ%]VDzٳg?O~__{NVΜ9&&򯫫̙3%,[L"_}ǎ{=pcǂ$N^%X__/}*=++,AѲr7F(dH1666==]5 91NJ)eT|)%ՙ^֦T`*++U(..sU"rrr._,AB/^pAjduRBʼngJ+þԾ*T9s/TɓR"K҅PI/GÇb{޽ ~7@?֚&kBdm >nJU.*ȚR||z҆ҞҪҶ dې~ީjhhhjj~4(}: Aȗ aN22N2ES9(1))"8iԹi7i=c*f *H/H_ܸqCE}HzJB!ŋv y.\(B00q4Etf  uuuRVWW*NH++" W\Q"77WJd)UR:f 3DZZTے  5+5[)P #KOW'd] T 55&iii iiii% kkk=Um%H;KkS5ݻw3:>>>_}u%i_rVI 0s}}=uᑖ_QQv EP^XX(N׳ 0m߾t'0 _Lrpp8uTRRFjoog/@`Csrr=zV݈`] *"""㳲ZNc/@`C۷oel 'N8{KJJJnܸ^  ʳ>[VVf𵲅][hhhlllFFFQQQSS{1'0gg簰03o|III[Ǝ|3gΘ?𰶶:z7ޫ&fΜicc3o*ILL4=)k֬77x`J}Y+   0&MȈhp璌3F=":NM:7|||_CϟoWVVLr7}_VVVƷ=@` ce,tqqq/6C`j10q^6mZ"?1^[H 0 0,)0XYY}w@aaa=^]upϯ$qҨY]裏~%)--_I5j7;vi  y_gXZ?=]nݺ ^_PP0H -vrri]SSckkK`@`Fʝѱ|Ȋ2eJHHt l 3YxqBBu{-\PCll"|vO]>4uww/X`'NtRqq7nfr5gg\!( q񙙙Z`>RN81((͛CDyymnxԩDFSYYF 0 !!!-3f#vy!Tl hjj*++MII q` i酈I .\+//qFgg'-|nݺZWWWRR"AjsDDa0ƏOKKh4mmml hii4???333==ŋi< YYYeeet:[K=zj b0/**j#;8yfP1x/$uuuC(?(0Ϧ@`@`@`@`@`@`@`@`@`@`@`Q $yIENDB`fedmsg-0.7.1/CHANGELOG.rst0000644000175000017500000017562212221366310016732 0ustar threebeanthreebean00000000000000Changelog ========= 0.7.1 ----- - Make usage of socket.gethostname consistent throughout the test suite (so that we succeed on a koji builder). `3adf17ef8 `_ - Round the timestamp to three decimal places. `b4d541ec0 `_ - Also round timestamp in the php mediawiki plugin. `a590aae53 `_ - Merge pull request #186 from fedora-infra/feature/timestamp-precision-reduction `4f7a35280 `_ - Good logging should be on by default, even if the config file is absent. `ed9bd9881 `_ - Merge pull request #187 from fedora-infra/feature/default-logging `d5ad224db `_ - Sync with Fedora Infrastructure puppet repo `4ffd0ff8d `_ - Send one message for every commit in a push `6a5db8e87 `_ - Merge pull request #189 from fedora-infra/feature/git-post-receive-multicommit `cb2c0d9c8 `_ - Remove dep on fabulous. `2ce15ab08 `_ - Merge pull request #190 from fedora-infra/feature/prune-deps `7ed16dbb4 `_ - CRL serials are base-16, not base-10. `c857d15f7 `_ - Merge pull request #192 from fedora-infra/feature/crl-parsing `4602a1a4f `_ 0.7.0 ----- - Tweak defaults after experimenting with inbound. `e0f7b4c56 `_ - Milliseconds, not seconds. `b142091a5 `_ - Careful with those gravatars. `93ed738e9 `_ - Update status table. `3a4fe06c7 `_ - Add note to fedmsg.meta.base about the internationalization callable. `c306aa1e5 `_ - More verbose debugging for messages that fail the authz policy. `44b63752b `_ - Autogenerate topics.rst from fedmsg.meta test suite. `a6b72b20b `_ - Require fedmsg.meta for rtfd to build the docs. `45fd48e35 `_ - Comment tweak. `c1a6f1749 `_ - os.path.join `f7029be64 `_ - PEP8 `26bc92736 `_ - Merge pull request #129 from fedora-infra/feature/topics-doc `5784e7ad0 `_ - Add fedorahosted to the status table (for #131) `cc9d93753 `_ - Require nose for building docs. `4e89db594 `_ - Force pulling in new docstrings for topics doc generation. `c87d87570 `_ - Update the FAQ. `251371364 `_ - Added a note about fedmsg-tail --terse to the FAQ. `3a3085425 `_ - Added a FAQ note about --gource `c5dc31897 `_ - Avoid that avant garde business. `64e7e35e4 `_ - Let pyzmq version float. `85e66da62 `_ - Remove hardcoded topic prefixes. `b89fd35fa `_ - Produce topic_prefix_re from topic_prefix if not specified. `22268cd66 `_ - Use the test config for the fedmsg.meta tests. `f39d323cd `_ - Use a test topic_prefix in the tests. `c47717ee8 `_ - Merge pull request #133 from fedora-infra/feature/remove-hardcoded-topics `ad86b1f46 `_ - Link to list of topics from the consuming docs. `85b20941b `_ - Discuss the topic wildcard in the consuming docs. `a44268f07 `_ - *Old* messages in datanommer's db have no 'username' `611b31b28 `_ - Bugfix to fedmsg-collectd. `e230c58a8 `_ - Collectd lessons learned in production. `e6b60ab3d `_ - Remove redundant code. `12478b06f `_ - Use consistent modname calculation. `e3d1c0d76 `_ - Use correct topic prefix for fedmsg.meta tests. `4fe673210 `_ - How did I miss this import? `8121e8177 `_ - Fix up the test prefix again. `7cb5d8122 `_ - Split the crypto module out into two backends. `360eed323 `_ - Skip fedmsg.meta tests if underspecified. `7478d96a3 `_ - Add stubs for fedmsg.meta.msg2{emails,avatars} `089b2f9ab `_ - s/gravatar/avatar/g `23c58d9b4 `_ - Use fedmsg.meta.msg2avatars, removing the need for python-fedora. `0cf31533c `_ - Merge pull request #127 from fedora-infra/feature/careful-with-the-gravatars `58fdfe026 `_ - Merge pull request #135 from fedora-infra/feature/crypto-plugin `877904bf4 `_ - Fix a typo caught by puiterwijk `4445f02d9 `_ - Merge pull request #136 from fedora-infra/feature/python-fedora-removal `6ddce9c65 `_ - Update fedorahosted in the status table. `11d0e7e2d `_ - Add pastebin to status table. `7897ad495 `_ - Allow sets to be json serializable. `48e480e7f `_ - Merge pull request #139 from fedora-infra/feature/json-and-set `9a4ac505f `_ - Merge pull request #138 from fedora-infra/feature/add-pastebin-to-status-table `2ddc1c7b9 `_ - Add testimonial from @oddshocks. `0bc6428a1 `_ - Merge pull request #141 from fedora-infra/feature/oddshocks-testimonial `9f9797f73 `_ - Mark mailman as done in development. `c986b1a89 `_ - Use ZMQError from the external api, not the internal one. `48a551391 `_ - Add fedmsg.crypto to the installed packages `c684c7bfd `_ - Listify the endpoints in tail_messages `73b76a1be `_ - Stub out the x509 backend when m2crypto isn't available `ead958015 `_ - Merge pull request #143 from laarmen/bugfixes `34d8ecbf3 `_ - Link to @lmacken's koji consumer example from the docs. `54f9e0f00 `_ - Provide more debug info when endpoints arent found. `adf9a8c8f `_ - Merge pull request #144 from fedora-infra/feature/debug-info `2174949af `_ - Parentheses to excess! `c51f7ac49 `_ - Remove unnecessary statement. `55f385f92 `_ - Fix the Python cross-referencing syntax in the msg2processor docstring `37933f9a1 `_ - s/fedmsg.text/fedmsg.meta/ `6b556e9cd `_ - Add a clarifying comment to the irc bot docs. `28a315291 `_ - Fix permissions of test_cert conf files `bfa2554df `_ - Merge pull request #150 from laarmen/fix_permissions `ec46de2c7 `_ - Add msg_id field into published message `0cd70819e `_ - Update test suite to check msg_id field `07a5ffcd2 `_ - Merge pull request #151 from hguemar/develop `1278670aa `_ - Minor rearrangement of a title `9f2723528 `_ - Upstream, not Ipstream :-/ `639afbca0 `_ - Merge pull request #152 from amitsaha/develop `7b9c9d012 `_ - Support endpoint querying via DNS SRV records `7c877f1d1 `_ - Add some error handling core `59e42f755 `_ - Use just the hostname, not the fqdn. `f2042077b `_ - ircbot: Use notices instead of actual messages `219a9c3c3 `_ - ircbot: Use a config variable 'irc_method' to choose between notify and msg `2e4ffe9bd `_ - Merge pull request #153 from laarmen/irc_notify `6e049c3c2 `_ - Move some standalone methods to their own module `4f0a2acb6 `_ - New ReplayContext `d5b24ed44 `_ - Add a first persistent store using sqlalchemy for persistence. `8790fcb8e `_ - Add tests for the ReplayContext and SqlStore `95d05b7b6 `_ - Add some documentation `e3537c66b `_ - Hook the store to the FedMsgContext.publish method `24e5da115 `_ - test_replay: Add a license and reorganise the import statements `4358d9959 `_ - Initial draft of fedmsg-trigger. `da786b854 `_ - Core: fix a typo in warning category `53d4db169 `_ - Core: add unit test case for FedMsgContext.send_message `53e851f68 `_ - Merge branch 'develop' into feature/fedmsg-trigger-cmd `808d1c718 `_ - core: Add a get_replay method to send a query to a replay endpoint `37780a2e7 `_ - Add exception handling for server-side error. `ad8459831 `_ - Fix the test configuration not to enable persistent_store `94e1400ae `_ - Add tests for get_replay `68dc3468b `_ - Merge pull request #155 from laarmen/feature/replay `c7b47d58f `_ - Added an inline comment for #155. `b012336f9 `_ - Merge branch 'develop' into feature/fedmsg-trigger-cmd `629223b63 `_ - Add forgotten import. `ace6e41f5 `_ - Reduce unneeded output. `2ce20351c `_ - The test for #155 actually requires sqlalchemy. `ffc3b07a6 `_ - Update the topology diagram. `fcb6c7712 `_ - Output of ditaa. `167c2d418 `_ - Make tail_messages care about seq_id and ask for replay if needed. `505f20c8a `_ - Move the replay querying to fedmsg/replay/__init__.py `65ec538da `_ - Add timeout for replay polling `307e9480f `_ - Syntactic fix for SqlStore `eace25474 `_ - Update the tests to take the split into account `8b724ac2d `_ - Add replay support to the base consumer `313a33c92 `_ - Validate replayed messages when tailing. `576cb6b84 `_ - replay: only append the message if it isn't present in the replay `4642e5ea0 `_ - Add some documentation for the queries `0f8cb137e `_ - Add some documentation for the queries `db13674c9 `_ - Color to alpha on that topology diagram. `f0e6a12a2 `_ - meta: test more strictly the result of handle_msg `726f56678 `_ - Resolve errors in unit tests in Python 2.6. `50b505906 `_ - Merge pull request #162 from laarmen/fix/meta_handle_msg `190e9b9b3 `_ - Merge pull request #161 from laarmen/replay-misc `42785787a `_ - Fix test config for py2.6. `e2a0dcae9 `_ - Use TestCase.assertDictEqual instead of nose.assert_dict_equal `8a227698a `_ - Move the DNS query for the SRV endpoiints from FedMsgContext to config.py `7bfe99afd `_ - Merge pull request #164 from laarmen/fix/py26-tests `84dc90204 `_ - Some more py2.6 fixes. `c4a8996ce `_ - Document the srv_endpoints config key. `97eb4d9a7 `_ - Merge pull request #165 from laarmen/feature/srv-records `87f06a575 `_ - Merge remote-tracking branch 'upstream/develop' into feature/replay-client `2aa4b5448 `_ - Document the 'replay_endpoints' config key `bb24ade09 `_ - Document the replay_name attribute in the moksha consumer `7ccabf30b `_ - Avoid the replay codepath in tail_messages if possible `ec9043f76 `_ - Fix test failures `627ae227b `_ - Use the correct log object here. `d5ba0c8d2 `_ - Merge branch 'feature/replay-client' into develop `fded58d19 `_ - [docs] Break out the fedmsg hub into multiple instances. `4f6a952f3 `_ - Rebuild diagram. `0ad68923a `_ - Rename the arguments to include and exclude to be more verbose `9f4890a7f `_ - Merge pull request #158 from fedora-infra/feature/fedmsg-trigger-cmd `0d5a432c3 `_ - Make tail accept --include and --exclude to be more verbose and clear `70d5ee7a7 `_ - Merge pull request #167 from fedora-infra/feature/rename-arguments-for-tail `44ccafe93 `_ - PEP8. `25fc740ba `_ - Merge pull request #168 from fedora-infra/feature/pep8ify `702724e50 `_ - Fix misplaced parenthesis in replay codepath avoidance test `3581ff934 `_ - Make the services start after network.target instead of sockets.target `96a1d92cf `_ - Fix an undefined name when catching a ZMQError `8088b11b3 `_ - Merge pull request #171 from fedora-infra/feature/start-after-network `dd4a9ba50 `_ - Merge pull request #169 from laarmen/fix/undefined_variable `3210d11e9 `_ - Merge pull request #170 from laarmen/fix/stupid_parenthesis `60346e095 `_ - Merge pull request #160 from fedora-infra/feature/updated-topology-diagram `e0dd87a8e `_ - Fix a 'zero length field name in format' error on py2.6 `c2ee4a263 `_ - Fix a few more '{}'.format calls so they work properly on py2.6 `e63c8f158 `_ - More 'zero length field name in format' py2.6 fixes `8efba4a11 `_ - Make fedmsg.meta "idempotent" for #140. `3724bb311 `_ - Update tests to reflect new fedmsg.meta.msg2title realities. `e1cb70e94 `_ - Make it possible to run the hub with specific consumers. `5d9c528c3 `_ - Merge pull request #173 from fedora-infra/feature/idempotent `7f2d89bc2 `_ - Merge pull request #179 from fedora-infra/feature/explicit-hub-consumers `ca0bae7d9 `_ - Pass all arguments for signing and validating through kw `0841eff78 `_ - New GPG backend `bd3d6237c `_ - Merge pull request #180 from laarmen/feature/gpg-backend `2195f1193 `_ - Skip certain gpg tests on travis since their environment is weird. `983d87dbf `_ - Update an old no-longer-correct comment. `c2289a7a7 `_ - Add user and package centric filters to fedmsg-tail. `f4046747f `_ - Modernize the cli tests to match the new realities of fedmsg-tail. `199f8e493 `_ - Whoops.. this never should have made it in. `7966dc2e3 `_ - Merge pull request #183 from fedora-infra/feature/tail-by-username-or-package `0dada8907 `_ - prefix uuids with a year to reduce risk of collisions. `242a3b7f1 `_ - Suppress moksha's duplicate log machinery. `344a9dbd5 `_ - Some nicer default logging with :tada: timestamps :tada:. `4503c35a4 `_ - Test needed updating for new log format string. `6fa8cc897 `_ - Merge pull request #184 from fedora-infra/feature/uuid-prefix `b8bda91a6 `_ - Merge pull request #185 from fedora-infra/feature/fix-logging `68c61a077 `_ - Start keeping a changelog. `901059ecf `_ 0.6.8 ----- - Disable the the relay configuration by default. `8e6bcf29c `_ - Revert "Disable the the relay configuration by default." `4d8833245 `_ - Update the status table. Koji, planet: done. New: nagios, coprs, secondary arch compose. `6a2725da5 `_ - Fix doc typo. `782879fa7 `_ - document irc_color_lookup config value. `c8490abcf `_ - Doc updates. `d8e4825a2 `_ - Add sigul to the TODO list. `076c7d824 `_ - Mark askbot as done in the status doc. `e1eb2ad93 `_ - By default, have the ircbot log into a different channel. `a732a212b `_ - Add fedocal to the TODO list. `79c9735ae `_ - fedmsg-tail --gource `766dad95f `_ - Grab and cache avatars from gravatar.com (for --gource). `60f321ad4 `_ - Colors for --gource. `8e6ee5c75 `_ - Use a fake user if fedmsg.meta returns none. `e03149450 `_ - Some pep8. `b56f5afcb `_ - Remove comment about keeping old-form tail messages. `f3fec8ea8 `_ - Play with tree layout: organize by service (--gource) `489d6b77f `_ - Cosmetic name change (--gource) `efa475856 `_ - Playing with colors. `adcf3d0ff `_ - Clarify functional thing /cc @abadger. `3bd97a062 `_ - Use python-fedora for gravatar construction /cc @abadger. `e0648e7f2 `_ - Needed an extra int() cast in there. `82a72c0b9 `_ - Optimize by only checking for cache dir when necessary (--gource). `44775bea2 `_ - Typofix. `56f210d23 `_ - Got the order reversed. `d6603f29a `_ - Make gravatar cache directory configurable (--gource) /cc @abadger `ca8664ab7 `_ - Fix python-fedora in setup.py `21f048b39 `_ - Fixes for the unit tests. `39e8b95a5 `_ - Merge pull request #123 from fedora-infra/feature/gource-omg `8b9100b4c `_ - Some PEP8. `8aefb3c59 `_ - Reorganize fedmsg-tweet into a single-purpose hub like the other daemons. `9d2ab138d `_ - Merge pull request #124 from fedora-infra/feature/tweet-as-hub `24006dedd `_ 0.6.7 ----- - Make fedmsg-tweet a little more error-resistant. `d0ad62d37 `_ - s/ralphbean/fedora-infra/g `58e7c8571 `_ - Added a FAQ to the docs. `3257e69b4 `_ - Added a note to the consuming docs about trusting messages. `78a6babf9 `_ - trust, but verify. or... don't trust, and verify `937da1d9e `_ - Allow sending unspecified messages. `9758dbf30 `_ - Lighter-weight default endpoints config. `74dad0c6e `_ - Make fedmsg-irc colors configurable. `30ce1d24b `_ - Link to app best practices. `49cfcd903 `_ - Commas. `9376a2bc0 `_ 0.6.6 ----- - Typofix. `80d31a0c5 `_ - Load and use remote cert for end-user validation. `8b7ce2dfc `_ 0.6.5 ----- - Check that signature and cert are strings before we do anything with them. `64033e2ca `_ - Oh... `b08af04ac `_ 0.6.4 ----- - Uh... ignore that. `4fbc37dc1 `_ - Update to the git hook to make working with the authz_policy easier in the future. `dd706bcb9 `_ - Loop over outbound relay endpoints until we find one that works. `8a3f19b93 `_ - Add missing import. `5e88a82a7 `_ - Added systemd service files. `4b90d2988 `_ - Remove unnecessary log statement. `9fd8e79fc `_ - Graceful handling of unwieldly links in fedmsg-tweet. `e8d81e67b `_ - PEP8. `2a06db1bd `_ - Handle error when the CRL is not writable. `8189ac8bb `_ - Remove some example endpoints from the default fedmsg.d/endpoints.py `d91b5f8d9 `_ - A fedmsg logo header for the docs. `e4205e452 `_ - "version is required for logging config" `6dc15757f `_ - Merge pull request #109 from HousewifeHacker/logger_version1 `7463bcf93 `_ - Rework of the koji plugin. `99aed57c1 `_ - Logo! `ce6d2480e `_ - Remove duplicate help strings. Fixes #110. `f9691fce5 `_ - Fix crl permissions issue. `e4ebafe1b `_ - Re-enable moksha logging in fedmsg services. `a17b21d4e `_ - Don't suggest that users use /tmp in example config. `43d8038ef `_ - Mention identica on the front page. `150c2f438 `_ - Quote whack. `3b0f8036a `_ - unindent `7d03835a2 `_ - Add pkgdb to the status diagrams. `c3689d514 `_ - Fix a typing bug in consumer validation. `da98e5359 `_ - Added logging to some consumers. `7659689a2 `_ - Stop fedmsg-tweet from falling over. `ee7bfe75e `_ - Update fedmsg/meta/__init__.py `1bcca133d `_ - Merge pull request #111 from mscherer/patch-1 `82284badc `_ - More specific logging facility. `20c45f265 `_ - Sort keys in php before signing. `1e5b302d6 `_ - Encode JSON consistently between php and python. `402bbaf6c `_ 0.6.3 ----- - Use logutils to fix dictConfig on python2.6. `e558d96ad `_ - Re-added forgotten import. `6291d20cb `_ - Fix wonky py2.6 behavior in tests. `bfb2e258d `_ 0.6.2 ----- - Updated docs on fedmsg.meta plugins. `0780c6713 `_ - Finally, pieces settle down for fedmsg-collectd. `a359a1e1f `_ - Consider adding fedmsg hooks to mailman. `7c82ff2f4 `_ - zeromq3 bugfixes to zmq.HWM. `d652c1c5e `_ - PEP8 `ed95bde96 `_ - Added a note about deprecation. `7b0ca2df5 `_ - Allow defaults for load_config. `f98c2216a `_ - First unittest for fedmsg-logger. `8602dfc8f `_ - Py2.6 compat. `258c9ef33 `_ - Prepare the way for multiple runs of command tests. `459c21560 `_ - Testing fedmsg-logger --json-input. `86119bfbd `_ - Tests for fedmsg-tail. `de0010738 `_ - unit test for fedmsg-relay command definition. `9df3b92ed `_ - Merge branch 'feature/basecommand-tests' into develop `c0cc49cad `_ - Converted fedmsg-tweet to a class. Using logging module. #102 #104. `91332aff8 `_ - Set timezone to fix tests in travis-ci. `476e1d107 `_ - Attempt to using logging more consistently. #102. `c953b1877 `_ - Draw logging config from a dict. #102. `9d55a7950 `_ - Convert announce command to BaseCommand. `98fa69692 `_ - fedmsg.meta and test for announce command. `69b899bb7 `_ - Rename fedmsg.meta tests. `da08438cf `_ - Convert gateway command to BaseCommand. `3dd6e587f `_ - Convert hub command to BaseCommand. `7e39ec360 `_ - Convert irc command to BaseCommand. `2bd4fe238 `_ - Remove deprecated "command" decorator. Closes #104. `c5b8bdfdb `_ - Fix formatting in fedmsg-tweet log. `3efd6e008 `_ - Some inline comments in fedmsg.core. `3fadfd4dd `_ - Use a single logger for the core fedmsg context. `433c0abb0 `_ - Add support for TCP_KEEPALIVE to fedmsg.core. `5deffe6f9 `_ - Documented TCP_KEEPALIVE options. `d354fd34c `_ 0.6.1 ----- - Rename fedmsg-tweet.ini to fedmsg-tweet.init. `fbe5ca53e `_ - Playing with padding for fedmsg-tweet. `d64e86c71 `_ - Fix bug in fedmsg.text for tagger. `cf446c13a `_ - Decorate fedmsg.text top level functions. `d3afe620f `_ - Preserve decorated function name and __doc__. `5eca4a9c1 `_ - First pass at fedmsg.text.msg2objects `3d0ddc0ff `_ - Bugfix to top level fedmsg.text decorators. `b8acefa21 `_ - Distinguish between nested wiki objects. `2d2be375a `_ - the green color is hard to read `03642619d `_ - Merge pull request #99 from sontek/fix-color `48c5539ac `_ - If validate signatures is turned off, we sholdn't try to pull them from the config `4a024572b `_ - Merge pull request #100 from sontek/fix-validate-signatures `6dc71ef5a `_ - Preserve decorated function name and __doc__. `04c0f1d82 `_ - Merge branch 'feature/msg2objects' into develop `f4c86ce5d `_ - Keep a record of the wrapped function so we can easily write unit tests for it `e87b24284 `_ - whitespace for pep8 `20fdd121f `_ - Merge pull request #101 from sontek/allow-commands-to-be-tested `f2a08f5dc `_ - Tweak test to reflect change made a few commits ago. `e5411f933 `_ - Updates to fedmsg-collectd. `7003acd06 `_ - Broke fedmsg.text out into a plugin based system. `829d0546c `_ - Created a base command class and setup logger and relay to use it `a03e893ce `_ - cleaned up how the config is passed around for the BaseCommand `ac021a536 `_ - added a logger to the basecommand `c3b0b3b9b `_ - converted tail to command based as well `d83b6ed3b `_ - removed a hanging basicConfig() setup `d46fc0a99 `_ - Stream to standard out, not error `d83a919bd `_ - Create a function for get_config so base classes can override it `6004cd9d0 `_ - Start of a rename from fedmsg.text to fedmsg.meta `5860e0c95 `_ - s/fedmsg.text/fedmsg.meta/g `2ea134539 `_ 0.6.0 ----- - Use an __icon__ property so we don't have to pass a message in to get a static icon `15f87ebc9 `_ - Merge pull request #86 from lmacken/develop `1610181c1 `_ - Fix busted doc references to json-input. Thanks to Bill Peck. `f8fe837f3 `_ - Add a warning about incorrect formats for --json-input. `593210c36 `_ - Small update in the development documentation. `4d6a97af3 `_ - Merge pull request #87 from pypingou/develop `664b0e190 `_ - Include fas username in git/scm messages. `c725b94ff `_ - Mention other projects in the docs. `0f17057dd `_ - Include the username of the owner of the current process in every fedmsg message. `55a52eb2f `_ - Added a DIY section to the consumer doc. `63c46463f `_ - Add new field to pkgdb2branch for the tests. `d5c0dea10 `_ - Use new usernames from git messages. `27ba527b1 `_ - Optimize fedmsg-tail. Fixes #94. `595f4efab `_ - Improved docstrings in fedmsg.text. `bca8f962c `_ - Tests for new username and package interfaces to fedmsg.text. `b9599ac2b `_ - Top-level interfaces for new username and packages fedmsg.text interfaces. `eb79a44ac `_ - Use sets, not lists. `b98227580 `_ - usernames and packages for tagger, scm, and supybot. `e85f45bb1 `_ - Updates to tests. `9c5a7097e `_ - Finishing off username and packages fedmsg.text processors. `3a304e5e4 `_ - Handle time.struct_time in fedmsg.encoding. Fixes #60. `4c9ffafce `_ - Remove question about redundant fedmsg-relays. Fixes #68. `2c4700569 `_ - Initial fedmsg-tweet tool done. `17ea75d33 `_ - Statusnet support is almost there... `1ec1a6801 `_ - Be more careful with links that are NoneType. `35bb42053 `_ - Workaround some rate limiting. `79a9c263f `_ - Simplify fedmsg-tweet config. `b0d4ee15d `_ - Tweak to link padding. `759331085 `_ - Docs for config values for fedmsg-tweet. `37a6f1ffd `_ - Add init.d script for fedmsg-tweet. `03a8a453c `_ - Catch another exception from fedmsg-tweet. `09f335825 `_ - Merge branch 'feature/twitter' into develop `f355d9304 `_ - Add logrotate config file. `c093773b6 `_ - Fix deficiency in the consuming docs pointed out by Amit Saha. `a1210557f `_ - Mark "planet" as partially done in the status table. `98af9d3ff `_ - Added TODO to fedmsg.tail_messages. `8e04f726a `_ - Use thread-local config for fedmsg.tail_messages. Fixes #96. `f318cc1dc `_ - Added a note about #fedora-fedmsg to the intro docs. `5d83bf8dd `_ - Add pyzmq-static to the list of deps pulled in by rtfd. `d69a2f01f `_ - Include (..more) for scm messages if necessary. `de401314f `_ - Typofix. `50ee0be97 `_ - Authorization/routing policy first pass. `7094470a5 `_ - Grammar. `921d250a4 `_ - First draft of a fedmsg-announce command. `b91356a1c `_ - Validate messages in fedmsg.tail_message. `12da08d5f `_ - Better default ssl config. `90040bb8d `_ - Typofix to fedmsg.tail_messages. `fbf1e0efa `_ - By default, have CLI commands log errors to stderr. `df5aaf2fa `_ - Complain if validate_signatures isn't in the config. `eb12c2efb `_ - Make fedmsg-config *not* a setuptools script. `a7860d196 `_ 0.5.6 ----- - Remove inter-test dependencies by creating fedmsg/tests/common.py. `4beeb6c61 `_ - Add fedmsg.text.make_processors(**config) `fd67b240f `_ - Add __len__ to the ProcessorsNotInitialized exception `a9641eb30 `_ - Merge pull request #83 from lmacken/develop `0c206f06f `_ - First stab at a fedmsg-collectd command. `060e208c8 `_ - Make collectd-interval into a CLI argument. `a5d46f973 `_ - Converted fedmsg-collectd to use the moksha-hub machinery (efficiency). `b2a9e4838 `_ - Return empty strings from our text processors instead of raising exceptions `b7adf118c `_ - Fix --json-input examples in the docs. `28561b84c `_ - Merge pull request #84 from lmacken/develop `2f1de170c `_ - Updated docs for fedmsg-collectd. `e3a3e84d6 `_ 0.5.5 ----- - test script. `e886de9f1 `_ - More tools for testing the busgateway. `79f28c4a3 `_ - Use bash correctly. `eaf263f12 `_ - Configurable outgoing high water mark for fedmsg-gateway. `bdc51e171 `_ - Introduce the zmq_linger code to the php mediawiki plugin. `1ff3573b6 `_ - Move initialization inside the mediawiki hooks to reduce the number of calls to fedmsg-config. `f7e1e6b1d `_ - Add fedmsg.textmsg2processor and BaseProcessor.handle_msg methods `05c3b7138 `_ - The new handle_msg method assumes __name__ == msg['topic'].split('.')[0] `ede69d2cd `_ - Make the launcher start up more client threads in the stress testing scripts. `b1300707d `_ - Add post_init_sleep back to the default config. `cd6363692 `_ - Specify IP in the default config. `699836068 `_ - Comment out the stg endpoint in the default config. `1293e7d3a `_ - Refactor the msg2* helpers and make them "public" `166ef94fb `_ - Remove the obsolete BaseProcessor.handle_* methods `0e83c6392 `_ - Update our text processor regex to glob all of the subtopics `df7b5af21 `_ - Move the DefaultProcessor methods into the BaseProcessor `b7df4aa68 `_ - Invalidate the config cache in the test suite `bfbe135b2 `_ - Remove the obsolete BaseProcessor.handle_* methods `529419198 `_ - Update our text processor regex to glob all of the subtopics `0a506d873 `_ - Move the DefaultProcessor methods into the BaseProcessor `bad8c1cf3 `_ - Invalidate the config cache in the test suite `2864aa8b2 `_ - Rename 'Tagger' text processor to 'fedoratagger' to be consistent with the topic `3b7b844ad `_ - Update a docstring `67e8a3534 `_ - Use os.path.join `b51381720 `_ - Remove _listify, as I wrote kitchen.iterutils.iterate which does this too. `aeedefa93 `_ - Pass the config to msg2processor. `70a3b51a8 `_ - (php) handle case where $revision is undefined. `6e95de53a `_ - Don't cause load_config to get called at load time. `ba3fb0752 `_ - Return a tuple of the topic remainder from handle_msg `8207d68d4 `_ - Load the config in the Base text test class `5ef9aca4d `_ - Avoid using the @API_function machinery in test_hub. `1040f20f9 `_ - Pass the config to msg2processor from msg2repr `6cf20d59e `_ - Merge pull request #82 from lmacken/feature/refactored-text-processors `14ec498a1 `_ - Marked things DONE in status table. `459747840 `_ - Merge branch 'develop' of git://github.com/ralphbean/fedmsg into develop `9fabe0997 `_ - Use kitchen iterate in fedmsg-relay. `6b312fee8 `_ 0.5.4 ----- - Remove full text from mediawiki messages to reduce spam. `3c95b1cf6 `_ - Recursively merge dicts in fedmsg.d/. Fixes #74. `38a57910d `_ - Fix missing endpoint test so that it consistently fails. `adbb83b2f `_ - Fix the mediawiki icon `2c80f6ecd `_ - Update the mediawiki tests to check for our new location. `a697ebf58 `_ - Add gravatar support to mediawiki, tagger, and git messages. `f062cdcee `_ - Merge pull request #81 from lmacken/develop `e02db5526 `_ - fedmsg.text entries for tagger rank changes. `28816fc35 `_ - Change default FI endpoint to be correct for stg. `df224f57e `_ - Update manifest for testing under koji/mock. `183f1a355 `_ - Roll our own gravatar for git secondary icons. `56cd63851 `_ fedmsg-0.7.1/fedmsg.egg-info/0000755000175000017500000000000012221366312017635 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/fedmsg.egg-info/PKG-INFO0000644000175000017500000000213612221366312020734 0ustar threebeanthreebean00000000000000Metadata-Version: 1.0 Name: fedmsg Version: 0.7.1 Summary: Fedora Messaging Client API Home-page: http://github.com/fedora-infra/fedmsg/ Author: Ralph Bean Author-email: rbean@redhat.com License: LGPLv2+ Description: Utilities used around Fedora Infrastructure to send and receive messages. Please see ``doc/`` or http://fedmsg.rtfd.org for more info. Build Status ------------ .. |master| image:: https://secure.travis-ci.org/fedora-infra/fedmsg.png?branch=master :alt: Build Status - master branch :target: http://travis-ci.org/#!/fedora-infra/fedmsg .. |develop| image:: https://secure.travis-ci.org/fedora-infra/fedmsg.png?branch=develop :alt: Build Status - develop branch :target: http://travis-ci.org/#!/fedora-infra/fedmsg +----------+-----------+ | Branch | Status | +==========+===========+ | master | |master| | +----------+-----------+ | develop | |develop| | +----------+-----------+ Platform: UNKNOWN fedmsg-0.7.1/fedmsg.egg-info/SOURCES.txt0000644000175000017500000003777212221366312021541 0ustar threebeanthreebean00000000000000CHANGELOG.rst LICENSE MANIFEST.in README.rst logrotate setup.cfg setup.py doc/FAQ.rst doc/commands.rst doc/conf.py doc/config.rst doc/consuming.rst doc/contributing.rst doc/crypto.rst doc/deployment.rst doc/development.rst doc/encoding.rst doc/index.rst doc/meetings.rst doc/meta.rst doc/overview.rst doc/proposal.rst doc/publishing.rst doc/py3status.rst doc/replay.rst doc/requirements.txt doc/status.rst doc/topology.rst doc/_static/diagrams.png doc/_static/fedmsg.png doc/_static/fedmsg.xcf doc/_static/reorganize-0mq-overview.png doc/_static/reorganize-amqp-j5.png doc/_static/site.css doc/_static/topology.png doc/_templates/fedmsg-logo.html doc/_templates/githubedit.html doc/_templates/layout.html doc/diagrams/README.rst doc/diagrams/proposal.txt doc/diagrams/topology.txt extras/collectd/collection.conf extras/collectd/fedmsg-types.db extras/collectd/fedmsg.conf extras/git-hooks/README.rst extras/git-hooks/post-receive extras/koji/fedmsg_koji.py extras/mediawiki/fedmsg-emit.php extras/stress/launcher.sh extras/stress/mass-sub.py extras/stress/master.sh fedmsg/__init__.py fedmsg/config.py fedmsg/core.py fedmsg/doc_utilities.py fedmsg/utils.py fedmsg.d/base.py fedmsg.d/endpoints.py fedmsg.d/gateway.py fedmsg.d/ircbot.py fedmsg.d/logging.py fedmsg.d/relay.py fedmsg.d/ssl.py fedmsg.d/tweet.py fedmsg.egg-info/PKG-INFO fedmsg.egg-info/SOURCES.txt fedmsg.egg-info/dependency_links.txt fedmsg.egg-info/entry_points.txt fedmsg.egg-info/not-zip-safe fedmsg.egg-info/requires.txt fedmsg.egg-info/top_level.txt fedmsg/commands/__init__.py fedmsg/commands/announce.py fedmsg/commands/collectd.py fedmsg/commands/config.py fedmsg/commands/gateway.py fedmsg/commands/hub.py fedmsg/commands/ircbot.py fedmsg/commands/logger.py fedmsg/commands/relay.py fedmsg/commands/tail.py fedmsg/commands/trigger.py fedmsg/commands/tweet.py fedmsg/consumers/__init__.py fedmsg/consumers/dummy.py fedmsg/consumers/gateway.py fedmsg/consumers/ircbot.py fedmsg/consumers/relay.py fedmsg/consumers/tweet.py fedmsg/crypto/__init__.py fedmsg/crypto/gpg.py fedmsg/crypto/x509.py fedmsg/encoding/__init__.py fedmsg/encoding/sqla.py fedmsg/meta/__init__.py fedmsg/meta/announce.py fedmsg/meta/base.py fedmsg/meta/default.py fedmsg/meta/logger.py fedmsg/replay/__init__.py fedmsg/replay/sqlstore.py fedmsg/tests/__init__.py fedmsg/tests/common.py fedmsg/tests/fedmsg-test-config.py fedmsg/tests/test_commands.py fedmsg/tests/test_config.py fedmsg/tests/test_core.py fedmsg/tests/test_crypto_gpg.py fedmsg/tests/test_crypto_x509.py fedmsg/tests/test_hub.py fedmsg/tests/test_meta.py fedmsg/tests/test_replay.py fedmsg/tests/test_threads.py fedmsg/tests/test_utils.py fedmsg/tests/test_certs/README fedmsg/tests/test_certs/build-and-sign-key fedmsg/tests/test_certs/build-ca fedmsg/tests/test_certs/build-key fedmsg/tests/test_certs/build-key-server fedmsg/tests/test_certs/build-req fedmsg/tests/test_certs/clean-all fedmsg/tests/test_certs/list-crl fedmsg/tests/test_certs/openssl-0.9.6.cnf fedmsg/tests/test_certs/openssl-0.9.8.cnf fedmsg/tests/test_certs/openssl-1.0.0.cnf fedmsg/tests/test_certs/openssl-1.0.0.cnf-old-copy fedmsg/tests/test_certs/pkitool fedmsg/tests/test_certs/rebuild-all-fedmsg-certs fedmsg/tests/test_certs/revoke-full fedmsg/tests/test_certs/sign-req fedmsg/tests/test_certs/vars fedmsg/tests/test_certs/gpg/corrupt.sig fedmsg/tests/test_certs/gpg/pubring.gpg fedmsg/tests/test_certs/gpg/pubring.gpg~ fedmsg/tests/test_certs/gpg/random_seed fedmsg/tests/test_certs/gpg/secring.gpg fedmsg/tests/test_certs/gpg/test_data fedmsg/tests/test_certs/gpg/test_data.sig fedmsg/tests/test_certs/gpg/trustdb.gpg fedmsg/tests/test_certs/keys/01.pem fedmsg/tests/test_certs/keys/02.pem fedmsg/tests/test_certs/keys/03.pem fedmsg/tests/test_certs/keys/04.pem fedmsg/tests/test_certs/keys/05.pem fedmsg/tests/test_certs/keys/06.pem fedmsg/tests/test_certs/keys/07.pem fedmsg/tests/test_certs/keys/08.pem fedmsg/tests/test_certs/keys/09.pem fedmsg/tests/test_certs/keys/0A.pem fedmsg/tests/test_certs/keys/0B.pem fedmsg/tests/test_certs/keys/0C.pem fedmsg/tests/test_certs/keys/0D.pem fedmsg/tests/test_certs/keys/0E.pem fedmsg/tests/test_certs/keys/0F.pem fedmsg/tests/test_certs/keys/10.pem fedmsg/tests/test_certs/keys/11.pem fedmsg/tests/test_certs/keys/12.pem fedmsg/tests/test_certs/keys/13.pem fedmsg/tests/test_certs/keys/14.pem fedmsg/tests/test_certs/keys/15.pem fedmsg/tests/test_certs/keys/16.pem fedmsg/tests/test_certs/keys/17.pem fedmsg/tests/test_certs/keys/18.pem fedmsg/tests/test_certs/keys/19.pem fedmsg/tests/test_certs/keys/1A.pem fedmsg/tests/test_certs/keys/1B.pem fedmsg/tests/test_certs/keys/1C.pem fedmsg/tests/test_certs/keys/1D.pem fedmsg/tests/test_certs/keys/1E.pem fedmsg/tests/test_certs/keys/1F.pem fedmsg/tests/test_certs/keys/20.pem fedmsg/tests/test_certs/keys/21.pem fedmsg/tests/test_certs/keys/22.pem fedmsg/tests/test_certs/keys/23.pem fedmsg/tests/test_certs/keys/24.pem fedmsg/tests/test_certs/keys/25.pem fedmsg/tests/test_certs/keys/26.pem fedmsg/tests/test_certs/keys/27.pem fedmsg/tests/test_certs/keys/28.pem fedmsg/tests/test_certs/keys/29.pem fedmsg/tests/test_certs/keys/2A.pem fedmsg/tests/test_certs/keys/2B.pem fedmsg/tests/test_certs/keys/2C.pem fedmsg/tests/test_certs/keys/2D.pem fedmsg/tests/test_certs/keys/bodhi-app01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app02.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app02.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app02.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app02.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app02.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app02.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app03.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app03.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app03.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app04.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app04.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app04.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app05.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app05.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app05.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app06.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app06.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app06.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/bodhi-app07.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/bodhi-app07.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/bodhi-app07.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/ca.crt fedmsg/tests/test_certs/keys/ca.key fedmsg/tests/test_certs/keys/crl.pem fedmsg/tests/test_certs/keys/dummy-revoked.crt fedmsg/tests/test_certs/keys/dummy-revoked.csr fedmsg/tests/test_certs/keys/dummy-revoked.key fedmsg/tests/test_certs/keys/fas-fas01.dev.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/fas-fas01.dev.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/fas-fas01.dev.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/fas-fas01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/fas-fas01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/fas-fas01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/fas-fas01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/fas-fas01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/fas-fas01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/fedoratagger-packages01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/fedoratagger-packages01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/fedoratagger-packages01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/fedoratagger-packages01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/fedoratagger-packages01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/fedoratagger-packages01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/fedoratagger-packages02.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/fedoratagger-packages02.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/fedoratagger-packages02.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/index.txt fedmsg/tests/test_certs/keys/index.txt.attr fedmsg/tests/test_certs/keys/index.txt.attr.old fedmsg/tests/test_certs/keys/index.txt.old fedmsg/tests/test_certs/keys/mediawiki-app01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app02.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app02.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app02.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app02.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app02.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app02.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app03.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app03.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app03.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app04.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app04.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app04.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app05.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app05.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app05.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app06.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app06.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app06.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/mediawiki-app07.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/mediawiki-app07.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/mediawiki-app07.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/revoke-test.pem fedmsg/tests/test_certs/keys/scm-pkgs01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/scm-pkgs01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/scm-pkgs01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/scm-pkgs01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/scm-pkgs01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/scm-pkgs01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/serial fedmsg/tests/test_certs/keys/serial.old fedmsg/tests/test_certs/keys/server.crt fedmsg/tests/test_certs/keys/server.csr fedmsg/tests/test_certs/keys/server.key fedmsg/tests/test_certs/keys/shell-app01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app02.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app02.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app02.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app02.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app02.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app02.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app03.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app03.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app03.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app04.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app04.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app04.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app05.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app05.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app05.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app06.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app06.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app06.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-app07.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-app07.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-app07.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-fas01.dev.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-fas01.dev.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-fas01.dev.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-fas01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-fas01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-fas01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-fas01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-fas01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-fas01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-packages01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-packages01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-packages01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-packages01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-packages01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-packages01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-packages02.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-packages02.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-packages02.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-pkgs01.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-pkgs01.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-pkgs01.phx2.fedoraproject.org.key fedmsg/tests/test_certs/keys/shell-pkgs01.stg.phx2.fedoraproject.org.crt fedmsg/tests/test_certs/keys/shell-pkgs01.stg.phx2.fedoraproject.org.csr fedmsg/tests/test_certs/keys/shell-pkgs01.stg.phx2.fedoraproject.org.key fedmsg/tests/test_certs/tmp/README fedmsg/tests/test_certs/tmp/build-ca fedmsg/tests/test_certs/tmp/build-dh fedmsg/tests/test_certs/tmp/build-inter fedmsg/tests/test_certs/tmp/build-key fedmsg/tests/test_certs/tmp/build-key-pass fedmsg/tests/test_certs/tmp/build-key-pkcs12 fedmsg/tests/test_certs/tmp/build-key-server fedmsg/tests/test_certs/tmp/build-req fedmsg/tests/test_certs/tmp/build-req-pass fedmsg/tests/test_certs/tmp/clean-all fedmsg/tests/test_certs/tmp/file fedmsg/tests/test_certs/tmp/inherit-inter fedmsg/tests/test_certs/tmp/list-crl fedmsg/tests/test_certs/tmp/openssl-0.9.6.cnf fedmsg/tests/test_certs/tmp/openssl-1.0.0.cnf fedmsg/tests/test_certs/tmp/pkitool fedmsg/tests/test_certs/tmp/revoke-full fedmsg/tests/test_certs/tmp/sign-req fedmsg/tests/test_certs/tmp/vars fedmsg/tests/test_certs/tmp/whichopensslcnf fedmsg/text/__init__.py fedmsg/text/announce.py fedmsg/text/base.py fedmsg/text/default.py fedmsg/text/logger.py initsys/systemd/fedmsg-gateway.service initsys/systemd/fedmsg-hub.service initsys/systemd/fedmsg-irc.service initsys/systemd/fedmsg-relay.service initsys/systemd/fedmsg-tweet.service initsys/sysv/fedmsg-gateway.init initsys/sysv/fedmsg-hub.init initsys/sysv/fedmsg-irc.init initsys/sysv/fedmsg-relay.init initsys/sysv/fedmsg-tweet.init scripts/fedmsg-configfedmsg-0.7.1/fedmsg.egg-info/dependency_links.txt0000644000175000017500000000000112221366312023703 0ustar threebeanthreebean00000000000000 fedmsg-0.7.1/fedmsg.egg-info/requires.txt0000644000175000017500000000006112221366312022232 0ustar threebeanthreebean00000000000000pyzmq kitchen moksha.hub>=1.2.0 requests pygmentsfedmsg-0.7.1/fedmsg.egg-info/top_level.txt0000644000175000017500000000000712221366312022364 0ustar threebeanthreebean00000000000000fedmsg fedmsg-0.7.1/fedmsg.egg-info/not-zip-safe0000644000175000017500000000000112210151056022056 0ustar threebeanthreebean00000000000000 fedmsg-0.7.1/fedmsg.egg-info/entry_points.txt0000644000175000017500000000157512221366312023143 0ustar threebeanthreebean00000000000000[moksha.producer] [fedmsg.meta] announce = fedmsg.meta.announce:AnnounceProcessor logger = fedmsg.meta.logger:LoggerProcessor [moksha.consumer] fedmsg-tweet = fedmsg.consumers.tweet:TweetBotConsumer fedmsg-dummy = fedmsg.consumers.dummy:DummyConsumer fedmsg-relay = fedmsg.consumers.relay:RelayConsumer fedmsg-ircbot = fedmsg.consumers.ircbot:IRCBotConsumer fedmsg-gateway = fedmsg.consumers.gateway:GatewayConsumer [console_scripts] fedmsg-tail = fedmsg.commands.tail:tail fedmsg-announce = fedmsg.commands.announce:announce fedmsg-irc = fedmsg.commands.ircbot:ircbot fedmsg-gateway = fedmsg.commands.gateway:gateway fedmsg-relay = fedmsg.commands.relay:relay fedmsg-hub = fedmsg.commands.hub:hub fedmsg-tweet = fedmsg.commands.tweet:tweet fedmsg-collectd = fedmsg.commands.collectd:collectd fedmsg-trigger = fedmsg.commands.trigger:trigger fedmsg-logger = fedmsg.commands.logger:logger fedmsg-0.7.1/initsys/0000755000175000017500000000000012221366312016400 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/initsys/systemd/0000755000175000017500000000000012221366312020070 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/initsys/systemd/fedmsg-relay.service0000644000175000017500000000037412212110512024022 0ustar threebeanthreebean00000000000000[Unit] Description=fedmsg active<->passive relay After=network.target Documentation=http://fedmsg.readthedocs.org/en/latest/commands/ [Service] ExecStart=/usr/bin/fedmsg-relay Type=simple User=fedmsg Group=fedmsg [Install] WantedBy=multi-user.target fedmsg-0.7.1/initsys/systemd/fedmsg-gateway.service0000644000175000017500000000037012212110512024343 0ustar threebeanthreebean00000000000000[Unit] Description=Outbound fedmsg gateway After=network.target Documentation=http://fedmsg.readthedocs.org/en/latest/commands/ [Service] ExecStart=/usr/bin/fedmsg-gateway Type=simple User=fedmsg Group=fedmsg [Install] WantedBy=multi-user.target fedmsg-0.7.1/initsys/systemd/fedmsg-irc.service0000644000175000017500000000035712212110512023464 0ustar threebeanthreebean00000000000000[Unit] Description=IRC bot for fedmsg After=network.target Documentation=http://fedmsg.readthedocs.org/en/latest/commands/ [Service] ExecStart=/usr/bin/fedmsg-irc Type=simple User=fedmsg Group=fedmsg [Install] WantedBy=multi-user.target fedmsg-0.7.1/initsys/systemd/fedmsg-tweet.service0000644000175000017500000000037712212110512024041 0ustar threebeanthreebean00000000000000[Unit] Description=Twitter/Identi.ca bot for fedmsg After=network.target Documentation=http://fedmsg.readthedocs.org/en/latest/commands/ [Service] ExecStart=/usr/bin/fedmsg-tweet Type=simple User=fedmsg Group=fedmsg [Install] WantedBy=multi-user.target fedmsg-0.7.1/initsys/systemd/fedmsg-hub.service0000644000175000017500000000037212212110512023462 0ustar threebeanthreebean00000000000000[Unit] Description=Generic fedmsg processing hub After=network.target Documentation=http://fedmsg.readthedocs.org/en/latest/commands/ [Service] ExecStart=/usr/bin/fedmsg-hub Type=simple User=fedmsg Group=fedmsg [Install] WantedBy=multi-user.target fedmsg-0.7.1/initsys/sysv/0000755000175000017500000000000012221366312017404 5ustar threebeanthreebean00000000000000fedmsg-0.7.1/initsys/sysv/fedmsg-irc.init0000644000175000017500000000331012207656441022317 0ustar threebeanthreebean00000000000000#!/bin/bash # fedmsg-irc - This init script runs the FedMsg IRC bot # # chkconfig: - 25 85 # description: Enabled the fedmsg irc daemon # processname: fedmsg-irc # config: /etc/fedmsg.d/* # pidfile: /var/run/fedmsg/fedmsg-irc.pid ### BEGIN INIT INFO # Provides: fedmsg-irc # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Default-Start: # Default-Stop: 0 1 6 # Short-Description: start or stop the fedmsg-irc # Description: Starts a fedmsg-hub with the ircbot enabled. ### END INIT INFO # Source function library. . /etc/init.d/functions PROG=fedmsg-irc USER=fedmsg PIDFILE=/var/run/fedmsg/$PROG.pid OPTIONS=--daemon SUBSYS=/var/lock/subsys/$PROG start() { echo -n "Starting FedMsg IRC bot: " if [ -f $PIDFILE.lock ]; then echo FedMsg IRC bot already running exit 2; fi if [ ! -d /var/run/fedmsg ]; then mkdir /var/run/fedmsg chown $USER:$USER /var/run/fedmsg fi daemon --user $USER $PROG $OPTIONS RETVAL=$? echo if [ $RETVAL -eq 0 ]; then success touch $SUBSYS else failure fi } stop() { echo -n $"Stopping FedMsg IRC bot: " killproc -p ${PIDFILE} $PROG echo rm -f ${SUBSYS} RETVAL=$? echo } case "$1" in start) start ;; stop) stop ;; status) if [ -f $PIDFILE ]; then echo $"FedMsg IRC bot is running." RETVAL=0 else echo $"FedMsg IRC bot is not running." RETVAL=3 fi ;; restart) stop start ;; *) echo "Usage: {start|stop|status|reload|restart}" exit 1 ;; esac exit $? fedmsg-0.7.1/initsys/sysv/fedmsg-tweet.init0000644000175000017500000000336012207656441022677 0ustar threebeanthreebean00000000000000#!/bin/bash # fedmsg-tweet - This init script runs the FedMsg Twitter bot # # chkconfig: - 25 85 # description: Enabled the fedmsg tweet daemon # processname: fedmsg-tweet # config: /etc/fedmsg.d/* # pidfile: /var/run/fedmsg/fedmsg-tweet.pid ### BEGIN INIT INFO # Provides: fedmsg-tweet # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Default-Start: # Default-Stop: 0 1 6 # Short-Description: start or stop the fedmsg-tweet # Description: Starts a fedmsg-hub with the tweetbot enabled. ### END INIT INFO # Source function library. . /etc/init.d/functions PROG=fedmsg-tweet USER=fedmsg PIDFILE=/var/run/fedmsg/$PROG.pid OPTIONS=--daemon SUBSYS=/var/lock/subsys/$PROG start() { echo -n "Starting FedMsg Twitter bot: " if [ -f $PIDFILE.lock ]; then echo FedMsg Twitter bot already running exit 2; fi if [ ! -d /var/run/fedmsg ]; then mkdir /var/run/fedmsg chown $USER:$USER /var/run/fedmsg fi daemon --user $USER $PROG $OPTIONS RETVAL=$? echo if [ $RETVAL -eq 0 ]; then success touch $SUBSYS else failure fi } stop() { echo -n $"Stopping FedMsg Twitter bot: " killproc -p ${PIDFILE} $PROG echo rm -f ${SUBSYS} RETVAL=$? echo } case "$1" in start) start ;; stop) stop ;; status) if [ -f $PIDFILE ]; then echo $"FedMsg Twitter bot is running." RETVAL=0 else echo $"FedMsg Twitter bot is not running." RETVAL=3 fi ;; restart) stop start ;; *) echo "Usage: {start|stop|status|reload|restart}" exit 1 ;; esac exit $? fedmsg-0.7.1/initsys/sysv/fedmsg-relay.init0000644000175000017500000000332712207656441022666 0ustar threebeanthreebean00000000000000#!/bin/bash # fedmsg-relay - This init script runs the FedMsg Relay # # chkconfig: - 25 85 # description: Enabled the fedmsg relay daemon # processname: fedmsg-relay # config: /etc/fedmsg.d/* # pidfile: /var/run/fedmsg/fedmsg-relay.pid ### BEGIN INIT INFO # Provides: fedmsg-relay # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Default-Start: # Default-Stop: 0 1 6 # Short-Description: start or stop the fedmsg-relay # Description: Starts a fedmsg-hub configured to relay special messages. ### END INIT INFO # Source function library. . /etc/init.d/functions PROG=fedmsg-relay USER=fedmsg PIDFILE=/var/run/fedmsg/$PROG.pid OPTIONS=--daemon SUBSYS=/var/lock/subsys/$PROG start() { echo -n "Starting FedMsg Relay: " if [ -f $PIDFILE.lock ]; then echo FedMsg Relay already running exit 2; fi if [ ! -d /var/run/fedmsg ]; then mkdir /var/run/fedmsg chown $USER:$USER /var/run/fedmsg fi daemon --user $USER $PROG $OPTIONS RETVAL=$? echo if [ $RETVAL -eq 0 ]; then success touch $SUBSYS else failure fi } stop() { echo -n $"Stopping FedMsg Relay: " killproc -p ${PIDFILE} $PROG echo rm -f ${SUBSYS} RETVAL=$? echo } case "$1" in start) start ;; stop) stop ;; status) if [ -f $PIDFILE ]; then echo $"FedMsg Relay is running." RETVAL=0 else echo $"FedMsg Relay is not running." RETVAL=3 fi ;; restart) stop start ;; *) echo "Usage: {start|stop|status|reload|restart}" exit 1 ;; esac exit $? fedmsg-0.7.1/initsys/sysv/fedmsg-gateway.init0000644000175000017500000000336312207656441023213 0ustar threebeanthreebean00000000000000#!/bin/bash # fedmsg-gateway - This init script runs the FedMsg Gateway # # chkconfig: - 25 85 # description: Enabled the fedmsg gateway daemon # processname: fedmsg-gateway # config: /etc/fedmsg.d/* # pidfile: /var/run/fedmsg/fedmsg-gateway.pid ### BEGIN INIT INFO # Provides: fedmsg-gateway # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Default-Start: # Default-Stop: 0 1 6 # Short-Description: start or stop the fedmsg-gateway # Description: Starts a fedmsg-hub configured to gateway special messages. ### END INIT INFO # Source function library. . /etc/init.d/functions PROG=fedmsg-gateway USER=fedmsg PIDFILE=/var/run/fedmsg/$PROG.pid OPTIONS=--daemon SUBSYS=/var/lock/subsys/$PROG start() { echo -n "Starting FedMsg Gateway: " if [ -f $PIDFILE.lock ]; then echo FedMsg Gateway already running exit 2; fi if [ ! -d /var/run/fedmsg ]; then mkdir /var/run/fedmsg chown $USER:$USER /var/run/fedmsg fi daemon --user $USER $PROG $OPTIONS RETVAL=$? echo if [ $RETVAL -eq 0 ]; then success touch $SUBSYS else failure fi } stop() { echo -n $"Stopping FedMsg Gateway: " killproc -p ${PIDFILE} $PROG echo rm -f ${SUBSYS} RETVAL=$? echo } case "$1" in start) start ;; stop) stop ;; status) if [ -f $PIDFILE ]; then echo $"FedMsg Gateway is running." RETVAL=0 else echo $"FedMsg Gateway is not running." RETVAL=3 fi ;; restart) stop start ;; *) echo "Usage: {start|stop|status|reload|restart}" exit 1 ;; esac exit $? fedmsg-0.7.1/initsys/sysv/fedmsg-hub.init0000644000175000017500000000332212207656441022323 0ustar threebeanthreebean00000000000000#!/bin/bash # fedmsg-hub - This init script runs the FedMsg Hub # # chkconfig: - 25 85 # description: Enabled the fedmsg hub daemon # processname: fedmsg-hub # config: /etc/fedmsg.d/* # pidfile: /var/run/fedmsg/fedmsg-hub.pid ### BEGIN INIT INFO # Provides: fedmsg-hub # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Default-Start: # Default-Stop: 0 1 6 # Short-Description: start or stop the fedmsg-hub # Description: The fedmsg hub loads and begins processing consumers and \ # producers ### END INIT INFO # Source function library. . /etc/init.d/functions PROG=fedmsg-hub USER=fedmsg PIDFILE=/var/run/fedmsg/$PROG.pid OPTIONS=--daemon SUBSYS=/var/lock/subsys/$PROG start() { echo -n "Starting the FedMsg Hub: " if [ -f $PIDFILE.lock ]; then echo FedMsg Hub already running exit 2; fi if [ ! -d /var/run/fedmsg ]; then mkdir /var/run/fedmsg chown $USER:$USER /var/run/fedmsg fi daemon --user $USER $PROG $OPTIONS RETVAL=$? echo if [ $RETVAL -eq 0 ]; then success touch $SUBSYS else failure fi } stop() { echo -n $"Stopping the FedMsg Hub: " killproc -p ${PIDFILE} $PROG echo rm -f ${SUBSYS} RETVAL=$? echo } case "$1" in start) start ;; stop) stop ;; status) if [ -f $PIDFILE ]; then echo $"FedMsg Hub is running." RETVAL=0 else echo $"FedMsg Hub is not running." RETVAL=3 fi ;; restart) stop start ;; *) echo "Usage: {start|stop|status|reload|restart}" exit 1 ;; esac exit $? fedmsg-0.7.1/LICENSE0000644000175000017500000006364212207656441015727 0ustar threebeanthreebean00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! fedmsg-0.7.1/MANIFEST.in0000644000175000017500000000050512212110512016421 0ustar threebeanthreebean00000000000000include LICENSE include README.rst include CHANGELOG.rst include dev_certs include logrotate recursive-include dev_certs * recursive-include fedmsg/tests/test_certs * recursive-include extras * recursive-include doc * recursive-include fedmsg.d *.py exclude fedmsg.d/_tweet-real.py recursive-include initsys * graft scripts