diff options
Diffstat (limited to 'rpkid')
478 files changed, 29595 insertions, 0 deletions
diff --git a/rpkid/Makefile b/rpkid/Makefile new file mode 100644 index 00000000..69f83f30 --- /dev/null +++ b/rpkid/Makefile @@ -0,0 +1,57 @@ +# $Id$ + +all:: left-right-protocol-samples/.stamp + +left-right-protocol-samples/.stamp: left-right-protocol-samples.xsl ../docs/left-right-xml + xsltproc left-right-protocol-samples.xsl ../docs/left-right-xml + touch $@ + +all:: left-right-schema.rng + +left-right-schema.rng: left-right-schema.rnc + trang left-right-schema.rnc left-right-schema.rng + +all:: up-down-schema.rng + +up-down-schema.rng: up-down-schema.rnc + trang up-down-schema.rnc up-down-schema.rng + +dont-run-trang: + touch *.rng + +relaxng: left-right-protocol-samples/.stamp left-right-schema.rng up-down-schema.rng + xmllint --noout --relaxng left-right-schema.rng left-right-protocol-samples/*.xml + xmllint --noout --relaxng up-down-schema.rng up-down-protocol-samples/*.xml + +# all:: resource-cert-samples-regen + +all-tests:: relaxng + +all-tests:: all ; python xml-parse-test.py + +resource-cert-samples-regen: resource-cert-samples/.stamp + cd resource-cert-samples && make + +resource-cert-samples/.stamp: generate-testrepo.py Makefile + python generate-testrepo.py + touch $@ + +doxygen: + cd rpki && doxygen + +tags: + find . -type f -name '*.py' | etags - + +all:: rpki/relaxng.py + +rpki/relaxng.py: left-right-schema.rng up-down-schema.rng make-relaxng.py + python make-relaxng.py >$@.tmp + mv $@.tmp $@ + +# all-tests:: all; sh -x rootd.sh run + +test all-tests:: all + python testbed.py -y testbed.1.yaml + +all-tests:: all + python testbed.py -y testbed.2.yaml diff --git a/rpkid/POW b/rpkid/POW new file mode 120000 index 00000000..43fccd7b --- /dev/null +++ b/rpkid/POW @@ -0,0 +1 @@ +../pow/buildlib/POW
\ No newline at end of file diff --git a/rpkid/README b/rpkid/README new file mode 100644 index 00000000..3bb44561 --- /dev/null +++ b/rpkid/README @@ -0,0 +1,466 @@ +$Id$ -*- Text -*- + +Python RPKI production tools. + +Requires Python 2.5. + +External Python packages required: + +- lxml, which in turn requires the libxml2 C libraries. + + http://codespeak.net/lxml/ + + FreeBSD: /usr/ports/devel/py-lxml + +- MySQLdb, which in turn requires MySQL client and server. I'm + testing with MySQL 5.1. + + http://sourceforge.net/projects/mysql-python/ + + FreeBSD: /usr/ports/databases/py-MySQLdb + +- TLSLite, which pulls in other crypto packages. + + http://trevp.net/tlslite/ + + FreeBSD: /usr/ports/security/py-tlslite + +- Cryptlib, at the moment just to support TLSlite but may end up using + it for other things later. + + http://www.cs.auckland.ac.nz/~pgut001/cryptlib/ + + FreeBSD: /usr/ports/security/cryptlib + + ...but the FreeBSD port doesn't (yet?) install the Python bindings, + sigh, so at the moment you have to do that by hand: + + # cd /usr/ports/security/cryptlib + # make install + # cd work/bindings + # python setup.py install + # cd ../.. + # make clean + +- Eventually I expect that this will require an event-handling package + like Twisted, but I'm not there yet. + +- The testpoke tool (up-down protocol command line test client) and + testbed tools also uses PyYAML. + + http://pyyaml.org/ + + FreeBSD: /usr/ports/devel/py-yaml + +We also use a hacked copy of the Python OpenSSL Wrappers (POW) +package, but our copy has enough modifications that it's expanded in +the Subversion tree. Depending on how this all works out, I may end +up splitting the POW.pkix module out of the POW package and using it +with Cryptlib, as the POW.pkix package is 98% about doing ASN.1 in +pure Python and only 2% about any kind of crypto. + + + +$Revision$ + +TO DO: + +- Scripted tests to grow and shrink and revoke and .... See + testbed.*.yaml, but more systematic testing needed. + + PRIORITY: Required + + TIME REQUIRED: open-ended + + STATUS: Ongoing + +- Randy's "user validation tool" (fetch and validate certs and + probably the ROA for a prefix I want to accept in a route filter I + am building in Python/Perl). This probably uses rcync's output as + one of its inputs. + + This is a basic tool for a sysadmin who wants to -use- all this crud + we're working so hard to generate. It's not required for the + generation tools to work, but without it the entire toolset does + nothing obviously useful, which will make it a very hard sell during + the limited public test stage. + + PRIORITY: Required + + DEPENDS ON: ROA generation + + TIME REQUIRED: three days + + STATUS: Not started + +- Common protocol dump format with APNIC and other implementors so we + can read each other's dumps. "Obvious" format would be an + OpenSSL-style PEM of the CMS, with a "text" portion (the place where + "openssl x509 -text" would put a text dump of a cert) showing the + wrapped XML. + + PRIORITY: Desirable + + TIME REQUIRED: one day + + STATUS: Not started + +- Clean unused cruft out of left-right protocol, or at least have + control booleans we don't intend to implement at present signal an + error if used. + + Bottleneck here has been deciding what to punt and what to + implement. Removing unused booleans or raising errors when they're + used is trivial. + + PRIORITY: Required + + TIME REQUIRED: Less than one day + + STATUS: Error signalling done + +- resource_set_notafter attribute added to RelaxNG but not yet to + rpki.up_down.class_elt. Need to convert to and from + rpki.sundial.datetime. This is an up-down protocol feature that was + added fairly late and that none of us properly implement yet, but + failing to handle it would be a spec violation and eventually cause + an interop problem. + + PRIORITY: Required + + TIME REQUIRED: Less than one day + + STATUS: Done + +- Publication protocol and implementation thereof. Protocol design + started, Randy had comments that sent me back to the drawing board + (he was right). Next step is to integrate Randy's advice, which + probably means picking up more of the left-right protocol framework. + + Desirable although not strictly required that protcol be agreed upon + among the RIRs. Might not be practical given how long it takes + group to decide anything. + + Tricky bit is making sure that repository receives enough + information to know whether parent has authorized child to use + parent's namespace in nesting case. In theory this is + straightforward but requires careful checking. + + ARIN can't host output of non-hosted RPKI engines without this, and + that's critical both to the security model as discussed with ARIN + staff in late 2006, so I believe we need this capability even as + part of the initial limited test. + + PRIORITY: Required + + TIME REQUIRED: 1-2 weeks for implementation once protocol settled, + depending on how much of the protocol and implementation I can steal + from the existing left-right protocol. + + STATUS: Started + +- Subsetting (req_* attributes in up-down protocol) + + Minimal implementation would be to recognize this as correct + protocol and signal an internal server error if it's ever used. + + More serious implementation would require expanding SQL child_cert + table to hold subset masks and tweaking almost every bit of code + that touches that table. + + PRIORITY: Required + + TIME REQUIRED (minimal version): One day + + TIME REQUIRED (real version): 1-2 weeks + + STATUS: Not started + +- Error handling: make sure that exceptions map correctly to up-down + error codes, flesh out left-right error codes. Note that the same + exception may produce different error codes depending on which + up-down PDU we're processing (sigh). + + Will require code audit for coherency. + + PRIORITY: Required + + TIME REQUIRED: four days + + DEPENDS ON: almost everything else, as almost any code change can + raise new exceptions that we'd need to handle. + + STATUS: Not started + +- db.commit(), db.rollback(), code audit for data integrity issues, + fix any data integrity issues that turn up. + + Among other issues, we need to handle loss of connnection to + database server and other MySQL errors. MySQLdb throws an + exception, which we can catch, and retrying is easy enough, but need + to be careful about recovery action depending on whether we had + uncommitted changes. + + PRIORITY: Required + + TIME REQUIRED (commit and rollback): Two weeks + + TIME REQUIRED (data integrity audit): Three days + + TIME REQUIRED (fix data integrity): Unknown, depends on code audit + and results of runtime testing. + + DEPENDS ON: async tasking model, sort of -- could do it first, but + tasking change will affect the exception handling that triggers + rollback. + + STATUS: Not started + +- Test with larger data set -- Tim gave me plenty of data, I have the + low-level tools and the glue logic to create child objects for all + the entities in the IRDB, but I don't yet have logic to poll on + behalf of each of them and check result for sanity. + + Maybe it'd be easier to write something that dumps Tim's database in + YAML format for testbed.py to chew on? + + PRIORITY: Highly desirable + + TIME REQUIRED (setup): One day to convert Tim's data to YAML + + TIME REQUIRED (testing): Unknown, depends on what we turn up + + STATUS: Not started + +- Clean up rootd.py to be usable in a production system. Most urgent + issue is handling of private keys. May not need much else, as this + is not a high-traffic server. + + PRIORITY: Highly desirable (not strictly needed for limited testing) + + TIME REQUIRED: Two days + + STATUS: Not started + +- Test framework, multiple self-instances per engine-instance (single + self-instance per engine-instance is already done). + + PRIORITY: Required + + DEPENDS ON: async tasking model. + + TIME REQUIRED: One week + + STATUS: Not started + +- tlslite code seems flakey under heavy use, and doesn't support all + the cert checks we want. Best bet for getting this right is + probably to hack on the POW Ssl class until it supports everything + shown in the OpenSSL book; aside from speed, the main advantage here + is that there -is- a list of all the things one needs to do to use + TLS properly if one follows this recipe, whereas with TLSlite it's + all a mystery. + + Useful side effect of doing this via POW: it brings us back to only + needing one crypto library (in particular it lets us punt M2Crypto, + which appears to be coded as an accident waiting to happen). + + PRIORITY: Required (cert checking is a security issue). + + TIME REQUIRED: Two weeks. + + DEPENDS ON: Async tasking model. + + STATUS: Not started + +- ROA generation. We have a bunch of the primitives for this but we + aren't yet generating the ROAs themselves. + + PRIORITY: Required + + TIME REQUIRED: Three days + + STATUS: Not started + +- Make rpkid fully event-driven (async tasking model), except for SQL + queries. This probably involves the "twisted" framework. + + PRIORITY: Required (to implement hosting model) + + TIME REQUIRED: one week. + + STATUS: Not started + +- Update biz trust anchor model to what we came up with in Amsterdam. + This was a direct result of security review by Kent and Housley. + + This has been waiting for work we hope RobK is doing. This is + probably not a lot of coding, probably a few extra cert fields in + the self object which we then need to toss into the + rpki.x509.X509_chain objects before verifying CMS or TLS, and + perhaps the existing TA fields in various objects become pairs of + certs instead of a single TA, but this is mostly just generalization + and reuse of existing code, no bold new adventures. + + PRIORITY: Required (security issue) + + TIME REQUIRED: One week. + + STATUS: Not started + +- Performance testing + + STATUS: Not started + +- rcynic handling of RPKI trust anchors probably needs updating. + Discussions over last N months of how RPKI trust anchors work, how + we package them, and how we roll them over. The last (TA rollover) + is the driver for this. + + Last I recall (need to check email archives) APNIC had proposed a + relatively simple format (CMS signed PEM-encoded X.509 object set, + or something like that). Need to do analysis to make sure this is + adaquate for our needs, if so just use it. This would involve minor + changes to rcynic. + + Alternatively, this could be a separate program to keep this grot + out of rcynic itself, but that's probably a usability nightmare. + + PRIORITY: Required (usability issue for relying parties) + + TIME REQUIRED: Three days. + + STATUS: Not started + +- rcynic does not yet handle manifests. This is both a real problem + (manifests were added to plug a security hole) and a user acceptance + problem (without manifest support rcynic checks old certs that are + supposed to fail because they've been revoked, resulting in what + appear to be spurious errors, which just annoy the user). + + PRIORITY: Required + + TIME REQUIRED: One week. + + STATUS: Not started + +- Update operation and installation docs. + + Known current omissions: left-right "rekey" and "revoke" operations, + testbed.py's rootd_sia config option. + + TIME REQUIRED (current work items): Less than one day + + PRIORITY: Required + + STATUS: Ongoing + +- Update internals docs (Doxygen). Mostly this means updating + function comments in the Python code, as the rest is automatic. May + require a bit of overview text to explain the workings of the code, + this overview text may well turn out to be just the current flat + text documents marked up for inclusion by Doxygen. + + PRIORITY: Desirable + + TIME REQUIRED: Two days + + STATUS: Ongoing + +- Reorganize code (directory names, module names, which objects are in + which modules, add gctx pointers to objects so we can stop passing + all these flipping explicit gctx pointers in almost every function + call) to make it easier to understand and maintain. Portions of the + existing code were done in extreme haste to meet testing deadlines, + and it shows. + + STATUS: Not started + + TIME REQUIRED: two days + + PRIORITY: Highly desirable (to preserve programmers' and + maintainers' sanity, if nothing else) + +- Add HSM support. Architecture includes it, current code does not. + First step here would be talking to somebody who understands PKCS#11 + better than I do, ie, Richard Lamb or Francis Dupont. + + STATUS: Not started + + TIME REQUIRED: Unknown + + PRIORITY: Desirable. Am guessing ARIN does not require this for + initial test + + + +Things implemented but not yet tested. + +- Client side of expiration now assumes that parent will reissue + when its IRDB changes. + +- Parent side of revocation (child_cert objects) and CRL generation + implemented. + +- Parent side of expiration implemented. + +- Child batch processing loop: regeneration or removal of expired + certs based on what's in the IRDB. + +- Batch regeneration of CRLs and manifests for all CAs. + +- Protection against up-down operations specifying a class_name that + belongs to some other self context. + +- Rewrote code that handles revoke on shrink to revoke -all- old certs + for that key, not just most recent. Not certain, but this may have + been the cause of a cert dropping not showing up in the CRL during + testing with APNIC in Vancouver. + +- Kludgy local publication hack seems to work now, including + withdrawal. rcynic still whines occasionally, but I think that's + just because, without manifest support, rcynic has no way of telling + the difference between certs we withdrew on purpose and certs that + were removed by an attacker, so the first rcynic run after a cert + has been revoked pulls the old cert from the previous rcynic pass, + find that it's listed in the CRL, and whines about it. + + + +Other random notes: + +Being able to specify interaction with other servers (not running +under testbed) in a testbed.yaml might be useful for interop tests. +Kind of breaks testbed's fundamental model, though. Replacing what +testbed thinks is a leaf with somebody else would be easy, so maybe we +could specify some way to hang a bunch of rpkids under an external +parent? Hmm, data needed would look a lot like testpoke.yaml, maybe +we can reuse some of that language? + +There's a three-way tradeoff lurking in the publication protocol, +manifest generation, and CRL generation: + +1) Consistancy issues for relying parties (eg, don't want to withdraw + something that's still listed in the manifest); + +2) Efficiency issues for the RPKI engine (eg, generating a new + manifest for each individual change during a batch run could be + expensive, would prefer to batch up the changes into a single + manifest run); and + +3) Coherency issues for the RPKI engine (don't want to defer things + that could result in loss of state if something bad happens). + +Considerations (1) and (3) have to dominate, which may mean we take a +hit on (2). + +Most of the explicit calls to sql_fetch*() are now encapsulated in +one-line methods. The remaining ones are probably hints at minor bits +of abstraction still to be done. + +Biz certs currently used by test scripts don't include SKI or AKI. I +think this is because the test scripts use "openssl x509" rather than +"openssl ca" when generating these certs. Not critical, and will +probably become completely irrelevant with all-singing all-dancing +post-Amsterdam biz cert scripts, but should not be a big problem to +fix either if it gets in the way again. diff --git a/rpkid/apnic-poke-1.sh b/rpkid/apnic-poke-1.sh new file mode 100644 index 00000000..0bd8ff52 --- /dev/null +++ b/rpkid/apnic-poke-1.sh @@ -0,0 +1,112 @@ +#!/bin/sh - +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# Script to let APNIC test against my server. +# +# This blows away rpkid's database and rebuilds it with what we need +# for this test, and knows far too much about the id numbers that +# rpkid and mysql will assign. In the long run we must do better than +# this, but gotta start somewhere. + +openssl=../openssl/openssl/apps/openssl + +# Halt on first error and show what's happening + +set -ex + +# Generate new key and cert for rootd.py if needed + +if test ! -r rootd.cer -o ! -r rootd.key +then + $openssl req -new -newkey rsa:2048 -nodes -keyout rootd.key -out rootd.req -config rootd.cnf + + $openssl x509 -req -in rootd.req -out rootd.cer -extfile rootd.cnf -extensions req_x509_ext \ + -signkey rootd.key -text -sha256 + + rm -f rootd.req +fi + +# Blow away old rpkid database (!) so we can start clean + +mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <../docs/rpki-db-schema.sql + +# Clear out any old publication results + +rm -rf publication/* + +# Start rpkid so we can configure it, make sure we shut it down on exit +# If we're running under screen, just run it in a different screen instead. + +if test -n "$STY" +then + screen python rpkid.py +else + python rpkid.py >>rpkid.log 2>&1 & rpkid=$! + trap "kill $rpkid" 0 1 2 3 13 15 +fi + +# Create a self instance + +python irbe-cli.py self --action create --crl_interval 84600 + +# Create a business signing context, issue the necessary business cert, and set up the cert chain + +python irbe-cli.py --pem_out bsc.req bsc --action create --self_id 1 \ + --generate_keypair --signing_cert biz-certs/Bob-CA.cer + +$openssl x509 -req -in bsc.req -out bsc.cer -CA biz-certs/Bob-CA.cer \ + -CAkey biz-certs/Bob-CA.key -CAserial biz-certs/Bob-CA.srl + +python irbe-cli.py bsc --action set --self_id 1 --bsc_id 1 --signing_cert bsc.cer + +rm -f bsc.req bsc.cer + +# Create a repository context + +python irbe-cli.py repository --self_id 1 --action create --bsc_id 1 + +# Create a parent context pointing at rootd.py + +python irbe-cli.py parent --self_id 1 --action create --bsc_id 1 --repository_id 1 \ + --peer_contact_uri https://localhost:44333/ \ + --cms_ta biz-certs/Elena-Root.cer \ + --https_ta biz-certs/Elena-Root.cer \ + --sia_base rsync://wombat.invalid/ + +# Create a child context + +python irbe-cli.py child --self_id 1 --action create --bsc_id 1 --cms_ta biz-certs/Frank-Root.cer + +# Run the other daemons, arrange for everything to go away on shutdown, +# run initial cron job to set things up, then wait + +if test -n "$STY" +then + screen python rootd.py + screen python irdbd.py +else + python rootd.py >>rootd.log 2>&1 & rootd=$! + python irdbd.py >>irdbd.log 2>&1 & irdbd=$! + trap "kill $rpkid $irdbd $rootd" 0 1 2 3 13 15 +fi + +python cronjob.py + +if test -z "$STY" +then + tail +0f rpkid.log +fi diff --git a/rpkid/apnic-poke-1.yaml b/rpkid/apnic-poke-1.yaml new file mode 100644 index 00000000..24b80561 --- /dev/null +++ b/rpkid/apnic-poke-1.yaml @@ -0,0 +1,28 @@ +--- +# $Id$ + +version: 1 +posturl: https://adrilankha.hactrn.net:4433/up-down/1 +recipient-id: wombat +sender-id: "1" + +cms-cert-file: biz-certs/Frank-EE.cer +cms-key-file: biz-certs/Frank-EE.key +cms-ca-cert-file: biz-certs/Bob-Root.cer +cms-cert-chain-file: [ biz-certs/Frank-CA.cer ] + +ssl-cert-file: biz-certs/Frank-EE.cer +ssl-key-file: biz-certs/Frank-EE.key +ssl-ca-cert-file: biz-certs/Bob-Root.cer + +requests: + list: + type: list + issue: + type: issue + class: 1 + sia: [ "rsync://bandicoot.invalid/some/where/" ] + revoke: + type: revoke + class: 1 + ski: "CB5K6APY-4KcGAW9jaK_cVPXKX0" diff --git a/rpkid/apnic-poke-2.sh b/rpkid/apnic-poke-2.sh new file mode 100644 index 00000000..d10c9fa5 --- /dev/null +++ b/rpkid/apnic-poke-2.sh @@ -0,0 +1,123 @@ +#!/bin/sh - +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +openssl=../openssl/openssl/apps/openssl + +# Halt on first error and show what's happening + +set -ex + +# Blow away old rpkid database (!) so we can start clean + +mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <../docs/rpki-db-schema.sql + +# Clear out any old publication results + +rm -rf publication/* + +# Start rpkid so we can configure it, make sure we shut it down on exit +# If we're running under screen, just run it in a different screen instead. + +if test -n "$STY" +then + screen python rpkid.py +else + python rpkid.py >>rpkid.log 2>&1 & rpkid=$! + trap "kill $rpkid" 0 1 2 3 13 15 +fi + +# Create a self instance + +python irbe-cli.py self --action create --crl_interval 84600 + +# Create a business signing context, issue the necessary business cert, and set up the cert chain + +python irbe-cli.py --pem_out bsc.req bsc --action create --self_id 1 \ + --generate_keypair --signing_cert biz-certs/Bob-CA.cer +$openssl x509 -req -in bsc.req -out bsc.cer \ + -CA biz-certs/Bob-CA.cer -CAkey biz-certs/Bob-CA.key -CAserial biz-certs/Bob-CA.srl +python irbe-cli.py bsc --action set --self_id 1 --bsc_id 1 --signing_cert bsc.cer +rm -f bsc.req bsc.cer + +# List what's in the BSC, for today's debugging fun + +#python irbe-cli.py bsc --action list --self_id 1 + +# Create a repository context + +python irbe-cli.py repository --self_id 1 --action create --bsc_id 1 + +# Create a parent context pointing at APNIC -- this is where we plug in the values from their YAML + +cat >apnic.pem <<-'EOF' + -----BEGIN CERTIFICATE----- + MIIEFjCCAv6gAwIBAgIBADANBgkqhkiG9w0BAQsFADBJMUcwRQYDVQQDEz5Eb2N1 + bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0gTm90IGZv + ciByZWFsIHVzZTAeFw0wNzEyMDEwNjMyNDdaFw0xNzExMjgwNjMyNDdaMEkxRzBF + BgNVBAMTPkRvY3VtZW50YXRpb24gUHJlZml4ZXMgQ01TIFBhcmVudCBUQSBzaWdu + ZXIgLSBOb3QgZm9yIHJlYWwgdXNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAtsRcgBpO7cTN+QGPnBaPtmfdsUZbctrfSBycS3QhwAItzZryqIHN9stP + A+0WEOC4+cfaY9xETqGwbq725p8FRwxUx9NBQS7jrL1ToNCJ+2qSH5ThK2hOQiCT + 3fv2FNJ/7gFFqofWt3mLyNEmnis95pRwzTtqH6ZaAaZk+AzwL77ww8AlwL/qfLtD + mjrsUfoELfkbS4ywFK0orjVKeGvzG8Dx7WiGvwmdhNNJ8/IAZmJC0NI8r9VIfcw3 + 2B7bnDGkKH3E0NNRIajPmLbaNfT0Dxw+BjIC3Ty48o3ghSScqviyThNFyj8cr9SB + Ww8ReAU6v9q4XWRnlZt8Lc9WIsF/MwIDAQABo4IBBzCCAQMwDAYDVR0TBAUwAwEB + /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPzZTgRZylsJph8KV9AU3klSgl8r + MHEGA1UdIwRqMGiAFPzZTgRZylsJph8KV9AU3klSgl8roU2kSzBJMUcwRQYDVQQD + Ez5Eb2N1bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0g + Tm90IGZvciByZWFsIHVzZYIBADBRBgNVHR8ESjBIMEagRKBChkBodHRwOi8vbWly + aW4uYXBuaWMubmV0L2RvY3VtZW50YXRpb24tcHJlZml4ZXMvY21zL3BhcmVudC9j + bXMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCNz/BUN5bsAyMPi0X7oKZV/cAwmr2S + gQgIxaUHnQ6EJp4b2CUmlpPQ9pT/m+gPbajaRgUZmANfMF0uAFZpCP3hTRAc6NMH + 3Pwjzw1ICGSRRJASSizYN4hSxGpWW1hgghGTB3w5CjCm2VlwrQKJjb7/9H/gb4hi + RRZpaudithCEDlgkFhgU4uttSDLH2Rv14GtfmtyqDpmCE33STA7K+e9rdxaCqHC8 + u33zqm4oQxOX7wuJ/JxeJxExtZ0amu8yTZ+tDtQ4Iiu1VPl67o0mjYrBKRV4z2fC + wa/PKqombrC/qs+2+t/66mB9xaK1YpKnW2FL6Rjs+rZUJJQ16JhJkF7T + -----END CERTIFICATE----- +EOF + +python irbe-cli.py parent --self_id 1 --action create --bsc_id 1 --repository_id 1 \ + --peer_contact_uri https://mirin.apnic.net/cgi-bin/up-down-parent.cgi \ + --cms_ta apnic.pem \ + --https_ta apnic.pem \ + --sia_base rsync://wombat.invalid/ \ + --recipient_name PARENT \ + --sender_name CHILD + +rm -f apnic.pem + +# Create a child context + +python irbe-cli.py child --self_id 1 --action create --bsc_id 1 --cms_ta biz-certs/Frank-Root.cer + +# Run the other daemons, arrange for everything to go away on shutdown, +# run initial cron job to set things up, then wait + +if test -n "$STY" +then + screen python irdbd.py +else + python irdbd.py >>irdbd.log 2>&1 & irdbd=$! + trap "kill $rpkid $irdbd" 0 1 2 3 13 15 +fi + +python cronjob.py + +if test -z "$STY" +then + tail +0f rpkid.log +fi diff --git a/rpkid/apnic-poke-2.yaml b/rpkid/apnic-poke-2.yaml new file mode 100644 index 00000000..6ba93729 --- /dev/null +++ b/rpkid/apnic-poke-2.yaml @@ -0,0 +1,74 @@ +--- +# $Id$ +# +# This sender config file was created by the make_cfg tool +# Account: TELSTRA-AU + +version: 1 +recipient-id: PARENT +sender-id: CHILD + +cms-cert-file: biz-certs/Bob-EE.cer +cms-key-file: biz-certs/Bob-EE.key +cms-cert-chain-file: [ biz-certs/Bob-CA.cer ] + +cms-ca-cert: | + -----BEGIN CERTIFICATE----- + MIIEFjCCAv6gAwIBAgIBADANBgkqhkiG9w0BAQsFADBJMUcwRQYDVQQDEz5Eb2N1 + bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0gTm90IGZv + ciByZWFsIHVzZTAeFw0wNzEyMDEwNjMyNDdaFw0xNzExMjgwNjMyNDdaMEkxRzBF + BgNVBAMTPkRvY3VtZW50YXRpb24gUHJlZml4ZXMgQ01TIFBhcmVudCBUQSBzaWdu + ZXIgLSBOb3QgZm9yIHJlYWwgdXNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAtsRcgBpO7cTN+QGPnBaPtmfdsUZbctrfSBycS3QhwAItzZryqIHN9stP + A+0WEOC4+cfaY9xETqGwbq725p8FRwxUx9NBQS7jrL1ToNCJ+2qSH5ThK2hOQiCT + 3fv2FNJ/7gFFqofWt3mLyNEmnis95pRwzTtqH6ZaAaZk+AzwL77ww8AlwL/qfLtD + mjrsUfoELfkbS4ywFK0orjVKeGvzG8Dx7WiGvwmdhNNJ8/IAZmJC0NI8r9VIfcw3 + 2B7bnDGkKH3E0NNRIajPmLbaNfT0Dxw+BjIC3Ty48o3ghSScqviyThNFyj8cr9SB + Ww8ReAU6v9q4XWRnlZt8Lc9WIsF/MwIDAQABo4IBBzCCAQMwDAYDVR0TBAUwAwEB + /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPzZTgRZylsJph8KV9AU3klSgl8r + MHEGA1UdIwRqMGiAFPzZTgRZylsJph8KV9AU3klSgl8roU2kSzBJMUcwRQYDVQQD + Ez5Eb2N1bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0g + Tm90IGZvciByZWFsIHVzZYIBADBRBgNVHR8ESjBIMEagRKBChkBodHRwOi8vbWly + aW4uYXBuaWMubmV0L2RvY3VtZW50YXRpb24tcHJlZml4ZXMvY21zL3BhcmVudC9j + bXMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCNz/BUN5bsAyMPi0X7oKZV/cAwmr2S + gQgIxaUHnQ6EJp4b2CUmlpPQ9pT/m+gPbajaRgUZmANfMF0uAFZpCP3hTRAc6NMH + 3Pwjzw1ICGSRRJASSizYN4hSxGpWW1hgghGTB3w5CjCm2VlwrQKJjb7/9H/gb4hi + RRZpaudithCEDlgkFhgU4uttSDLH2Rv14GtfmtyqDpmCE33STA7K+e9rdxaCqHC8 + u33zqm4oQxOX7wuJ/JxeJxExtZ0amu8yTZ+tDtQ4Iiu1VPl67o0mjYrBKRV4z2fC + wa/PKqombrC/qs+2+t/66mB9xaK1YpKnW2FL6Rjs+rZUJJQ16JhJkF7T + -----END CERTIFICATE----- + +ssl-cert-file: biz-certs/Bob-EE.cer +ssl-key-file: biz-certs/Bob-EE.key + +ssl-ca-cert: | + -----BEGIN CERTIFICATE----- + MIIEFjCCAv6gAwIBAgIBADANBgkqhkiG9w0BAQsFADBJMUcwRQYDVQQDEz5Eb2N1 + bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0gTm90IGZv + ciByZWFsIHVzZTAeFw0wNzEyMDEwNjMyNDdaFw0xNzExMjgwNjMyNDdaMEkxRzBF + BgNVBAMTPkRvY3VtZW50YXRpb24gUHJlZml4ZXMgQ01TIFBhcmVudCBUQSBzaWdu + ZXIgLSBOb3QgZm9yIHJlYWwgdXNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAtsRcgBpO7cTN+QGPnBaPtmfdsUZbctrfSBycS3QhwAItzZryqIHN9stP + A+0WEOC4+cfaY9xETqGwbq725p8FRwxUx9NBQS7jrL1ToNCJ+2qSH5ThK2hOQiCT + 3fv2FNJ/7gFFqofWt3mLyNEmnis95pRwzTtqH6ZaAaZk+AzwL77ww8AlwL/qfLtD + mjrsUfoELfkbS4ywFK0orjVKeGvzG8Dx7WiGvwmdhNNJ8/IAZmJC0NI8r9VIfcw3 + 2B7bnDGkKH3E0NNRIajPmLbaNfT0Dxw+BjIC3Ty48o3ghSScqviyThNFyj8cr9SB + Ww8ReAU6v9q4XWRnlZt8Lc9WIsF/MwIDAQABo4IBBzCCAQMwDAYDVR0TBAUwAwEB + /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPzZTgRZylsJph8KV9AU3klSgl8r + MHEGA1UdIwRqMGiAFPzZTgRZylsJph8KV9AU3klSgl8roU2kSzBJMUcwRQYDVQQD + Ez5Eb2N1bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0g + Tm90IGZvciByZWFsIHVzZYIBADBRBgNVHR8ESjBIMEagRKBChkBodHRwOi8vbWly + aW4uYXBuaWMubmV0L2RvY3VtZW50YXRpb24tcHJlZml4ZXMvY21zL3BhcmVudC9j + bXMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCNz/BUN5bsAyMPi0X7oKZV/cAwmr2S + gQgIxaUHnQ6EJp4b2CUmlpPQ9pT/m+gPbajaRgUZmANfMF0uAFZpCP3hTRAc6NMH + 3Pwjzw1ICGSRRJASSizYN4hSxGpWW1hgghGTB3w5CjCm2VlwrQKJjb7/9H/gb4hi + RRZpaudithCEDlgkFhgU4uttSDLH2Rv14GtfmtyqDpmCE33STA7K+e9rdxaCqHC8 + u33zqm4oQxOX7wuJ/JxeJxExtZ0amu8yTZ+tDtQ4Iiu1VPl67o0mjYrBKRV4z2fC + wa/PKqombrC/qs+2+t/66mB9xaK1YpKnW2FL6Rjs+rZUJJQ16JhJkF7T + -----END CERTIFICATE----- + +posturl: https://mirin.apnic.net/cgi-bin/up-down-parent.cgi + +requests: + list: + type: list diff --git a/rpkid/biz-certs-setup.sh b/rpkid/biz-certs-setup.sh new file mode 100644 index 00000000..26164496 --- /dev/null +++ b/rpkid/biz-certs-setup.sh @@ -0,0 +1,81 @@ +#!/bin/sh - +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# Quick hack to generate a set of business keys and certs for use with +# early prototype code. Not for production use. +# +# All we're trying to do here is generate a three-level-deep set of +# certs for each of several independent entities. Could easily be +# deeper in practice but this should be enough for simple tests: a +# self-signed root cert to use as a trust anchor, a working CA, and an +# EE cert used for CMS or TLS. +# +# Among other things missing here, we're not doing any restrictions +# beyond basicConstraints and we're not doing CRLs. +# +# One can extract the public key from a .key file by doing: +# +# $ openssl rsa -in foo.key -pubout +# +# I ended up needing this to build simulated packets for the +# left-right protocol. + +for i in Alice Bob Carol Dave Elena Frank Ginny Harry +do + for j in Root CA EE + do + + case $j in + EE) ca=false;; + *) ca=true;; + esac + + test -r $i-$j.cnf || cat >$i-$j.cnf <<-EOF + + [ req ] + distinguished_name = req_dn + x509_extensions = req_x509_ext + prompt = no + default_md = sha256 + + [ req_dn ] + CN = Test Certificate $i $j + + [ req_x509_ext ] + basicConstraints = CA:$ca + subjectKeyIdentifier = hash + authorityKeyIdentifier = keyid:always + + EOF + + test -r $i-$j.key -a -r $i-$j.req || + openssl req -new -newkey rsa:2048 -nodes -keyout $i-$j.key -out $i-$j.req -config $i-$j.cnf + + done + + test -r $i-Root.cer || openssl x509 -req -in $i-Root.req -out $i-Root.cer -extfile $i-Root.cnf -extensions req_x509_ext -signkey $i-Root.key -days 60 + test -r $i-CA.cer || openssl x509 -req -in $i-CA.req -out $i-CA.cer -extfile $i-CA.cnf -extensions req_x509_ext -CA $i-Root.cer -CAkey $i-Root.key -CAcreateserial + test -r $i-EE.cer || openssl x509 -req -in $i-EE.req -out $i-EE.cer -extfile $i-EE.cnf -extensions req_x509_ext -CA $i-CA.cer -CAkey $i-CA.key -CAcreateserial + +done + +for i in *.cer +do + h=`openssl x509 -noout -hash -in $i`.0 + test -r $h || + ln -s $i $h +done diff --git a/rpkid/biz-certs/08fd5b15.0 b/rpkid/biz-certs/08fd5b15.0 new file mode 120000 index 00000000..4e65bd46 --- /dev/null +++ b/rpkid/biz-certs/08fd5b15.0 @@ -0,0 +1 @@ +Carol-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/0cb21e6a.0 b/rpkid/biz-certs/0cb21e6a.0 new file mode 120000 index 00000000..0bbc896d --- /dev/null +++ b/rpkid/biz-certs/0cb21e6a.0 @@ -0,0 +1 @@ +Alice-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/33b6d09e.0 b/rpkid/biz-certs/33b6d09e.0 new file mode 120000 index 00000000..6a20c98c --- /dev/null +++ b/rpkid/biz-certs/33b6d09e.0 @@ -0,0 +1 @@ +Ginny-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/5210f268.0 b/rpkid/biz-certs/5210f268.0 new file mode 120000 index 00000000..2a347add --- /dev/null +++ b/rpkid/biz-certs/5210f268.0 @@ -0,0 +1 @@ +Bob-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/5ebf1062.0 b/rpkid/biz-certs/5ebf1062.0 new file mode 120000 index 00000000..16d11802 --- /dev/null +++ b/rpkid/biz-certs/5ebf1062.0 @@ -0,0 +1 @@ +Frank-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/60ac264c.0 b/rpkid/biz-certs/60ac264c.0 new file mode 120000 index 00000000..2f3644fd --- /dev/null +++ b/rpkid/biz-certs/60ac264c.0 @@ -0,0 +1 @@ +Elena-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/623ab26c.0 b/rpkid/biz-certs/623ab26c.0 new file mode 120000 index 00000000..95960a41 --- /dev/null +++ b/rpkid/biz-certs/623ab26c.0 @@ -0,0 +1 @@ +Harry-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/6878697a.0 b/rpkid/biz-certs/6878697a.0 new file mode 120000 index 00000000..efc1dc95 --- /dev/null +++ b/rpkid/biz-certs/6878697a.0 @@ -0,0 +1 @@ +Harry-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/71288ec9.0 b/rpkid/biz-certs/71288ec9.0 new file mode 120000 index 00000000..b05a359f --- /dev/null +++ b/rpkid/biz-certs/71288ec9.0 @@ -0,0 +1 @@ +Alice-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/7449ce31.0 b/rpkid/biz-certs/7449ce31.0 new file mode 120000 index 00000000..30a5b8ce --- /dev/null +++ b/rpkid/biz-certs/7449ce31.0 @@ -0,0 +1 @@ +Carol-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/7562977b.0 b/rpkid/biz-certs/7562977b.0 new file mode 120000 index 00000000..808e8a92 --- /dev/null +++ b/rpkid/biz-certs/7562977b.0 @@ -0,0 +1 @@ +Harry-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/80e4ab61.0 b/rpkid/biz-certs/80e4ab61.0 new file mode 120000 index 00000000..17d44d15 --- /dev/null +++ b/rpkid/biz-certs/80e4ab61.0 @@ -0,0 +1 @@ +Alice-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/826d8d65.0 b/rpkid/biz-certs/826d8d65.0 new file mode 120000 index 00000000..21b78ac1 --- /dev/null +++ b/rpkid/biz-certs/826d8d65.0 @@ -0,0 +1 @@ +Frank-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/9844d0ad.0 b/rpkid/biz-certs/9844d0ad.0 new file mode 120000 index 00000000..75a23567 --- /dev/null +++ b/rpkid/biz-certs/9844d0ad.0 @@ -0,0 +1 @@ +Bob-Root.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/9970e247.0 b/rpkid/biz-certs/9970e247.0 new file mode 120000 index 00000000..a40c06f6 --- /dev/null +++ b/rpkid/biz-certs/9970e247.0 @@ -0,0 +1 @@ +Bob-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/Alice-CA.cer b/rpkid/biz-certs/Alice-CA.cer new file mode 100644 index 00000000..00aceaa8 --- /dev/null +++ b/rpkid/biz-certs/Alice-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJAJOnBwhQWiIBMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wODAxMTgxNzIzNDda +Fw0wODAyMTcxNzIzNDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxp +Y2UgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD468em/gEH9CFH +NJoqVteNF7T5Uuuuuh8BXqLyvHGKAbiW+QjRqa1iOCR5ePIBF+GZvp0gqMCAsVYT +BUjEsZGZz9HNoC5oSCB6B3qVOPM4m0KKzkI2oJ7QvxiI4gAd8+aLh5Bw9+GmvuBn +C5qKc23O7Vx5zcqRoT8sEDRuEQVkLkX1eFdO4iUVnYKJGGmveEMuCo0HwEQmOTrl +YSOPLcTkXqka+zPvE5b2RRAnC4822rI5eBPoRxw+T9roijVzpJwaxo2Io+zJVryl +bNpekca6jzPMwXu5WXiDOP+sVUYsR7knHyLQuHGIZVwp74SYeEggQZEb3CXfFCE0 +SJDEzj1VAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF9NTjS860sH +rK3H0DUkwFkAPwjiMB8GA1UdIwQYMBaAFNYW2u1P4EplGEwsRN5mU9TrozdtMA0G +CSqGSIb3DQEBBQUAA4IBAQAr57d1RknjqNEIgQi4oZ8vTz9u3BO59vJAcwbagAZY +bG3CXRD8f3r7CO5/HYNdN9q5agkJU1Jo4E1SLUik0SLwxJ4QzB5QKI/Xv14ibT6/ +Ln26XVe+c97Gexsj13QpNy3OPX4B0u1EiaYcyb1o6h5azxmRyKH+g4chYF8LBSsa +mDW7ruLvI2e+mWPXZlBL6djHSpRpyI7H3KkLHt7W86bPVyCt/WSTWmqOtwZ2jzY1 +mR5VKASC3wClfnx071y4Jyv2tqWGO9KW5u9KTcVMX/jd1wwWjIz1Iv791Zro0lCV +njI/F/ljKa+Y7IqlCoLhgSXLI4K1/vNA4dbQRo71Mm1U +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Alice-CA.cnf b/rpkid/biz-certs/Alice-CA.cnf new file mode 100644 index 00000000..b6e1971e --- /dev/null +++ b/rpkid/biz-certs/Alice-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Alice CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Alice-CA.key b/rpkid/biz-certs/Alice-CA.key new file mode 100644 index 00000000..a5b32f93 --- /dev/null +++ b/rpkid/biz-certs/Alice-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA+OvHpv4BB/QhRzSaKlbXjRe0+VLrrrofAV6i8rxxigG4lvkI +0amtYjgkeXjyARfhmb6dIKjAgLFWEwVIxLGRmc/RzaAuaEggegd6lTjzOJtCis5C +NqCe0L8YiOIAHfPmi4eQcPfhpr7gZwuainNtzu1cec3KkaE/LBA0bhEFZC5F9XhX +TuIlFZ2CiRhpr3hDLgqNB8BEJjk65WEjjy3E5F6pGvsz7xOW9kUQJwuPNtqyOXgT +6EccPk/a6Io1c6ScGsaNiKPsyVa8pWzaXpHGuo8zzMF7uVl4gzj/rFVGLEe5Jx8i +0LhxiGVcKe+EmHhIIEGRG9wl3xQhNEiQxM49VQIDAQABAoIBAExEcbfIu6gkNM4M +X+/5C7I/QUPjFDNE85sH1AVrl54hSN15ECqtQmKFsSdG119eYdEphhsrmU/VBfpt +9A3QGjx2YGIQYiexccHx6K0v9dWyPIErET6LmB19b5cBJ+gFgu3da3QxfwIIGdl4 +xLEHDO4J6/umAhr8vM5TaL0QmgZHTJO8IaTMomBHqbUm/Dm1x5RJQAQp1jGgWhDC +8LC8II5VuzVpbe/hnady9wxzuzPSsRVoiewC/apoTFPVUQ8hjnxNFC1u3uYDNL89 +8ztimGB7U9BxVZpfJ8tM8r5px6AokoLCnDlN8+17MtNXQRNx9nbKu0HnDi7bsqqW +aS+RU0ECgYEA/9JTuaKVyRzMV6z6OobCwrDq9Iy4R+qZxPYSVj3vyLkmJIMKLQrZ +aa0cxyilRs4FkTO+XKZQkLC8XWSJWcr1U5cyoWriGBAo37n9jahyVn+E2YJyQoJB +iV6VPkwkJOhqQQ4fbCEPp78i3ocMyD7Haqqbmd76rH+BzbJ/GZgjiv8CgYEA+Rg4 +iau1Uc/kayfJg2VERjmYGGlc6iLbfKbugMbHC74CVyrAO2aUKlB+Lnu2WdsXKEM0 +ug4wwt2qdGK7pSNzI2qLWVFThbgh5Qw952qTDKWtR/xSaQCRr13mEzuE4/Fz+a/h +vax4RnqIdBFRCOl1/cgK6Wjpbau8U9W2cmgYm6sCgYEAsydQiwhZbWZFlIEHHEWT +z1Smtmx2AadB2LWbUdo+OouvMpKyZajbaS5aoP7OAC/3piBeh/PRKAMdZyopJkEE +XW3dfz2i6McoWMWf07zLldfn6Yt5CSq/Srx6OA6KoW5COxzw1ICyvf8VJFHfmbyd +Ww3vump1kqgY9zyx1fK9sXECgYEAmtSTT/+LFO9D69cvSp0Hcx8ZixLyzhYcl76r +QSBNWN8iVUwdcM6yChs+U2ZSUkf8fOpJO9zWMknWScGVIXCHgNwZAcurPtLVPqn9 +UHrOLG5O5w/PqbTQ2VBkUlAMqiLLE8hfaKZrnGNNrdeVpxR2YuiU38B2V9UHmpSc +c0CBC0ECgYEA4+QQ81qRfzBGmleMEZ3mVM/aIk2psX9A8x3Pghn4OHqWpkalkkCK +QBVOqUDvR0j9zIWSkXR5cnzxaj/HVAvi4tiITQo4pH1m+1tNOWfJAAsDrP+B52/Y +OOOQYTTz5xbYPWEEaFOisnJ96LoknFieANc3ZX2P1vVfoqe3y6yj4CY= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Alice-CA.req b/rpkid/biz-certs/Alice-CA.req new file mode 100644 index 00000000..1d6a39e1 --- /dev/null +++ b/rpkid/biz-certs/Alice-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBBbGljZSBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPjrx6b+AQf0IUc0mipW +140XtPlS6666HwFeovK8cYoBuJb5CNGprWI4JHl48gEX4Zm+nSCowICxVhMFSMSx +kZnP0c2gLmhIIHoHepU48zibQorOQjagntC/GIjiAB3z5ouHkHD34aa+4GcLmopz +bc7tXHnNypGhPywQNG4RBWQuRfV4V07iJRWdgokYaa94Qy4KjQfARCY5OuVhI48t +xOReqRr7M+8TlvZFECcLjzbasjl4E+hHHD5P2uiKNXOknBrGjYij7MlWvKVs2l6R +xrqPM8zBe7lZeIM4/6xVRixHuScfItC4cYhlXCnvhJh4SCBBkRvcJd8UITRIkMTO +PVUCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQC/XNBkANITakpqRmw/50DnMXEx +9bIlgXNME3UmxbWusltwerI4NlhecI5QFJoMcu1dYNvbohHJiXhQKA+OeraX9Szl +e4/6h5fHR+o/xwq4VlTKPFz1wlw3lDZTAHG5B3tjC4eQQ8DJYXkJGKL9qj975WLQ +o6FfgBv7JsUc7eC/wIzqa+EXgHGneBf8+Mg860pbeUHV/W5QQqDu+euKIJ5IweAa +MFS5ATRhjv+IDI9FyTxLQ7UqK+rmC75IhdgIOS2wPo+1vPWufmVvWJDZG/GfajEJ +OFfKheiAhkbk8iwsW7o0HYTb5iZduVatTp5iGyxzdo5iHg/duSLqCEVzm/pV +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Alice-CA.srl b/rpkid/biz-certs/Alice-CA.srl new file mode 100644 index 00000000..a4acb46b --- /dev/null +++ b/rpkid/biz-certs/Alice-CA.srl @@ -0,0 +1 @@ +9B985E838A1A1B13 diff --git a/rpkid/biz-certs/Alice-EE.cer b/rpkid/biz-certs/Alice-EE.cer new file mode 100644 index 00000000..7a535623 --- /dev/null +++ b/rpkid/biz-certs/Alice-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIJAJuYXoOKGhsTMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxpY2UgQ0EwHhcNMDgwMTE4MTcyMzQ3WhcN +MDgwMjE3MTcyMzQ3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEFsaWNl +IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwInHWCqaezl1ZC2X +16mmWXSBVrOvIQMKq1HxbijymfjZYWR5JqTDicWG1yJDiwecOQzxV6rlzLPQmFwj +F/f3PJ0EZNooJigVU8McOlKWtT1c+CQKsUGETSrn7wbDWj8aPCLNHpCP3dWQ4Rxj +GJp3xuhB1vxxnNPaxV99SBJHzJwXeNiVPSl8pOqfdq4XGG78sEM/0Bt+MqngPhUC +cAP3LUhg3edFRjTu8SVIjccHVkZydFajKN6trsn2G4bvM3g2vBAdV9TFd6xQkIyO +CX3XA7MsTqbcA5PVZIBL54HSYk65EGzy0cfObZvoaHFnNYmOXfZyBt7O8owy9HG3 +7ye3rQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQT21/Yztl10qmJjFV+ +m8RFKQN17jAfBgNVHSMEGDAWgBRfTU40vOtLB6ytx9A1JMBZAD8I4jANBgkqhkiG +9w0BAQUFAAOCAQEAfWfqc1MaIhCdqC5gjHwB0WV1rvkC1RtvAGBf026DbpbKbENs +tqM/5n2SYyBAWtQKvuT9ivfDeq9Q81uARFXYA/vHAMKG8N7YOvd6tiwofvNeHsAV +OoQOM/oNaThNK+ADVYJ7+EV+baWRKRO20MbdQkDnhPPZyJXqNGeMT/KXGSTB9puS +HhUAE94h9qLmLPvPREy536CSRq2RBBBMhb/zcX0bQQggvclaBKZTT1lW2x5jHnCC +n+IHToCVjzjVJqdNneKf4NVbEXfzp6IkXol8CPcNMdGKRxivl8rSBj4pRs5t2azd +ZJIkznwZkDmiIbEmHPvzL9wcXi7Mu7jr8tp5Iw== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Alice-EE.cnf b/rpkid/biz-certs/Alice-EE.cnf new file mode 100644 index 00000000..bd9c175c --- /dev/null +++ b/rpkid/biz-certs/Alice-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Alice EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Alice-EE.key b/rpkid/biz-certs/Alice-EE.key new file mode 100644 index 00000000..709a07a9 --- /dev/null +++ b/rpkid/biz-certs/Alice-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwInHWCqaezl1ZC2X16mmWXSBVrOvIQMKq1HxbijymfjZYWR5 +JqTDicWG1yJDiwecOQzxV6rlzLPQmFwjF/f3PJ0EZNooJigVU8McOlKWtT1c+CQK +sUGETSrn7wbDWj8aPCLNHpCP3dWQ4RxjGJp3xuhB1vxxnNPaxV99SBJHzJwXeNiV +PSl8pOqfdq4XGG78sEM/0Bt+MqngPhUCcAP3LUhg3edFRjTu8SVIjccHVkZydFaj +KN6trsn2G4bvM3g2vBAdV9TFd6xQkIyOCX3XA7MsTqbcA5PVZIBL54HSYk65EGzy +0cfObZvoaHFnNYmOXfZyBt7O8owy9HG37ye3rQIDAQABAoIBAQCp/7zUGuHFVUlS +R3NfRvqK13Rvoj1KD453D+X01xDFZFRDStwxg57m4VIaV7V9Zx3HvabGOi2mnUnb +jNarjhRtH1JG3dw/PHsANzCQSmWo5uJUcjZCpc9z9yNMCBOqdjbqy+uCRi/QtYWz +TUYt7g09wcqIUOLbjq8GQDa00Pc2Lz+M8qRMTnmQ4C85C1Kv57CkoJooOXNpcaSi +U/OqVWMHxMmm9FmwBoR9+R181ESuPoqZFuQGu1zGNk+bk09A7kAqcwJYgDygBK22 +BvVyY0pzyVFFpOxK1bx3NB1V9vTYErCxbY0vD7Z6jduvwD12cONzJsnB8qJmUElu +g7DDNZnhAoGBAOiLjwjsjHf0ughQ6qhkE9uCYs+34dAzuXVS3TWO/AYrKYYZMGd+ +YkSQ7oQrEaHbVbTSow+BCh9PPBs/FrW5XbtqmYUKZnOMpw8/0M1jF1JxHP0X3fLI +UXACX5RQS7HZdjOyiE8daIYNENhAA2/5FziuIIepVl+J5hsrmli3daeZAoGBANP1 +OAXwE4bo6GJoK8e9AyLuA42GQjO7boNCoqoMAaPSC3P8Eq04VwOrZO0R3AHy/vcD +hBVqdALrQNUSCV6du5tOQ4z5ezKtrLwVzlTlM5srpwErEab5EyifhLHdlGjj8t8z +qyQrKfYQ1BYKDde1AGSK82703tlzNeLFg4sFW001AoGARI6IT7A1RVQf2D3KwHQo +qolJCkYCy7fEEEOqtZR+1m65IjCg5ZIL9Hzp5Isx+o7IOLP0oKiBTHO2m63Ayzhn +2s31jpRfWed4hPViYHq7MHHqgu8bXu0RnT0F4pq9hiQ/RcR3jSN1YjfN5IMSwFsm +Lm6fZn9U2Hu2HAKB0W/cvtkCgYBAPls0sYe5pG6LJTff2pJQzAOXqdH3DCB6+H+F +Ow5kMQ33obeneSQmoJR+pqMglB5jkFVAiHuRRuznqAfe/cAXWqlu2U9WFP3+JD3d +zXrO1XRRDlTTXztHXNJDdv28rRq4PFjrJYoaYw9lfrajYuEzmEogn2fMUPdMPMGa +KY164QKBgQDL/aFPY7QKYhszS2afcXtGFKCfEodfPm5/iZa0Eksd8zdRJCG4LZHR +zE6d4IEfcdGZOih9Y2YfKFUWARNWL80DKixQxmY6MAfhBao2y/OAMyrLnR0F6ueY +D3tDy37ogAHD+GegLJf2o1Hsty/WyQo1KoheHXJ25R3On09gVbxpMA== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Alice-EE.req b/rpkid/biz-certs/Alice-EE.req new file mode 100644 index 00000000..9d7388b7 --- /dev/null +++ b/rpkid/biz-certs/Alice-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBBbGljZSBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMCJx1gqmns5dWQtl9ep +pll0gVazryEDCqtR8W4o8pn42WFkeSakw4nFhtciQ4sHnDkM8Veq5cyz0JhcIxf3 +9zydBGTaKCYoFVPDHDpSlrU9XPgkCrFBhE0q5+8Gw1o/GjwizR6Qj93VkOEcYxia +d8boQdb8cZzT2sVffUgSR8ycF3jYlT0pfKTqn3auFxhu/LBDP9AbfjKp4D4VAnAD +9y1IYN3nRUY07vElSI3HB1ZGcnRWoyjera7J9huG7zN4NrwQHVfUxXesUJCMjgl9 +1wOzLE6m3AOT1WSAS+eB0mJOuRBs8tHHzm2b6GhxZzWJjl32cgbezvKMMvRxt+8n +t60CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQBgf6fyu5ZkZViSYEQ6aVkOmvoM ++f0700E3T6TTq3bnjNXZL/uMGzHK8sXH9hbUq6m4LA1C2Sw5HKSYYRhbUD8MDdLk +jCNQjFKnQPdhbknO7Rb6VABQLJ4rOSjv1i01Jnbu0soIyGMoUrb7i3bUY3KGRqmX +ZxY30SBDu7kFcA7qKVH93sQm/QeNO7lLUtPJ0lLwrR0DcZ/GNsIx1FrRSWtMOqnL ++ORzjGir0IZVGigpp/6AxuITJoNb40McptcqRzuDHlU8pFG9dKL2uHWDCSsG9V1w +yA8ESECBg4J1RkpJEOk6E1b8xsMUIyBPtmKKj0JlCMd7GfoVIlknZ58OfLRl +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Alice-Root.cer b/rpkid/biz-certs/Alice-Root.cer new file mode 100644 index 00000000..5f08ecd3 --- /dev/null +++ b/rpkid/biz-certs/Alice-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIJAKgtUQl0EcAgMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wODAxMTgxNzIzNDda +Fw0wODAzMTgxNzIzNDdaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxp +Y2UgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKUzjQ7dObY7 +fUKAxi/7znJ60Mi/s1rByfHs4Onduc27dw+7tS6D0r0k+zgCFpkNPl98XRR6LvJJ +ckRMVIjPvSIoe3EN683Bwajq24VUAayZ1Nn2muy4yN4XHtRep7Wi51aRWVSR3mTk +NUn+a7dEtWlONtHANbbBcob8/Ufe4L+jO9PkNOWEtIJMjcxZsq4Zq1QXvKGNZbPh +/Ous7orKsdVCOp5mEjuLpCYef4cTlZxk7q2CItk4hRDi6bG7BaMcmlm1Rne8YTvu +oUXrbWgfxSeis2augNKQ2NvEmIqS2Njau/5x4WD5qyTGqj5CrTOCNZfa21G+dshn +cj11ksaax6ECAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQU1hba7U/g +SmUYTCxE3mZT1OujN20wHwYDVR0jBBgwFoAU1hba7U/gSmUYTCxE3mZT1OujN20w +DQYJKoZIhvcNAQEFBQADggEBAFGdMrMoeal6enLiD9YFVGRw3GsUzzpvKHawTiLz +UeGcEwZc7aMiaz3z4f9ddEL0VDbl0h22uFqT2C42r1mNUDzF4xR8VtJVrKQCF6Aw +gLNGo/7+q3Ns/Q1/LCRu9SjH4Y7rqBUbHH4JVn5xfdRpiI7SoNb24tSDUtMRMdes +40hLNY8lkvTa82XVEKs1K0pWnzd/98gq8asQMPrNK+y66SKBDjGFxORf/v4jgWLM +XfRGVGfgXbjQJZch4+nEte0AzwgjrwCKbJOHsq2BuG79WiGDY/UpzTCCcqnNrkYY +SgcSPJKcERid0XcYNu+tTERJ4HcNfEiNfItMiRSTJIgorL4= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Alice-Root.cnf b/rpkid/biz-certs/Alice-Root.cnf new file mode 100644 index 00000000..78089bba --- /dev/null +++ b/rpkid/biz-certs/Alice-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Alice Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Alice-Root.key b/rpkid/biz-certs/Alice-Root.key new file mode 100644 index 00000000..1c417192 --- /dev/null +++ b/rpkid/biz-certs/Alice-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEApTONDt05tjt9QoDGL/vOcnrQyL+zWsHJ8ezg6d25zbt3D7u1 +LoPSvST7OAIWmQ0+X3xdFHou8klyRExUiM+9Iih7cQ3rzcHBqOrbhVQBrJnU2faa +7LjI3hce1F6ntaLnVpFZVJHeZOQ1Sf5rt0S1aU420cA1tsFyhvz9R97gv6M70+Q0 +5YS0gkyNzFmyrhmrVBe8oY1ls+H866zuisqx1UI6nmYSO4ukJh5/hxOVnGTurYIi +2TiFEOLpsbsFoxyaWbVGd7xhO+6hRettaB/FJ6KzZq6A0pDY28SYipLY2Nq7/nHh +YPmrJMaqPkKtM4I1l9rbUb52yGdyPXWSxprHoQIDAQABAoIBAEM7p7zU7BfuPhxC +rGX65RpSQYZx/lyBYd7DuQV055mDIgGVMzerDqlL07IHp4rCiQ/zXS5oS5LvsUF6 +jyze3up370UjlUQ4BsjoTE8G0Wedc7MBWivdSGKapkFoBHk3w07H+MMiWpBVEBr9 +IHmFzQ7+dfEHeNTYBfRKIgqN+ooDDYBAQVmu2fbJqE+9dfhlej0gR8YkWOB7jM9G +OPUVp6EvII7LUyJcNBJs60AYIvLClmr2nUchr8pN3H6nlZCWu7RkBOSoJKwjmQga +I15SPQP7XhoHQigk/Yb9JCs1OsU/Ia/49HrUa1KsaxdVnAOTbLAhlP7UuFOgxGjK +jHre/MECgYEAz5OMGmoYSVD0DFnhswA2W2Nr7kKSNVt81S4IfVfdTodae7f2E7N1 +APO4CkuT6EKEvnzH/HVZmtzOYgXvgL4vY/GxDEg7mcd28l29aIQLWamdC3/68UTf +KcnLtRn/bvM0zdXVA7w7lKGmNvb27+gVtKj5rsUBDHGyfyRm9YlQvr8CgYEAy71e +/6pp7TY5pZlrgTxKVPugjG2bhkw4fhiuCbz/2Qa84hZj/1JYdPxVlm6a1Ggaw3ye +bar7uC2nH5WkUYYOa0fsVb6odso7vdgtmhQ/KCtSRFYkKeV3lIqTRaTaTidvMW47 +Jyq5HVrROuHu85Hq432P4vxx8bTpPVVreRk+cZ8CgYEAnkIR+TmWVp9/0cLdTwoE +Z1y/tyHOMxwTarz0AAxzUCHmHJk+5fpWZGlskXzZwaSlbE3ac2JM9MMQHrAD0BYw +L3Tf1UtlFXN7/oD1na++r5efglsKydQGiOevhd3SX5bRVXWIOJbUnhc4kINt9a7u +jZSe+F5+1CwDOOhaDy2oACUCgYBr39zI6eYkHy3urIjraIzC6mhbcj2CoiDXQyID +LfsZYiPoYYqYyXTknCaE/BMmm+hv0S/hSUL2hdWTN5xFPgGsc+yCieyQ2QtAvZGH +n2jBUA7C+Ak11bW3BJhtq5ebAe4x8feICWryS/+0eaQXew8vXHAu8xMxs2Q7gVri +R6d0aQKBgB2icc334t8YErRr5t+iykls2QHPpRESxW2d8YDt8LFQKi0QfQoLpFPO +W1XMVX88rwCIr2dK6+CgHgSPrwdaefxlgT7bzvnkircVotpe48PkFI6W3Wm398iE +V29ErS5e5gW1zvrKlk7m/mteOf9E26hYUZDN3kNALiZ2k5GfGnsh +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Alice-Root.req b/rpkid/biz-certs/Alice-Root.req new file mode 100644 index 00000000..ba90a1b6 --- /dev/null +++ b/rpkid/biz-certs/Alice-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBBbGljZSBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApTONDt05tjt9QoDG +L/vOcnrQyL+zWsHJ8ezg6d25zbt3D7u1LoPSvST7OAIWmQ0+X3xdFHou8klyRExU +iM+9Iih7cQ3rzcHBqOrbhVQBrJnU2faa7LjI3hce1F6ntaLnVpFZVJHeZOQ1Sf5r +t0S1aU420cA1tsFyhvz9R97gv6M70+Q05YS0gkyNzFmyrhmrVBe8oY1ls+H866zu +isqx1UI6nmYSO4ukJh5/hxOVnGTurYIi2TiFEOLpsbsFoxyaWbVGd7xhO+6hRett +aB/FJ6KzZq6A0pDY28SYipLY2Nq7/nHhYPmrJMaqPkKtM4I1l9rbUb52yGdyPXWS +xprHoQIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAJ8l9c/L8ksoqCPClE2Qmzuk +E/MeAcpMMM+m0mMOTNFL66luwRqaCj3X9jF1ZKfpGRhXh1u+FUzo/zIIgUvGtvYZ +vhhl9CJJeN3eweRJzyqDCWHSlwVvZlr1Hgeapwcaf4qxOb1ZLlYgvMKCaPsZ6Q/e +wOdjBHQy7j0FEuvcd/AZGWI4aGfsXWptMnHVgR3FT0KrQhsCgqgJLfvv17R3vrkm +FhqRImwIq2HXNSEHKaCIK+05K2Ke6KRhDI1ry4HJUZQrbg/me5+xlA9NlLWkRjwY +xS94d6Cx0Is+3dYRDTK0SEpbT9/QcOOisBsKNEN8NSHIoRJG4OFEx9olUBGFe2g= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Alice-Root.srl b/rpkid/biz-certs/Alice-Root.srl new file mode 100644 index 00000000..2f14dc02 --- /dev/null +++ b/rpkid/biz-certs/Alice-Root.srl @@ -0,0 +1 @@ +93A70708505A2201 diff --git a/rpkid/biz-certs/Bob-CA.cer b/rpkid/biz-certs/Bob-CA.cer new file mode 100644 index 00000000..98e21886 --- /dev/null +++ b/rpkid/biz-certs/Bob-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGTCCAgGgAwIBAgIJAJMWVNPEHXnyMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDgwMTE4MTcyMzQ3WhcN +MDgwMjE3MTcyMzQ3WjAiMSAwHgYDVQQDExdUZXN0IENlcnRpZmljYXRlIEJvYiBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANs7D3bWU8rxiAn+Mhap +INpgBhMWazoSWDramC5xIInJj7cwa3zisJ487q5dUqsWyGOS3MNTNJg/NTGz2zEG +HI1GmBh4jGAhZYQCwqdEk6wm5aWPvICLZFIGKHtugPk0V8eN4QxdNm/0Yo6j2ne+ +1XHL3BS2quKTlTGE4bEcneH2397RJFjgWS2JKMFXXlOg6WwHEvFVl8fiFHpxueWQ +dVSBHwl10osBxzeK6W90ofeX2PJ12U4uMO2vBAMIiosmQ8QPtUICohPdJ3zM6b2G +q5/NpG/0cH8Yd6HI/VrgXeP1g78VHw3oTnui2w04PTT07a+0GKzos4ssH/CmqD3k +m3UCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUu8ac0kfdNo5qjTPZ +mvBg0urCTkgwHwYDVR0jBBgwFoAUJUQ5+BR+Qt1BwUU7/P+fVgkRe/cwDQYJKoZI +hvcNAQEFBQADggEBAD2dZzAEW41g4OnEsOo5XPtlgGBIF/WP9iV4uaqDyfgo95D9 +PcJn6ngg2QW9NHIpbse/HuQHX4xvkO+q5Be4bu0wAW2aSAQuFJ+WDM1KSQCLuacx +qqDmbpZ1/gpnSXzAzzNqzAq0WkYr0ybJ6f4jqy7vbSRRJS6pzmIUhfqfxE2gTVS/ +IPq6iAqw5g0t3E0RfVNIT68Kfv3VBhOv62Mq66NpiwwDauOqL0l0waTVXRiSVwdO +WZKFjSVA8bcsz7egThw7zc1CHG1P01xWi62I3CLCKMvPabDp0APbprEE29ATS3lc +oytsQZ35W3lZkvR14yYNVaks9xxQWiK2RKpQYOU= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Bob-CA.cnf b/rpkid/biz-certs/Bob-CA.cnf new file mode 100644 index 00000000..91dbff0c --- /dev/null +++ b/rpkid/biz-certs/Bob-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Bob CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Bob-CA.key b/rpkid/biz-certs/Bob-CA.key new file mode 100644 index 00000000..d331ba47 --- /dev/null +++ b/rpkid/biz-certs/Bob-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA2zsPdtZTyvGICf4yFqkg2mAGExZrOhJYOtqYLnEgicmPtzBr +fOKwnjzurl1SqxbIY5Lcw1M0mD81MbPbMQYcjUaYGHiMYCFlhALCp0STrCblpY+8 +gItkUgYoe26A+TRXx43hDF02b/RijqPad77VccvcFLaq4pOVMYThsRyd4fbf3tEk +WOBZLYkowVdeU6DpbAcS8VWXx+IUenG55ZB1VIEfCXXSiwHHN4rpb3Sh95fY8nXZ +Ti4w7a8EAwiKiyZDxA+1QgKiE90nfMzpvYarn82kb/Rwfxh3ocj9WuBd4/WDvxUf +DehOe6LbDTg9NPTtr7QYrOiziywf8KaoPeSbdQIDAQABAoIBAC1IgMQ6NyqnQ0NV +J0F5A9k3lmmg6tse6OyXNHH7Wg47/RyIutsb9AFrcp2/lxDR7uhqcIFEEYwVGka+ +8NqqeYFRAJ+lXtGIdHCVJWHpj1sy2aKeEwC2Si2LKhd81tUi07Lbgo3MPy9W2ni+ +LaUoXOxZgIciyB9u/pUw7nFoCNCgjN6/VmYZO8R75SYPf+XfKawKkkZH6Gc0LiiY +NN5Am4fpmGKCdPHUFoZPA3tkTAnwoZ8a7Vckt4DSOn+Eh6R1DU7u9k08zTqSj6Tk +ToKah9hXi8kxkHMqkaKQcrZiwJNbdVqJlJiJMKadOsWS9lOjdIQC7VVh+7V2fIyb +/OPLcm0CgYEA9yDubu/EN2Lu/i4T8SR2kGOYfH3EmjXgy5LMfDRFNK81yer6mrLy +xQhPvyEPVnz7lvUShP4igIuBermD6PhLm4pXrQnd8Kpu7Qina1xe8R/5HZHgyVXA +J2PFtmoqowMwUMbQ6jwNKtWybKzJDKKf6WaLNaqGgawJObNTuLaKK0sCgYEA4xnA +fuGs4V3U7h4AieJilEcUeF3aWk70OrAdkFNVnrMnW59dGmACmJ10NIeMnzGtJ1lX +q/IOZmSag91O3SADOddp5+CjuqvU37Wi+ve+Z2f+qI2acHnBN54PlUEhUO+O5Eyv +3WkJIKn4MkMNLNqJ9woGpq1L4MDbHMvdrVzfXD8CgYEAmDWbRY69ztNLmhhtRfAM +aqA9MigQaF7Y5umysqlLGsjzmzr0QUYIity0qWbGWKHAH9kwH+ObAotqI1mR6nLL +trA9kiFqpimDCtFytIh/HYpw2AqaZcdAA8LK6rB3NFHpd0cNM8fq4EAglhjR98tO +LOZwxYwTLlj0kapm3XToowMCgYAMzdPjk3e60R6DOl/PZlsmfwdxbeE0vETa1jkk +fP5Tz0gFy2tlZEphLmdx2r6b7yITGN9vi1syfLOVgbHDl912smV/NFQm3y9GWahR +vAwZKmzaNfmiI8s4BopcYOqu9IK67nPv6M8h71NWCh/BCqVCr2cGmLixeE4iRoA+ +GQFi4wKBgEdZI39hulduXBo0LM5+Gc2WowNAGMk5cu9JS05Ypm+fpepn9Z7yXX+g +y5PHJthN5IHDOWxPDuOI8vKdWumqwMJwZaXnuiaTzRcfHKHTQsFuFJz0KbkLFd0o +NPdLjn20zsJ3ZniHgWwt231trs81f9ZApUO2NAa0KcVGdB6iYk2j +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Bob-CA.req b/rpkid/biz-certs/Bob-CA.req new file mode 100644 index 00000000..ec8cb2b2 --- /dev/null +++ b/rpkid/biz-certs/Bob-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICZzCCAU8CAQAwIjEgMB4GA1UEAxMXVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbOw921lPK8YgJ/jIWqSDa +YAYTFms6Elg62pgucSCJyY+3MGt84rCePO6uXVKrFshjktzDUzSYPzUxs9sxBhyN +RpgYeIxgIWWEAsKnRJOsJuWlj7yAi2RSBih7boD5NFfHjeEMXTZv9GKOo9p3vtVx +y9wUtqrik5UxhOGxHJ3h9t/e0SRY4FktiSjBV15ToOlsBxLxVZfH4hR6cbnlkHVU +gR8JddKLAcc3iulvdKH3l9jyddlOLjDtrwQDCIqLJkPED7VCAqIT3Sd8zOm9hquf +zaRv9HB/GHehyP1a4F3j9YO/FR8N6E57otsNOD009O2vtBis6LOLLB/wpqg95Jt1 +AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAqTkkoDoNpJ0j4E5FKEWTRA2jTKXh +Ij4W7WUYs0XSqyHaBgT59+WXEXq4VQfxRAWyfZxMzt08/7wJQJaa7FgE1meQA/dT +0/0ObBL8ebLACAuLGNnRhfF9q1uO5qRMLEPyl6SeRdbTEo6pjzE2sIA9OYtV1AK2 +UeXVTL60KRL3IA9tyLEPBKpmVN6IeIUbpbeDa8DWA6zWJd8A4i9UukjUqO/Of5ZZ +c2pXR5MF2PXDzwerbrSQQ8qIDB6PDuiqPFG7RhYpo7zeOiJBATUBzeO9EWt3Ij7H +zGOtqwFd1jhFS4pTYKPGS86SFEk0xyDFR5fivkYhLK5aNDm0KJaWlNxZHg== +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Bob-CA.srl b/rpkid/biz-certs/Bob-CA.srl new file mode 100644 index 00000000..89899213 --- /dev/null +++ b/rpkid/biz-certs/Bob-CA.srl @@ -0,0 +1 @@ +90801F1ED1945562 diff --git a/rpkid/biz-certs/Bob-EE.cer b/rpkid/biz-certs/Bob-EE.cer new file mode 100644 index 00000000..88411f1b --- /dev/null +++ b/rpkid/biz-certs/Bob-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDFDCCAfygAwIBAgIJAJCAHx7RlFViMA0GCSqGSIb3DQEBBQUAMCIxIDAeBgNV +BAMTF1Rlc3QgQ2VydGlmaWNhdGUgQm9iIENBMB4XDTA4MDExODE3MjM0N1oXDTA4 +MDIxNzE3MjM0N1owIjEgMB4GA1UEAxMXVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgRUUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn/+Kvikpx8u3PIhKhfNdJ +B4rdyQ6ixHJAItlSyI1CmWZLp1j1f7tDC39B3uLMLWHuSQDeDwSR84vGuFxMKtCf +E0uuUpkxR49ADsz1vFTM8SxVkqKAerM1zaQOC/RD4CkZxaIrfOcfZnqShUEUrJAR +MAb/zPfLZ2wiS7RlsUipfx+/LforuNfft+SoNDQmZIU8buhTUFgwhdTtE4Nbj+dJ +yaQ7Gw/m9QjStm0SUDs4duxE9XLS1eZpYLdLpnf1UDQKOmW+PHFDyVEmPuE0y/b2 +b3aFYEpegdxa97wTNm5vsFE2ESSZ4lrIHFAHwsK9H9rZkdGIgm0Zg6JEiiUdyw5J +AgMBAAGjTTBLMAkGA1UdEwQCMAAwHQYDVR0OBBYEFK8qXFH8u10Oq2Oid5YHUqOd +OFNuMB8GA1UdIwQYMBaAFLvGnNJH3TaOao0z2ZrwYNLqwk5IMA0GCSqGSIb3DQEB +BQUAA4IBAQAsunjCQnQjnV4bNVNM2QAA8r9LUuJQyb8aI/ie/ysAarao4csu2fSw +tfcdpgB8PKTFp5lQw69/aqDw1V/8oPKnw5X18T0sEEk9OxR6PILWdmRCcuIw9lOa +YtRZ/NSWnpaluFKc/nLxwXaeFbur3EFnavEOZD63+ETIldkbKI2KNO3tGUsJWXgT +yAYEiJjGX2j3Ysq0VIBIYseYRGIp8tTRAEFLrjz0elSURPO+/Q9xrhqOUeEC/2AL +rLX79K30VmwKh6Fuplt+ibh39+8duK6nAvRK80gnCh7yJGVKLK+dk5YNDLcFksm/ +Ik1FY90CZ0Yly+6AagjXnjuLjWaGekbS +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Bob-EE.cnf b/rpkid/biz-certs/Bob-EE.cnf new file mode 100644 index 00000000..03a517ec --- /dev/null +++ b/rpkid/biz-certs/Bob-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Bob EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Bob-EE.key b/rpkid/biz-certs/Bob-EE.key new file mode 100644 index 00000000..fe2d8a29 --- /dev/null +++ b/rpkid/biz-certs/Bob-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAp//ir4pKcfLtzyISoXzXSQeK3ckOosRyQCLZUsiNQplmS6dY +9X+7Qwt/Qd7izC1h7kkA3g8EkfOLxrhcTCrQnxNLrlKZMUePQA7M9bxUzPEsVZKi +gHqzNc2kDgv0Q+ApGcWiK3znH2Z6koVBFKyQETAG/8z3y2dsIku0ZbFIqX8fvy36 +K7jX37fkqDQ0JmSFPG7oU1BYMIXU7RODW4/nScmkOxsP5vUI0rZtElA7OHbsRPVy +0tXmaWC3S6Z39VA0CjplvjxxQ8lRJj7hNMv29m92hWBKXoHcWve8EzZub7BRNhEk +meJayBxQB8LCvR/a2ZHRiIJtGYOiRIolHcsOSQIDAQABAoIBAC2DgotiINcMJGc4 +aOm9I6oSVAnP/ZoVNIqxpkTqNnLzkiYu2Ufxae84/yn+U11TcjOXLZf7Y5aS76xP +qBmug8SE+rzofb4/D80f9WEhu6umLwej6Uh7dW+/HZH8pRl6ckgcJdo4RXlZTx3A +4ifStFkjtNG6WuuNQltsPRxL0k6wxHNERCYnU7biV6G0QhOtQfXuUo2f5eud1vfv +mM+N0DA51EAfFxQw/J3P1OxOgj8k20aehbm7j1eLiFitXHBEA/Mt4I6RAULxm3hj +a249inqlRAJJZ69XTSpLBazH0Z3vcfRtOeniC01IO2jtDeBukor20jjSQ0HOU4KS +H0yDwgECgYEA3US5w30FrBHbGxyunM0HKolo7wPHlGAwXoXiAlPZq75awBxCKa1o +IJH+nZlKeUqIt1kzLAZ4mSYsOdtT1unOD4+2+mg31mmPw+WnXTcBGter0u5r9BHf +aY9La1EHpsm7kZleSR+GOwRdkY9u5psm63B2pJ6UkbgQScq2dWE3iMECgYEAwl6l +EmKT8U4r7/DT30xXB6G7Q8hphtD1EQth/zub/qP1b/r7zbWXcy194X5sVkWM0Xv5 +sjoG+jI4zXyyspyucoXgqtfOE6MBAs5ifK+lC1LVP7vYaK/DAzAjaZq6BxuF/MNA +RNFY3OMVScO+cbBDCDePHJjj6+c7LlxrI9bjn4kCgYAfC2Rw3BquoLa4IBcTouSN +gEf7uPEIjVJcALbMEs2ofgWnjI9v34eLglBR9k7vo5h4+Qfn9mR3QFbWK0KhFZ62 +qjhG+9ZRu+/S0Wbg+jWqeXX/GzqEPPm2isdPIEhNi2JItFb5NXYU07D5GkG6Eyyr +vdS3lhRMOaH3aHyfDWvIQQKBgD/VO1sNWs7NwGo9aieUd6R+/fQl1lo7N7CQT2+2 +EOYQzKMpBxcowwNFdmjezw+KKdQGZhudKPt0EOmTQVCdWkEsLHuPAhO63bMhOoD+ +YjKU0onq1AiVaHMclRSyhtOcu2Umbm3rXsa0ISKnkVze6TTColJe98Nanjn8igcs +JHcZAoGANXOUvLjB7V9xrf3ixdbmh4/I1jFkBM/csYHjTYLIWlaxYRIiIib8FaYx +npZ7dRoZ+IrLPqwRwaaUYo+1iWa8lH0C3cNnRKDxkvDdjjMmdoGX+RjTroWzoN16 +zOVZXQNHzGKIMjGeAOZ0poIEWho5Q3JLiLETfV9e9JYuWmudjK8= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Bob-EE.req b/rpkid/biz-certs/Bob-EE.req new file mode 100644 index 00000000..497f54be --- /dev/null +++ b/rpkid/biz-certs/Bob-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICZzCCAU8CAQAwIjEgMB4GA1UEAxMXVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgRUUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn/+Kvikpx8u3PIhKhfNdJ +B4rdyQ6ixHJAItlSyI1CmWZLp1j1f7tDC39B3uLMLWHuSQDeDwSR84vGuFxMKtCf +E0uuUpkxR49ADsz1vFTM8SxVkqKAerM1zaQOC/RD4CkZxaIrfOcfZnqShUEUrJAR +MAb/zPfLZ2wiS7RlsUipfx+/LforuNfft+SoNDQmZIU8buhTUFgwhdTtE4Nbj+dJ +yaQ7Gw/m9QjStm0SUDs4duxE9XLS1eZpYLdLpnf1UDQKOmW+PHFDyVEmPuE0y/b2 +b3aFYEpegdxa97wTNm5vsFE2ESSZ4lrIHFAHwsK9H9rZkdGIgm0Zg6JEiiUdyw5J +AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAXJT1EVOwOaGyjCMepYaDwsk7U11G +7uEmGwX6I1Ry1kZwyxiItnaIDhlB4fj3kKKUgXHk61IoFzYiLAU++di40dYNuULT +Y+/HJ/CDiYIOweGSj+c43otItX2ak0fTmS57KySlrk+Q0MLYdhsGfkgH+suKa0WT +KEMM7p7pnnzXVDS6EakdOnp+1LOtHz1n5wu9NzKNL1FKBmMiR3sSRobw3mCiNgPx +0kHXONEq5nsTjmAOMeqxmuguJObMmXAU0ZLrTqdi9bxRkfKHhKRjDgeSqEKVSmpN +Lw3gKB3Rk48hvxVP3rp/sRJ65Ja0bbwVAJ1DnNagzyPxNH/HAr17qt6mmg== +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Bob-Root.cer b/rpkid/biz-certs/Bob-Root.cer new file mode 100644 index 00000000..f7a041ae --- /dev/null +++ b/rpkid/biz-certs/Bob-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGzCCAgOgAwIBAgIJAP9xmM46o4DbMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDgwMTE4MTcyMzQ3WhcN +MDgwMzE4MTcyMzQ3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5EdHnAvefaawcNq9 +jBUnfB927TeborbiIst1bZmYLid1RMz5JjFWr/pUqKU/wsLKxJK2h8bBW+K21ePD +mJZrhyBDj6zNnlJUzyVysLER/jQ6hoHIhqZv/OR8q6D7eeXIFZGm4fsQLM0RsyYx +6dF0JyI2uBpRVEbvyZUhsxjmfGwf7oygvaNp5c2kWftt9YADs1VnBy6HITUvyUPB +Dc2rQWPtOqYo6jhRn3Cj+uY++pJVuL0IgHaofEu7n//t+f52BC31+qW5UlKjhkg+ +S+dlPxqwSf6Bml+wxN0y37fFuTGdL5IK9HMfC104b7fInsytrVAVjkMHAp8d5XSu +pbfctwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQlRDn4FH5C3UHB +RTv8/59WCRF79zAfBgNVHSMEGDAWgBQlRDn4FH5C3UHBRTv8/59WCRF79zANBgkq +hkiG9w0BAQUFAAOCAQEAlAiW6kYCpLOqpG5PJw5EDBVheffUrSjBO1iBDwKG9gus +qgl16XgeEAZfvCAQ6/xHN8yOerKcrVuESnHwvhlhzBDGXZ23AH0Ng73wiVGcya7h +urFvGf044k+6NdFqnh8fVRTZy1wwZIDG6/GFTOL7QPppKTb1c2VZNAl9E/6nKqby +EvQr3tgA0mwfXrB/gMt+RRsDOrAO55zSbtme6u9JeSAR/kGJbgGVlO/r1k6M2MeC +0G6b9wnlzQlojIgarZbnzUOTatVZHARScG+o3YjNCe8NLrGNNwS+rwJZ/0nfpctL +Nn8720ehXs1PjBQXJyrF5UHh8lhKzKHXTy3xP1SIWA== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Bob-Root.cnf b/rpkid/biz-certs/Bob-Root.cnf new file mode 100644 index 00000000..d90595fd --- /dev/null +++ b/rpkid/biz-certs/Bob-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Bob Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Bob-Root.key b/rpkid/biz-certs/Bob-Root.key new file mode 100644 index 00000000..bb9a897e --- /dev/null +++ b/rpkid/biz-certs/Bob-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5EdHnAvefaawcNq9jBUnfB927TeborbiIst1bZmYLid1RMz5 +JjFWr/pUqKU/wsLKxJK2h8bBW+K21ePDmJZrhyBDj6zNnlJUzyVysLER/jQ6hoHI +hqZv/OR8q6D7eeXIFZGm4fsQLM0RsyYx6dF0JyI2uBpRVEbvyZUhsxjmfGwf7oyg +vaNp5c2kWftt9YADs1VnBy6HITUvyUPBDc2rQWPtOqYo6jhRn3Cj+uY++pJVuL0I +gHaofEu7n//t+f52BC31+qW5UlKjhkg+S+dlPxqwSf6Bml+wxN0y37fFuTGdL5IK +9HMfC104b7fInsytrVAVjkMHAp8d5XSupbfctwIDAQABAoIBAQCpnUjY6nzDkfIx +uGX0SteOw3ZDJflPOmHmBpTW/bP0Pz9EAqTxOuG1WeRDdp1cog21Z2mWkxiipF7D +qDtyCfoVaeSpQXV6OKRpUeLY5IiA/9+oh5AudEZren4jrDaOSSyU0idUa46GK00G +ds/JcubCGQrdWjipzRdoCZYDk/HV6b0znawQybmiDrMKsxfXB8GyPTBMhddHDUN0 +Kkth+hEJfszcf2+00x45X0lA6SEh2zMKKHwlMze74jkrQJkq/CjYTWYAxRsNNXJs +I/gLJcClU5LId1ro3o8TYZGiZ7X+USNjVjOoXkEsIlCymPRFd6Ib4+RLp+cFldUS +Fiqr1PchAoGBAP/JBDa21Cd8uAeRLOFYXQJxLbXFXdtja/GnjB6lZ5kky1QfJRIH +gXY0qVQwnR7yg7jUvsa1ANNWy+S7bwEaDRJA5C0/HKdhstaIQ/LPhg4tB6/wcmT9 +KzE+8w8Ki0/GePoqdNHxJx4jSR1DewjN5QCQnzd6zaQfF3/I45YhtRxRAoGBAOR4 +WbSbt0zSJ0FP4ozVfwX6uyzp3HgW/NbvhHvtyEky92Tu6+jeKu+k77nRDg9jIERi +L0CtOAjO/1ZLLCBkdFu43f0VP8vFL77EtgpPw2od+Ftzq3ACEUfFSsyMHhyYrMyS +C+JrFyvEPijThLXw1noSgfYuxiOGuu4JlOyeMY6HAoGAWmo2ARkzeRnO+23HzYgs +qHZVUBGKEcjdGTi+gP661hl5fizcL7lTe/M1f7sHby8OfMFHBnpo5kuiGyJeJKeO +w0sI3S2X9VrFmqvkSOouWsh0FS8LYMNVBz1XMZPqlrJzhQqI7MUvrKmQaLW3we71 +6fM1NKlGE6Oh7NuYBzO3D2ECgYAfXVpLThlC5ZLYB4R9ew2+H2a0ysImhlldlHIm +pUUar3GBHL+sL1vLnGQAqW95s00JtkTwZxdLNkedbCJ5q/DBasam6NTiP4bHdK/d +CIg2ODkRLPb7IH2I0c/r9sxndpo6V05kXflHW+CAsFEGvTJkfcfzqQYweF2PMieM +uEbrXwKBgQDFKDn3BcawfaRnuKMLI3iyKk8qoIAQGcKDsmPWjD+CiYLbSC+2Ppcb +wZ3mCRpuI1GYM0UKHBgTZ7OQspO84Mc3ZIpt+CiGQRXighayFKsx3czLpqOoQhkT +h9YSfDfrAb2fsHEbMsTtbdqe/b7ciEIyHiyoWMTmosmirL8/nz4uWg== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Bob-Root.req b/rpkid/biz-certs/Bob-Root.req new file mode 100644 index 00000000..265ed9ef --- /dev/null +++ b/rpkid/biz-certs/Bob-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAORHR5wL3n2msHDavYwV +J3wfdu03m6K24iLLdW2ZmC4ndUTM+SYxVq/6VKilP8LCysSStofGwVvittXjw5iW +a4cgQ4+szZ5SVM8lcrCxEf40OoaByIamb/zkfKug+3nlyBWRpuH7ECzNEbMmMenR +dCciNrgaUVRG78mVIbMY5nxsH+6MoL2jaeXNpFn7bfWAA7NVZwcuhyE1L8lDwQ3N +q0Fj7TqmKOo4UZ9wo/rmPvqSVbi9CIB2qHxLu5//7fn+dgQt9fqluVJSo4ZIPkvn +ZT8asEn+gZpfsMTdMt+3xbkxnS+SCvRzHwtdOG+3yJ7Mra1QFY5DBwKfHeV0rqW3 +3LcCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQCBo0gMFf/fCHsdXAwmaHUSvIRt +aJ1dLazv2CywkLnubjCpFj6Ih5rbvYa4ugCJK+qpCA75Lbjl2pA3BaX05ehwROAx +RF5lAagMLzrPI69gQNCI496SCpa3E0FOQgCebIPAnLpsx60KRcd1zIWF50MB6lKq +Sh9NgNrtTNuzRnSiDSBvsdaFl3jK0zckwit3Kj4VhIMlVAKn3FfToxXN/LxFuX6q +fEguUfIqcdlTvqLV7F1eY3o4IgpCeeK/o+CLIqCFl2HT5m9pVFw8td8SzG52mnCa +P4acOFkYn05s5ST6kJnbLBiMTl0Y5xQs3SyB5Qdro6sdP+GxH49fLUvr/ySW +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Bob-Root.srl b/rpkid/biz-certs/Bob-Root.srl new file mode 100644 index 00000000..22d5b92c --- /dev/null +++ b/rpkid/biz-certs/Bob-Root.srl @@ -0,0 +1 @@ +931654D3C41D79F2 diff --git a/rpkid/biz-certs/Carol-CA.cer b/rpkid/biz-certs/Carol-CA.cer new file mode 100644 index 00000000..c8b8416c --- /dev/null +++ b/rpkid/biz-certs/Carol-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJAP1coEG/CqK6MA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQ2Fyb2wgUm9vdDAeFw0wODAxMTgxNzIzNDda +Fw0wODAyMTcxNzIzNDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQ2Fy +b2wgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8vLVEG2FuAwas +1Q03hc7BHPGCBEUwP1h+/i+hEh6r0AllAhJJieTmYo3Pfj1whxGSxalM48H6yPe4 +ENIaQpTmi4I6xg+SHjrTWU31xQlGkdXDQU87jYlrk28OoGtXa1uE+6P9F6IXdhSJ +13qhCSgDNDjrn2tfWCKzPvMcO/fV+WPrbHEBztbxzuTmpeP+3XdfkEQ7WNmUggSl +Dki4OPT50vZLJXLgtKmbtEKixvrUU9ezlB4hugZOU0ECNw3YOLfMw1Nkcxl3jusT +ldi+Z4CviGmdr8dlc/+ouQGUN5u/MgkQJimAf0XCrHh5kf9s+EpZ3kDpwBFELzw1 +h0qiwyLNAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFJoijL2BTU8B +LXzcJFxiZaUmoBYlMB8GA1UdIwQYMBaAFE8lYk6YRDutZ5nlTe3KdSUPSqMtMA0G +CSqGSIb3DQEBBQUAA4IBAQA+ulH8vqQGhFKUA0v5d/P18vI5MgRY9/Eb+pslPWwY +y/JyyRvMXwB9LAxLp0hUway+/8wzp7XXiUp4bcdygUs/6PChJht1iF6qsiQYMOU7 +XTBBDlrnV4CJnmmQI1MQrMWYYicFWWrI09CzW0KQXrBUbCsI+U1+iE5ZHKbWn3rd +lZGznOx68MmkzbmAIa/dCKpoZLMfE17ss/65w6c+SU2Y67J3npEDSe/X67oxQQnI +I+FCT4W/H6Af7nzT6uJ3XrRv2gzih7FLKDL99YeRuis0H5Z4QaY0gAyaCFSE5OjS +/Rbb/2mLAjGo/R4D+TKpn9RhhSMdKwL1/AbPOhx32prZ +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Carol-CA.cnf b/rpkid/biz-certs/Carol-CA.cnf new file mode 100644 index 00000000..2247466d --- /dev/null +++ b/rpkid/biz-certs/Carol-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Carol CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Carol-CA.key b/rpkid/biz-certs/Carol-CA.key new file mode 100644 index 00000000..3c80b76d --- /dev/null +++ b/rpkid/biz-certs/Carol-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAvLy1RBthbgMGrNUNN4XOwRzxggRFMD9Yfv4voRIeq9AJZQIS +SYnk5mKNz349cIcRksWpTOPB+sj3uBDSGkKU5ouCOsYPkh4601lN9cUJRpHVw0FP +O42Ja5NvDqBrV2tbhPuj/ReiF3YUidd6oQkoAzQ4659rX1gisz7zHDv31flj62xx +Ac7W8c7k5qXj/t13X5BEO1jZlIIEpQ5IuDj0+dL2SyVy4LSpm7RCosb61FPXs5Qe +IboGTlNBAjcN2Di3zMNTZHMZd47rE5XYvmeAr4hpna/HZXP/qLkBlDebvzIJECYp +gH9Fwqx4eZH/bPhKWd5A6cARRC88NYdKosMizQIDAQABAoIBAQCesQy4d000ctbp ++zlhteBh/zQRXgXOy3RdUtw5UkL3s7Qyectmicss6zDRhhOiye68ufXf8KDpfJDM +81e1PMZ2Elctk9sDwOc1TaF/RGzIKVbTFdbI+/jPuudmJPwcROhuqCb6ZySjFWWv +gL5bKJe8GezCMQjW4gRLMmK3GrUH83TKqk5KCAjLGLNPT4Oda+VCur+9OvK3y2CX +y3pdg4Wej670BWmLYvKGES07mGH9pvZtu2PKhDxp1LInSM2wNPcnxI9J2rYkRK6E +zQS5oyvi8EuTHdaaC8StkOtfqRdfUo5+oDOBbxVfEQDCYafgU37mWof63NokBRlp +bogVvHMBAoGBAPkDE0LmuwSa1uagvlvLU1nepNfuvwZW+nmgkFgQXhTgEFYRHyyA +LhvDqowK94zxXAwyY9NuHnn9e2mqFez3QBXEUZEj6rY1I5T6ib0nS1fv9/6CKsFs +WP1d4FXyNdr9Ct4F6bh2yK/2nVs+SPiQBJRa4ftl33mbnRxUplo9Si1LAoGBAMII +nNrobYcG1Op2pzibFiUEfM4oWflcKcVtiqQNQP5FEj9HwXRijIKm9iYILKcrLV6W +EUnIPBLKqxyj+L4yuWqYqy9OA8d2xe8tlW3rXbHJ1vduSCyp2zzlp37OzvOQAcoH +8Beu3gYfIf7QYmaX/kUKKnCHRi5may+3z3bE5NlHAoGAUDZsYvWeMsqKBTqsdzdU +/zMYGLLAeBNWlg1h0exb0g+nU4Iqb5ROxgTOkFQMECvDge5Nd9MWICfGNHBkpbOz +wg8+UymlttIBR0E5U2QwAgC7+xEFIs97DwrJdAYU0RkIAiMXeaNR3FTttXGn4eHK +h9uKxge36B13i6O8/n6VwWcCgYEAo/iRTXEz9fKxBX7F69ErkpbLPZDeEBtxdVUP +33kP3pDSTcW+1zLc2SBtTVCFI7QaQB+Ddp2PHrZEigyLjXfiNxHTQEOmb+6QcIJO +EDjh0ffnAOwidBQKoNjWhhQQ0cV1rZytqeXt3LB8kxDYxyhVCVUA7l1y0o1csVOd +MBpN5ssCgYAGbybyKyaKB/evqBqysvG+CBbYsMQx/ubKlwMScfAyr6nG/+ZhjM6F +0cfM3HwbGS0i0qJdwJ5nPPbYR9kceV+qytU5K2gUQp0QM+Zhc2lprr1r+TikFo5g +sq2rVbjCT8whW1nZKXjbOA86/2F+qcnXfemsuM51VuOrfnXTjTGDpg== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Carol-CA.req b/rpkid/biz-certs/Carol-CA.req new file mode 100644 index 00000000..8e9a99bb --- /dev/null +++ b/rpkid/biz-certs/Carol-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBDYXJvbCBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy8tUQbYW4DBqzVDTeF +zsEc8YIERTA/WH7+L6ESHqvQCWUCEkmJ5OZijc9+PXCHEZLFqUzjwfrI97gQ0hpC +lOaLgjrGD5IeOtNZTfXFCUaR1cNBTzuNiWuTbw6ga1drW4T7o/0Xohd2FInXeqEJ +KAM0OOufa19YIrM+8xw799X5Y+tscQHO1vHO5Oal4/7dd1+QRDtY2ZSCBKUOSLg4 +9PnS9kslcuC0qZu0QqLG+tRT17OUHiG6Bk5TQQI3Ddg4t8zDU2RzGXeO6xOV2L5n +gK+IaZ2vx2Vz/6i5AZQ3m78yCRAmKYB/RcKseHmR/2z4SlneQOnAEUQvPDWHSqLD +Is0CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQAJmEoGPDnwNGguSCE9wp1/eH0r +W/vwQ6HOPEOYtrwvLiaRDgn3n1rRZ2gvElA1v10K6dccAVBldnPjZ04ciNWcYF6Q +fVN9MNJ+iRc3zNBsoz1D8eoDX9g+YdB0GW9RDjSzeGh3jyH7eC4RfsolMLCtjS7r +gUOLHEiQXEh0XKRAuTV86Pgj30Fnj++LNb/VXtlXu7T9wgf5mr3O5Fz8aLc4tLPL +0rGq8oZ5PWKzZmvf3UhhSEKNo3cWQeqQ4sdjZjM8fozLcokXQsuKrbBm4loO951M +TmSRWCNAAy1lz4n8c/I8TW7/POplhNDTn6ayu7fjSLlSoaBltsQ41sxEUeEe +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Carol-CA.srl b/rpkid/biz-certs/Carol-CA.srl new file mode 100644 index 00000000..730b3714 --- /dev/null +++ b/rpkid/biz-certs/Carol-CA.srl @@ -0,0 +1 @@ +FB70BD504214F1E2 diff --git a/rpkid/biz-certs/Carol-EE.cer b/rpkid/biz-certs/Carol-EE.cer new file mode 100644 index 00000000..c3cef4c3 --- /dev/null +++ b/rpkid/biz-certs/Carol-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIJAPtwvVBCFPHiMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgQ2Fyb2wgQ0EwHhcNMDgwMTE4MTcyMzQ3WhcN +MDgwMjE3MTcyMzQ3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIENhcm9s +IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwWzpaQT9wW8xme1w +QD9hPghfFQoQBLWu5qFWyZu9aPTiSs/qiQMNQARlUst6eBhnCz3TedQnXAdfJA2+ +Nahl2Vqj6Eqzn9HFA5h79+ScZsgHSl0l8qeyKbvlkS5F1l9UdgNdGv6BsATHUVri +DUlhGRr8dBydYukm11spxeJj8+3KlY0if/lQJdSPL9n4auQb5RuWqckBbHb1BUrH +XygOZkh+cq2twqKlSkS0/55ME16OqmvSz1fNKi3pDikbVZUml6ye3RN2TIhCQta3 +pOe0vMajqBYKkph8D/ZW9t6BsCQyOD1z7xVnwHmh/7T0d3HObJvZcMC6tcHauaTj +39m1VwIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBRA/hhf5DbmnlikPnO6 +L9K8BJXDjzAfBgNVHSMEGDAWgBSaIoy9gU1PAS183CRcYmWlJqAWJTANBgkqhkiG +9w0BAQUFAAOCAQEAAnMHx0ZLktJ7ds4tpMybTpMQj+Ws2DHBrXb50rktrbB7zDz6 +bkqX7uBHo13KI9elzt8H8rS+507AT+LTIktAD/qL30Kqisyo/Wig/abkEmqAMTNE +hrYfyRr4CXBdlISBWO2JSV8FT1xkAT2X+l4/z4MwvTbMr7QmRYMxf39LHey1b9/K +ft1KfrxpPBOZ/MNYN3su/++ycpxS7yr6z5gQRI4nj6NCWMlJF0wcEeWw76IjyqHd +RG0s4HIQ2e/p7ICY3A01zd/ewEFIFi4kxLO1Ot+y2xfc6hWFB4pbjtYWynWE5qSx +Oaol1ThR6v94BgGLgyN/ubSnKRv4rZ5aVl6Ngg== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Carol-EE.cnf b/rpkid/biz-certs/Carol-EE.cnf new file mode 100644 index 00000000..4febbc99 --- /dev/null +++ b/rpkid/biz-certs/Carol-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Carol EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Carol-EE.key b/rpkid/biz-certs/Carol-EE.key new file mode 100644 index 00000000..2d785124 --- /dev/null +++ b/rpkid/biz-certs/Carol-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwWzpaQT9wW8xme1wQD9hPghfFQoQBLWu5qFWyZu9aPTiSs/q +iQMNQARlUst6eBhnCz3TedQnXAdfJA2+Nahl2Vqj6Eqzn9HFA5h79+ScZsgHSl0l +8qeyKbvlkS5F1l9UdgNdGv6BsATHUVriDUlhGRr8dBydYukm11spxeJj8+3KlY0i +f/lQJdSPL9n4auQb5RuWqckBbHb1BUrHXygOZkh+cq2twqKlSkS0/55ME16OqmvS +z1fNKi3pDikbVZUml6ye3RN2TIhCQta3pOe0vMajqBYKkph8D/ZW9t6BsCQyOD1z +7xVnwHmh/7T0d3HObJvZcMC6tcHauaTj39m1VwIDAQABAoIBADicVLAc+tvbXGwN +tzXGlwJd1t5EhK2sMxVjERCOmWAXlAeLVLxm/UDISJNz5FMz6Sy8GqHkeuSPb8QQ +laQEtlJoGeLJwkq7TWsg/N9vtGrMjn2wR4P+msFmMelM3rnASusDTwOwi2pl66Qe +8lwrJtT/NfYRzep+DJUpJE+7U7+3TJ5rlfxd3Wm/gdsRoTXPvAW8w4vrJD4/YSpd +3mJZ7VAnLwRnNY1wVqDYEHqhH5jf1nFVE9RKPMDYHbCtIBoap350qgACBTuVs94q +TsKNWFJE35S/wbwNKMsjbaMkGngl1oZ/XMxFhLGJvZFcG05Z9I73WRtvcdOHVi8a +pyZlHrECgYEA/Y1X0c7iwf0zrRjyJwuv8mdfyKAr1h1T47rY+HDp+e/2J4LfOBC8 +KnzNVkoErA7iHIN/59tG3M3Kv9TUmcUJ9tk8Ft42B/XdrVRXKtFBwmq4maxu/dTK +BK4LQ1Gi2AhRG4xvitDdCgj5wVyVkXYwh4BFcqT4JWoGujNcBBw2cx8CgYEAw0r3 +BX97I0V8F4+2QihZp5wSuiD2EX3hsM/iAK8An6OL4zpNyU1m/h3lipVjCOGegIYk +Ze/VnOrPXh56tPWG4YSzSNgXzjmxHZNFtQqwHkoH7aPXVMMNmPjFcUb04Lu/MXdr +sIHEjwE7vfK9M2DaT0d4DBUdizTJPPk2wmoebskCgYEAn38sQTUNe85VlYvduCYn +9iqFHGV1belg/h5pok8VQD5s8AnpdRFB7NA5MxC4w6tRHXKzIRzVBM0Hv4iYfGpw +jDG3FQOPpY5KdmBZvPuJjE0p9rF72Hzk3/DD8QMHlzIUI2pCOGaOxWNECRi+lZRt +jq9oAGg6GP8LYFIyjftZXS0CgYAWOt5LfetiZHJvrCgu97Dc52MqVL4t14ptOfyb +30/O3Cr8PpLEK09h9b0/PSn8xNHqB1r1T4udRQ09xXJqTth/qz9NN2veSarjlvQE +W6cYi4zDfDbyqxFNLGQtNMqDGlv1IYbcnKjnLljCknL++jNfet8rYOvwAJ43lpap +IrM8IQKBgQCP3yhZHw1dzIBTUTE4NLGIxN/7Sz9O2IUoAR8V5szEHvxhWTEIyqgA +t9tHpXJRdtpdXmdHa+vuszougEQKz3tsz7KWOUu3kdmpCm7OQqD6fANB+/2y/Euh +OlBHsWOgxCHdiFQCj+kD/sBDYXH+nl2tk/chOcuf2m9DHypO0OdL+Q== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Carol-EE.req b/rpkid/biz-certs/Carol-EE.req new file mode 100644 index 00000000..5d9fa36d --- /dev/null +++ b/rpkid/biz-certs/Carol-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBDYXJvbCBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFs6WkE/cFvMZntcEA/ +YT4IXxUKEAS1ruahVsmbvWj04krP6okDDUAEZVLLengYZws903nUJ1wHXyQNvjWo +Zdlao+hKs5/RxQOYe/fknGbIB0pdJfKnsim75ZEuRdZfVHYDXRr+gbAEx1Fa4g1J +YRka/HQcnWLpJtdbKcXiY/PtypWNIn/5UCXUjy/Z+GrkG+UblqnJAWx29QVKx18o +DmZIfnKtrcKipUpEtP+eTBNejqpr0s9XzSot6Q4pG1WVJpesnt0TdkyIQkLWt6Tn +tLzGo6gWCpKYfA/2VvbegbAkMjg9c+8VZ8B5of+09Hdxzmyb2XDAurXB2rmk49/Z +tVcCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQAUmZ8fO3IXtSIqKQOQu8rpHz6A +RcaPg3alGV2bG/3SewfgTMv7GupACytmPogLbkhrWMe3UpY9vj8xuTTEnOAddkdk +rSWrwHfk6uwqJM4kor390+aCe9ZZ6yNo9JEv8hMgoCY3HHw+CEX34IJpC35H122a +Mpy62SG0j2tRZJv/DQG6fi6ecMjcjYAPyYhKA2v+xf5Q3N6D5zQ1mUmJRAhPpSti +o79XRy2Zwu7raO6nxetmBoms8UjdxmpqyxV5VhJ5fOMvdLBUEOF/D+9NUPSXpf2/ +SxKOA3BytSMrw4OLp3Dqxhf37Ri8q1+apTW1kOGd4zHrzjd81eA/p505AlTf +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Carol-Root.cer b/rpkid/biz-certs/Carol-Root.cer new file mode 100644 index 00000000..307d9976 --- /dev/null +++ b/rpkid/biz-certs/Carol-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIJAIL+wCyy3a1PMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQ2Fyb2wgUm9vdDAeFw0wODAxMTgxNzIzNDda +Fw0wODAzMTgxNzIzNDdaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgQ2Fy +b2wgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkgdmWcufSC +w/WjWc5NvUEerHF3gtP4LB9OHsHe4lHUKIl7llZes9JDFWdweZaGgabsFsB9Lhxh +YjqCbeLnbBgf8gdPHQdmwtQBeZpzJNfNcoc/ucvUmvc2thZFBxj8SOtQUOZH3Tqn +o88A1zOHftU/WFrgF/lFv97v3ahLNc0UfgPr1iEQonqC1ff1oAg3iOB7T5rujW1r +8cd8t3oDKjjbXxZqt5n5qhoHRsQu+EcoiJhbERkXHQdJl1URcJQCZoo1rRMtqp9F +mbinqag/Fiv8c3r9GgLahsmCtz4UkirVqu0o+9/HMUoghWJukOUTYOi7d/S6IqYP +v8/PBwcgW1kCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUTyViTphE +O61nmeVN7cp1JQ9Koy0wHwYDVR0jBBgwFoAUTyViTphEO61nmeVN7cp1JQ9Koy0w +DQYJKoZIhvcNAQEFBQADggEBADOasRwK2Gx9+fwLfBuuXRcuLj67ZROZlBYg7YlQ +upOJgbOSHz3A5TW+05XjZzVTITNVaRbtwi+HaS/qNHgzll+L3FBC8LPZp/JZJiid +/0T8Nc7gQLB9+DJF8ygsbN+6Zmesxmc/bg7hYDkm7UyDasje3yAmGRs+gWxjFuHD +vleQO16njweves5eaZzuR52V/gCYe60ncNEJSw6BqSutjUKhehLw8MYCDql8S+Nd +M8+2b601ij9WUgWZVuZeMmftErPno8r5yXuVa/8EdZgjgFjluJjbh5AZJLQEp08A +gobgPqyMVUA/oXwHf/VGWiRhTN9oljZYDTdAUWBIPNYOD4M= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Carol-Root.cnf b/rpkid/biz-certs/Carol-Root.cnf new file mode 100644 index 00000000..01190973 --- /dev/null +++ b/rpkid/biz-certs/Carol-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Carol Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Carol-Root.key b/rpkid/biz-certs/Carol-Root.key new file mode 100644 index 00000000..0e41137a --- /dev/null +++ b/rpkid/biz-certs/Carol-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAuSB2ZZy59ILD9aNZzk29QR6scXeC0/gsH04ewd7iUdQoiXuW +Vl6z0kMVZ3B5loaBpuwWwH0uHGFiOoJt4udsGB/yB08dB2bC1AF5mnMk181yhz+5 +y9Sa9za2FkUHGPxI61BQ5kfdOqejzwDXM4d+1T9YWuAX+UW/3u/dqEs1zRR+A+vW +IRCieoLV9/WgCDeI4HtPmu6NbWvxx3y3egMqONtfFmq3mfmqGgdGxC74RyiImFsR +GRcdB0mXVRFwlAJmijWtEy2qn0WZuKepqD8WK/xzev0aAtqGyYK3PhSSKtWq7Sj7 +38cxSiCFYm6Q5RNg6Lt39Loipg+/z88HByBbWQIDAQABAoIBAQCi2n/M25ZqFi60 +g8KYzaJTCty/5FZeic6mq147Rgrp2Szf5KxXxm+B5CmMGVGcrS6Y3M8W/gf2R2TV ++68XEGXywwdyjpIG1MtHHRUQXYJnpP+/IrwbJyg7mRGNfaPEwwqSltDUAxwGYTqk ++yRU3Dki9tqO9tugGU+0mmXviloF0SOq5fu3qmZoh2ZpoP5n4mqu1JOgDqXB/dw0 +REvbyn+ly5csMDhoZq8uBnmQBeyGI/dsydbFZd6pmf9izntA3Kwn/vsATIpMDDps +ECLcki+0iD/ZcD64rGm14yGktbtyTG+Ec4JDnWB+HLukHNEvnTD1NJLjEma6jnKM +xr1LXjpRAoGBAPOPUZ9lVsw+DFd8VD72Rmi/h+jLPBhCgzLfXxIq64cYXFRxML4x +AVwLGc80bEsZkjMGJ3Sl2241uc2XIVu9V7B6FmDhMayIgMiomlDolyhoIPg7C/KO +ee9k+/6hzclVfdMFT8ced4kFWzTKONNdsQI8SyaKJRtZJycBS6DXkQKjAoGBAMKV +GVvG6AswTklDoVfvyEwwp8v2LTyO37sUF3bO7k7htj2j7rudOqEOR+TWplyg10y9 +ezp60IapYbWvdCYI6kaj/hr7DJ+uwzmSTi6LKlWSBKI6s64Vo9gx7+P3su9gT8D0 +G79M9KC9a7wMothPx4nFTGK3xNpXWOZE47rLGgXTAoGAbjs2KNr3nraSZWH6ywgx +M6VDwKOCzkQEFxkrcRCFyn3HA9y6v8l0IRFRHAtQ2+h116v4XX3XQxkDv72ftmKK +dm+7AxvInJqnFqngNbAfAYWnLlGjBaNgIm3k8wiOF4oeyUvFIIx0c0o+TjUb5OWp +gCaDqKyrQKZn5upaLTCDC9sCgYApyhG/JzHQrVgy3eZ511KCInT3FfDTL7AXIpKD +fp+pq0oTZPCxtGvSCRohqIPkItr6bTtY7OV59ki412yvenyuHSxGqSIl7UeaRrSp +xFOcOxbprIfIXHdqyBbIM/tm851NSF/pLuLe3q+TnHcg08l76jakgOkzJ009bxAl +ntcA5wKBgDORScP6A77UE9E+vIWkUyn23lNkow29BWpM8jBm0mBX6m+WgzW9soe8 +37GtvWlF82kLytFXIxju7ULLpF5652jDEa/mgFrZH/gE520tz0yiJ/PDtSRtxuGL +O8ZEyyiwKVcET56Rklj7r/0kn3dKJQkfxG49krv8hRckSH3Y8Eb6 +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Carol-Root.req b/rpkid/biz-certs/Carol-Root.req new file mode 100644 index 00000000..1d911e4d --- /dev/null +++ b/rpkid/biz-certs/Carol-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBDYXJvbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuSB2ZZy59ILD9aNZ +zk29QR6scXeC0/gsH04ewd7iUdQoiXuWVl6z0kMVZ3B5loaBpuwWwH0uHGFiOoJt +4udsGB/yB08dB2bC1AF5mnMk181yhz+5y9Sa9za2FkUHGPxI61BQ5kfdOqejzwDX +M4d+1T9YWuAX+UW/3u/dqEs1zRR+A+vWIRCieoLV9/WgCDeI4HtPmu6NbWvxx3y3 +egMqONtfFmq3mfmqGgdGxC74RyiImFsRGRcdB0mXVRFwlAJmijWtEy2qn0WZuKep +qD8WK/xzev0aAtqGyYK3PhSSKtWq7Sj738cxSiCFYm6Q5RNg6Lt39Loipg+/z88H +ByBbWQIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAAgScY6PIPSSy9Mrm6SF3bMB +EB574vIbu7oEIXdS6j3n92ONXFO/m5npd+ygbbCc9P7JIpyuqYdSpq/wihIb+n6R +qtn9psfU38eR3nVvdK+SHkeHTZnXvOMRZ/2ZOD7t/m8QpR8BZ8FiDqp/ka9izjdc +Y1jGVRuJO2VLBk48nDoci8PbvC+Zn78pbywVybrBiNNDl3Th354luXTCOyMc+Pfe +Zc0YffB5Xv+5C3zJtpvOtvybKQotEhbRpcuTDf2RP1UoUXnfq46KM6qq1YgJNB1r +UXjErbXpA1BOHMPSXhLn62+UAZ9k+GTXz/808+MlRHREqM9OZoLvKQlAOCFOYIA= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Carol-Root.srl b/rpkid/biz-certs/Carol-Root.srl new file mode 100644 index 00000000..6dc25038 --- /dev/null +++ b/rpkid/biz-certs/Carol-Root.srl @@ -0,0 +1 @@ +FD5CA041BF0AA2BA diff --git a/rpkid/biz-certs/Dave-CA.cer b/rpkid/biz-certs/Dave-CA.cer new file mode 100644 index 00000000..c055bfa2 --- /dev/null +++ b/rpkid/biz-certs/Dave-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGzCCAgOgAwIBAgIJAJWglEInirfUMA0GCSqGSIb3DQEBBQUAMCUxIzAhBgNV +BAMTGlRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBSb290MB4XDTA4MDExODE3MjM0OFoX +DTA4MDIxNzE3MjM0OFowIzEhMB8GA1UEAxMYVGVzdCBDZXJ0aWZpY2F0ZSBEYXZl +IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuDg+csO4ExCO887N +7aI5vpKa5bo+wPEi+6Jrvb+FVC27eI+UAA8hOHilAeYI/P+xK35Bjmg24H/OWPzz +erkSvSPp2XB69GR4ffT4ZxMoQ/FNgp1iiYr2QE1EWphrhXnO9FwEZ7s/ry7ISUvs +KuDnun7ymoLtRFTIO+F5B64yTrNYg/6YQ6rSKN/SpfWYwOLB9fRylAmYBPguP/3W +gE4KJhrQ11JNsIH2AZ3hL+C6NQmbkNQjaNOxjbZT/Whbg87kemtQgo4/t+cTaALP +qknVRrMrkCCVL0I3DRmYV70IEyzjEfHaB1LXt9RJX6uYjD9YmNjY7Hp0liX9czRn ++IsauwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRvYR0qliEj7ExH +JxCipJca7R0GWTAfBgNVHSMEGDAWgBS0fUwRgGNdBaom9pc0oe6+LSgY7jANBgkq +hkiG9w0BAQUFAAOCAQEAk7hxx2rMsdWAj6im0fHeS+pDwAEdFloqj2qP1remujnE +K4cgT0Pu67ovVcGZOFUkc7ECRDkysH1wQZZ+MQM9g6iXikYrCoKnVBFJ3xGoHMoW +PnVxsqKaLxSEo0RdGbhhuct0ZKCu+XHC+DxRkvrWCgY/X1AwSqEsy+hFQcJprtJF +XGU95OIm3pdv9XURn5l0ZUwzHvb96bxVw+BeqB7CFeBClRwkzkHK7zxc7jvKwK4Q +65qUnpXeTqB8xebtbV0D/azzjCpz2MF1ylcfmSXEqaeqAEZd4hcr/YJg6CJr+x4n +pzzS3sY6ZsATdTu7aKeWZeOPCIwnuq9qEMBjVF8bmA== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Dave-CA.cnf b/rpkid/biz-certs/Dave-CA.cnf new file mode 100644 index 00000000..47717a0a --- /dev/null +++ b/rpkid/biz-certs/Dave-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Dave CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Dave-CA.key b/rpkid/biz-certs/Dave-CA.key new file mode 100644 index 00000000..d8264c2c --- /dev/null +++ b/rpkid/biz-certs/Dave-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAuDg+csO4ExCO887N7aI5vpKa5bo+wPEi+6Jrvb+FVC27eI+U +AA8hOHilAeYI/P+xK35Bjmg24H/OWPzzerkSvSPp2XB69GR4ffT4ZxMoQ/FNgp1i +iYr2QE1EWphrhXnO9FwEZ7s/ry7ISUvsKuDnun7ymoLtRFTIO+F5B64yTrNYg/6Y +Q6rSKN/SpfWYwOLB9fRylAmYBPguP/3WgE4KJhrQ11JNsIH2AZ3hL+C6NQmbkNQj +aNOxjbZT/Whbg87kemtQgo4/t+cTaALPqknVRrMrkCCVL0I3DRmYV70IEyzjEfHa +B1LXt9RJX6uYjD9YmNjY7Hp0liX9czRn+IsauwIDAQABAoIBAQCOlCFpK6f1QXSS +qLXjPRKaN9ehA9P7+uYLgfsHggrMSxT0y5NNtGgOz/lODd9ZCQDz26Ubdfc7LE/l +ueksS7+AGiKtAwx2yKglPIthI4efhkxqUitort/Ghsbno15ckRknMWzLaDZy/K9R +Y2ynByjyw7w68Ch5IXFUPz8wPZd8JqwAasLHjEdxizjUrjd5ikxNDKZetz/u4cm5 +xRhISJttS1hbWwTrvjTfiAv7LVCQtRYDzYjnhUtvBnW9ksZt9rl9Am2dCEb3ocql +Dasanlc7HtPt21HGYR1kljSNzF4N7kjGpf9p4k8EB6bfBvL14rF1e27uYhHA+7cC +jnr2Yj1BAoGBAOdS+RaocPRdOotE2SNjbIMl8kwd0DlFBklW85fknVhRGl8tRxl1 +1vMyJG1smYG7l/y5ZvDJVWmGU5W3237ACujNwe8gxa/3KhJ4maWd4uW/0ttweAmK +EkG1H7axbruELPQum33+oWzciH2Q/BBOuszKnayZUmapfW1947a9XCSbAoGBAMve +8B79tpqBJKie6q8YGMfIJ83PHoL7TzIEEAsXYMqsiS9G+VIvNzbOYS78Zh1d4kGX +5FL0NijghOcU62sTrJuqlStCrJX90EGzCB6OEBZYoUz51bKve9tK3bAmADuEsnKe +4sCNDr4LgcOwNnGzflyddRC/s+WDP8LQ0qFZUXRhAoGBALJ2uAc8ApD0UBNcFW2Q +6gmwP+NraNaWIwh31czMqnuVbpQZOW4yFJhhiesFytRk5xgp7Xo8yfF0mY27X9LE +1GXRQBp9nSZpuIKxmlBEo+V+fW2gsmsho34f/4ySDQ0MJyZnwryMsvtqlL7TGTR3 +mPQgKU8cpo7fmg3b/s9f/fObAoGALNa1nTtUBBtPQr7hAu2b1aTSDFP3c/tt6aQ3 +GxljMnBMI9fKUicMT8OIYFsm4mKZtq9/ijcoCkmHMYPKW1ySZBJaiI87gim2uhx0 +NrQsGZ4Yq+Nu+sPZy9tlcq6I8o426TrEyHC9w1Koka+Z6dv+eMQw0SQ4nswFJAXl +rZMFdUECgYEAoR3oItFi2tWqbo/lSov6KQIBsCq1L5DfVj1GQp/hiMsIvNtNoy2G +IbXfpHk0Kljwdf7GvU5pbFYcrCHJ2vIkKocE/6JArIQd4bExhM4oxI2vVbkBD1fq +aWf63IIiq2gZfVFxCV3hK/ub3M02AqouqWDl/UKu2S6We5BaaWOuz4k= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Dave-CA.req b/rpkid/biz-certs/Dave-CA.req new file mode 100644 index 00000000..8ce0b3ba --- /dev/null +++ b/rpkid/biz-certs/Dave-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaDCCAVACAQAwIzEhMB8GA1UEAxMYVGVzdCBDZXJ0aWZpY2F0ZSBEYXZlIENB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuDg+csO4ExCO887N7aI5 +vpKa5bo+wPEi+6Jrvb+FVC27eI+UAA8hOHilAeYI/P+xK35Bjmg24H/OWPzzerkS +vSPp2XB69GR4ffT4ZxMoQ/FNgp1iiYr2QE1EWphrhXnO9FwEZ7s/ry7ISUvsKuDn +un7ymoLtRFTIO+F5B64yTrNYg/6YQ6rSKN/SpfWYwOLB9fRylAmYBPguP/3WgE4K +JhrQ11JNsIH2AZ3hL+C6NQmbkNQjaNOxjbZT/Whbg87kemtQgo4/t+cTaALPqknV +RrMrkCCVL0I3DRmYV70IEyzjEfHaB1LXt9RJX6uYjD9YmNjY7Hp0liX9czRn+Isa +uwIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAHA4Da1BJ6hY8MsyJJtK+Kbe0Ywd +3muBq179Dl+HmYc9hZLRLLliXaRiyVofR67VK47D9KmHrbNhjhbcq6s9zEwr+VQc +WmOpVNGwZJzeqxYCSUvvBC2wMWaHfgmzE/eHgf+P990xo0P3nnw5+sYl6tWaaz4g +X1lfXjXHQmpzprCDBM5TJ2S5B9HxBwzRitCOvMCFFXJ9abiXZOg3zJIMJ+Gb/71c +Aw/pqSFsT2xuDkP35/VyVUGM1htXwap+JwdPOVHPjjHiYtLTZmhNmHsIUTlZGp9o +g9j2IrDsQ84kJqQRLH2iMrEO/kxlm/vj83arSXvtjAn5+89yZbZ1VcswwxM= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Dave-CA.srl b/rpkid/biz-certs/Dave-CA.srl new file mode 100644 index 00000000..5cba7d1c --- /dev/null +++ b/rpkid/biz-certs/Dave-CA.srl @@ -0,0 +1 @@ +BE6923005A133A8F diff --git a/rpkid/biz-certs/Dave-EE.cer b/rpkid/biz-certs/Dave-EE.cer new file mode 100644 index 00000000..2dea377d --- /dev/null +++ b/rpkid/biz-certs/Dave-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDFjCCAf6gAwIBAgIJAL5pIwBaEzqPMA0GCSqGSIb3DQEBBQUAMCMxITAfBgNV +BAMTGFRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBDQTAeFw0wODAxMTgxNzIzNDhaFw0w +ODAyMTcxNzIzNDhaMCMxITAfBgNVBAMTGFRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKUtdgOQpUQqXYOEukxx +nQ4KfvoGFaFP+kJb0vpaxX4HlIwUiD8NjTePpAxS1cixiPmHn9pcz0zmopUsonZ9 +OD6FGYyDTQm+LNF4qPN8xUhKlHLE1A+V+Ajtb2lCbZAGnPh5Z4vmQnoNHvP2TVz4 +jly78lK+tuemn98sSYfzxxA6v8fmivs1k4u/M+vhquwfvQ7xhfyofFIytXFFHaBa +0vHY1GE9wAufQ6uEK3sMNLBF6iZuruW6VVuX2NbeHqOgcAF4Hc8cKRmVZxTkkIUi +TADyVQLKpDHsMI+6PTLlmKe4fcUny/qQKAFe7g2v8zFUb49ohqfW1UyU6+/kx1Rm +6C8CAwEAAaNNMEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUgm42L3S3iA3yv/JkQYwF +ZKe3zhYwHwYDVR0jBBgwFoAUb2EdKpYhI+xMRycQoqSXGu0dBlkwDQYJKoZIhvcN +AQEFBQADggEBAEGtqLbaxS4wcA8rzF57PEtrd+F2KFQZHt/d0mYWjZwnq4yymlj6 +IBtC2vtANJ2CGPlGmmgax+AKdN7QqTpCxFJsnQ3YgdFIN0MqwBM8lTlBS/lTHDRq +bIXEB7Aw3u8SrS2nd3f1xdl8rNR/286MrcjEE3K+sQFNg8wUnZo3ZLBflVGgVBTt +WMalESPRN2P+tNuc+qQJMhefK+spmgH4oNxblNm7V+RzUQoac5FpgtVN1vM4Z9sM +iVuBVv4/+EYfLAQUl+EkHSd5GYPjV2juHqslRJKMtXynDIsl1IXJRmh15kGtSMh7 +y7/8HcdLVtyuzVZCXJhrnv1rYIhU6oP8cVQ= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Dave-EE.cnf b/rpkid/biz-certs/Dave-EE.cnf new file mode 100644 index 00000000..13517fdb --- /dev/null +++ b/rpkid/biz-certs/Dave-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Dave EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Dave-EE.key b/rpkid/biz-certs/Dave-EE.key new file mode 100644 index 00000000..283db731 --- /dev/null +++ b/rpkid/biz-certs/Dave-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEApS12A5ClRCpdg4S6THGdDgp++gYVoU/6QlvS+lrFfgeUjBSI +Pw2NN4+kDFLVyLGI+Yef2lzPTOailSyidn04PoUZjINNCb4s0Xio83zFSEqUcsTU +D5X4CO1vaUJtkAac+Hlni+ZCeg0e8/ZNXPiOXLvyUr6256af3yxJh/PHEDq/x+aK ++zWTi78z6+Gq7B+9DvGF/Kh8UjK1cUUdoFrS8djUYT3AC59Dq4Qreww0sEXqJm6u +5bpVW5fY1t4eo6BwAXgdzxwpGZVnFOSQhSJMAPJVAsqkMewwj7o9MuWYp7h9xSfL ++pAoAV7uDa/zMVRvj2iGp9bVTJTr7+THVGboLwIDAQABAoIBAHvtOce+9F/KMVMF +eAj2jNEGCvJnMj9PFAJJhmcTR20hHtBibz5vWm4/NOOSGpdyq8Qbf1GDpHyb5Ytq +a5HerR4rGloUAO64YkPe9VOJXzK30dyx1DDFYczA53/fuPgAHjFGVOvfnCyaP4jm +WHDSg20MDekK8Yuntfbo8VoxCj8fwDyPq2vSXnzwGcvT7X8cmpHnKEU/JQj4bNrJ +XMMK3kQrKf0sFlO9kieEPsG//V9j5yverKvZdi8PQSCwA1e0nqrOWRSFYz5ePzob +Njo1LJz/WaQ2YjEf07fRuiNgCp5r+/44c5xBvq07Fi1yhc6K8DBY8w/cH8foc8kw +aO34HWECgYEA0Qht10TPKBAil/FXjYFcqQgCQxZl3rtt5ijVZtuYISMYaGj/Q8iO +efXZKa1JgXtpVomkkjY2Wbdd5TwkXd27TqUIZ5uPYDs/I6uGZRXPIV14g6U1aBBV +502LNbAqDWozYBwZRmDOopdU+hS1/Jc6DNoNvVKj//+lx4NbxmUmS7cCgYEAykp5 +IQd/GMGf7VsBcHbseJIqknDuZRvpDB5zXFyyRu9jdHmqQCjuCnDQ7eJNHLvLjyAt +/+7YiQDyAhlxr305U6Mnum9T49l3Zi2jLy+/QhO3WBQ0FLNF76sN8ADM0aD4Uk6D +wCtSEUj1XrDtHiJPShtHtpM2Gs5gB5UM8b2BN0kCgYEAtbouREh+EMZ2TMJ064Db +ndhonwqJ5ens0XwOiy2+RJDOV3dw9O0XcNBby+/rR7aTDbj8amDXP4g7CWAP/csX +XHf9ppWHQJJBgjFM1fTv7oHklA69L4uEI2M286YD6UW7BINpNdZTzubh6ci3rrGK +tkGcUEvYaGdJKPr6frDRamECgYAjgk8g7R/ySIq6L29hPn7j60Rt0EUImo2eAvpd +DCh/KyZaG8E24fhm/Mav+zluAckJpqxscJCx++h/VdgO5fxaIhmnMEOZi2LaHMi4 +T7lS8AMPAvzhZVaxa2VW680IPylXyVB3OyN8xUHNDWGSGJOyfndoJQ8qRW+15QQQ +qyMzgQKBgQDEY1WxbCTM8A0aRn3SxoFuPDSqJtLdi8dbMxEHUrP9qUfg98ChF4fA +jxZu35LeNB/E5gfP37VJZJPTQ8i8kPACiGzGvlwLMgV89KspkxL8QN+n62kfqoAD +t2QoTiPJOb+pKqQ0sISXcFN8r047vMt5EYXri3RCV+amBYzBIMOAPQ== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Dave-EE.req b/rpkid/biz-certs/Dave-EE.req new file mode 100644 index 00000000..f989d254 --- /dev/null +++ b/rpkid/biz-certs/Dave-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaDCCAVACAQAwIzEhMB8GA1UEAxMYVGVzdCBDZXJ0aWZpY2F0ZSBEYXZlIEVF +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApS12A5ClRCpdg4S6THGd +Dgp++gYVoU/6QlvS+lrFfgeUjBSIPw2NN4+kDFLVyLGI+Yef2lzPTOailSyidn04 +PoUZjINNCb4s0Xio83zFSEqUcsTUD5X4CO1vaUJtkAac+Hlni+ZCeg0e8/ZNXPiO +XLvyUr6256af3yxJh/PHEDq/x+aK+zWTi78z6+Gq7B+9DvGF/Kh8UjK1cUUdoFrS +8djUYT3AC59Dq4Qreww0sEXqJm6u5bpVW5fY1t4eo6BwAXgdzxwpGZVnFOSQhSJM +APJVAsqkMewwj7o9MuWYp7h9xSfL+pAoAV7uDa/zMVRvj2iGp9bVTJTr7+THVGbo +LwIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAG6UNnBSYglSYCTsg/g7FVBh6ROG +QYIiVrAdiJgZf7elUEtpmzAZ8YDVbwYbN6SYrVId4jvPStHkScf6/LC76tFbRp37 +7pGEf7Ijou0xCXmk4LIm3xeQT/AjvPiOtoWNr1H+OdYUYQeyXoqNcgxZ4j3yal10 +etp1ZMR2lHgGd0ZvulYJJw7E4s7c3f9mB0+qTaAz6Wcu49e6THo27gPq+ZZ4YMGZ +TfWldXk4IBqDuLauaiwWeWYMfkRC9aEMq6lVlIAvmjeKHOfUttQz0ievG7yJ7/En +wRoGBSQM8/Pzc0MFiTSyFcpYyyNqIQ8uHivKH/dZtXTOjkd9/wPajglNeyU= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Dave-Root.cer b/rpkid/biz-certs/Dave-Root.cer new file mode 100644 index 00000000..c746d1d5 --- /dev/null +++ b/rpkid/biz-certs/Dave-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJAOxMm5H7E48oMA0GCSqGSIb3DQEBBQUAMCUxIzAhBgNV +BAMTGlRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBSb290MB4XDTA4MDExODE3MjM0OFoX +DTA4MDMxODE3MjM0OFowJTEjMCEGA1UEAxMaVGVzdCBDZXJ0aWZpY2F0ZSBEYXZl +IFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzOScJlBkVwfoN +KP5/0qIM/ZisBYicqHXErDE7WCtBXh05bwRKzGYtn3dARnJa1EoLKnVFzPxZ/mvx +Ntmqax3/B3+Je6KzCCEtmgNfIoSwxY1Ms+/vEo/SLpVYrk33K7mpx3rDXqpUSiZ9 +BAXZAlK4slB8A/Di8H3hdsR7H927JS1LlbfFBKvpv/uYvmJhBdDKIW+k4DtQe7j0 +KhoYliCfUoX7Yxc8XlDO14uS4wiaU2n929B/va+pZSp+00A+Vj13gbNW0rcdG3A/ +vc6Xb5B07d9Q3g7VyoI922bU7e59+TqZdYvdfqqijROVkZTCYEL6Vc2ooK7/hYzf +JnVAtojbAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFLR9TBGAY10F +qib2lzSh7r4tKBjuMB8GA1UdIwQYMBaAFLR9TBGAY10Fqib2lzSh7r4tKBjuMA0G +CSqGSIb3DQEBBQUAA4IBAQCu6sdRWG2eTlgOABPhAjh/2y6c3L917QaLpqYhvAGY +0lCrOyE46aNUjTiRV0X95wx2pknSfuuzKF8T24TYX/hwlisUuKbnvBfNORtMnK+E +PZpcQ5I80nYnDGHtPZUEBdX4OEO/WaIzrpSol+aFn0VpJP4NB8/IqQ1IN2EJhhSP +lH1dYf3VrIQelmMALrbPqYgAm3l36BOtRFmuQaDQ4J3nO++j1a3WFHojoQJcw05L +o2EKTmPS5nhSzxfHttyKdzt8Qlu45CKdheC9J9N6gFiyWiJMVv5vRHXrROqevNVq +jnwxLJUXdjdHKUL7IYV7hL4H3GUbaf46FsOimR1YDDka +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Dave-Root.cnf b/rpkid/biz-certs/Dave-Root.cnf new file mode 100644 index 00000000..58df8105 --- /dev/null +++ b/rpkid/biz-certs/Dave-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Dave Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Dave-Root.key b/rpkid/biz-certs/Dave-Root.key new file mode 100644 index 00000000..4c5b73bf --- /dev/null +++ b/rpkid/biz-certs/Dave-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAszknCZQZFcH6DSj+f9KiDP2YrAWInKh1xKwxO1grQV4dOW8E +SsxmLZ93QEZyWtRKCyp1Rcz8Wf5r8TbZqmsd/wd/iXuiswghLZoDXyKEsMWNTLPv +7xKP0i6VWK5N9yu5qcd6w16qVEomfQQF2QJSuLJQfAPw4vB94XbEex/duyUtS5W3 +xQSr6b/7mL5iYQXQyiFvpOA7UHu49CoaGJYgn1KF+2MXPF5QzteLkuMImlNp/dvQ +f72vqWUqftNAPlY9d4GzVtK3HRtwP73Ol2+QdO3fUN4O1cqCPdtm1O3uffk6mXWL +3X6qoo0TlZGUwmBC+lXNqKCu/4WM3yZ1QLaI2wIDAQABAoIBAGMRGnT++ga+3Htd +x5/cTFsl6rhbrrH5pG98RxJooDBX14uhxBucdHaPiRlsV1XBttQJOh3FO1B7hCsn +iJXc9A2+lU7nmn2f5scQNQDnUbVs3bgiVmQuPHWP7lnAr7QK5WvlqgRIVZqWCkRc +bucPk64oUrjabNLk4JA6WE0+xg/lhPxeS2m2FK0fwR+XQ6kDQ25Qpu6DCoWIABWK +5xHPUyOvFX2aszA6pUQM+uFDlK7WfhrLPLe3O/EJR291RTnjy+CwTGhoLet/ul1z +K9FYrOsijfjxSrXzv7KO876buRNo9wqKjZIkWNN+LsBL7HB0QPCCuW8mGD6o8JnC +RE+7fIECgYEA7EjNSJcTfUtVSB4a2cNAMXhjlLk3AvQiXL18nkSn8FT7I4lh2Iqd +UR9hg3CvzCCbI9Pa+rmslB9gkIvv1G/Q+FWIrptGQEMr23jOtUCbn4smvJDQw26C +cN7DuWyupVRrd5JCy4FVx3RX3GKPbUa1lsWASHXdfdB5eQBCpCdBTPsCgYEAwi18 +Pf6u6+oSAvwOdXak1/gmGFKGWHQwRuAPhf+6Mu0df+UJOYdwe9t8M5elb2x7iSlx +THlkmLez88pKvwt4m6st8NBDpWxnXQ31RDAyk7t+kQmUXu1ZPhZxFW7PFQtLLP2M +Ra0lLXefzwgxe2tSzxxX1N6kqwX3hMObK43HLaECgYB/d6rfHTlTX3+LX0pG7fFE +ftjh06Vcv42GEGcZDpq2qXGuMyAI7IZ/y/kUKod8DJ8FDfZVSjNS2TaD5CompYfL +YIFTCMs2QcZ4KM0CtO7/e9cS5ODqfUR7VYGrF3mEEW3EXLASDxzSc+4uIzGS1xGB +W9yfuo4ZoIzXfQ92dQLiXwKBgQCye7zH/2Ip123W8HkZ34SGP8JEeRakF6iIfUvH +j9hHF00WUiC4kJYEQytXAP0//idPXJiYAr1E4xa18Cvkj1a9QAtqXwTO+WXJUxsv +Il5bDOy5xGRtHR36xAYN/Vy7qzXelPBq20xhDqQGWTGikHP9i7/wGvahfUqW7nWj +Ax8iAQKBgQDBXi0DuR8qrKrZMmvK+oJbx7wlrirAXm+2WGuzvazSFBdjV77w3aoG +lLWhYELFsGZS9uACY/yWkvXX2+I59m0vrRCSZy/4WTOnIl1JyQXI3ZaMBaBTTUr0 +cQQnzaOs8kkBF+ndYZvMY19hhs6s8bvOcfLeDya1bgJdlkbAA4Oy9A== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Dave-Root.req b/rpkid/biz-certs/Dave-Root.req new file mode 100644 index 00000000..e9905363 --- /dev/null +++ b/rpkid/biz-certs/Dave-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICajCCAVICAQAwJTEjMCEGA1UEAxMaVGVzdCBDZXJ0aWZpY2F0ZSBEYXZlIFJv +b3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzOScJlBkVwfoNKP5/ +0qIM/ZisBYicqHXErDE7WCtBXh05bwRKzGYtn3dARnJa1EoLKnVFzPxZ/mvxNtmq +ax3/B3+Je6KzCCEtmgNfIoSwxY1Ms+/vEo/SLpVYrk33K7mpx3rDXqpUSiZ9BAXZ +AlK4slB8A/Di8H3hdsR7H927JS1LlbfFBKvpv/uYvmJhBdDKIW+k4DtQe7j0KhoY +liCfUoX7Yxc8XlDO14uS4wiaU2n929B/va+pZSp+00A+Vj13gbNW0rcdG3A/vc6X +b5B07d9Q3g7VyoI922bU7e59+TqZdYvdfqqijROVkZTCYEL6Vc2ooK7/hYzfJnVA +tojbAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAGYgH9IJSKNqJTysTIfjaHNRM +cZbKu+tjQF7e97CwygG0dnAB+3XdjEIxb4NCVCNOfUPeb4lfYmhwerggJ9O4pZnU +RYjL8alNDcmHB5PG+tPCePRmGV7Ao+Gj5p5TMnUrfjaVTCCN/39NOql0jbvwCl5t +cKA19olB/YeMcwyr17DgJm197n07iuQFk/+ieQJ7znyViMV76MMmXv5d80jBkRb9 +OhcLdDPXLJ7Yz/XRJcK8GC8uD5rO53bfIe+XJMgT/K2QvJ+FB2eiwyP49wxLb3bs +4GoVL0HKdYm0cJUSjTho9Ro8KOh9eJIauW3UI0S44gV1lPsOr64BE8f+7jU7EQ== +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Dave-Root.srl b/rpkid/biz-certs/Dave-Root.srl new file mode 100644 index 00000000..6bc6d25f --- /dev/null +++ b/rpkid/biz-certs/Dave-Root.srl @@ -0,0 +1 @@ +95A09442278AB7D4 diff --git a/rpkid/biz-certs/Elena-CA.cer b/rpkid/biz-certs/Elena-CA.cer new file mode 100644 index 00000000..afa23794 --- /dev/null +++ b/rpkid/biz-certs/Elena-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJANw51pG5UQLzMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRWxlbmEgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAyMTcxNzIzNDhaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgRWxl +bmEgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDheo8bzzgwGwVP +tGIl6jTTe/WMy7nKUHG0AJZLBMEZv62JVxBauroeADfhEzYIkLxhnclA1Ij61u2J +SxHpmLf+mD5xJyhJwiOA9dtcnqMpUq4nql9zg5oOID7XMlPZrNmNEDqs7f28BfT6 +7cdMC2IifO6kPJKGameETraEgdrroo6zgUhDJDYaqMHidU/J3nTTIlgw+h8EQBeX +oW9o4aBHO/GNR1uC+I76Bpl1vWSAcSatHB8xNsF74JhQNq36j6SGPSEiDxHXgX2V +GchwltTfDvYB8Fwc6w4/bvQXfXGdE9KoSVsh4BTFrV4TX58CAiPdkHBLQVU0cvl+ +2/gxLPCvAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFDUkefOGghlI +UfR+9vX1DOe0MwbZMB8GA1UdIwQYMBaAFH0pngEFpjbgE0OUC7c5ARkAkJ4OMA0G +CSqGSIb3DQEBBQUAA4IBAQAtjJqju+ZR9ZtWaqOdTj78jGuzSHubbPCJXcsxRIWe +Ja0MOrQv0OUV19OhmAH1qCLX23wH3xrguoy5d1sIh+dm9xYIdX4vf1LjnE3An0C/ +m4GyqvrQLxSkle6V2nMIpanVAEMG6Gg4VR9xVbtuWNDr6OwdagdOg9YVRjklxAc9 +CEuIdiIRdhbfkwLv122W6fgny5KZyrfruM4NuJYRLcg5lvAaMztZGzQI/EyQY5lu +AR5oMa8/+OWM76se3GlYx8ZyzaHSHWIfWo1KDoH18Eixlium4kP4PqpfLh8FeykP +H/ho2gXjHZf7yKPGnGURvsTGWq9P0RXoqo8SF+C7VeGE +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Elena-CA.cnf b/rpkid/biz-certs/Elena-CA.cnf new file mode 100644 index 00000000..bd8d7d1c --- /dev/null +++ b/rpkid/biz-certs/Elena-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Elena CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Elena-CA.key b/rpkid/biz-certs/Elena-CA.key new file mode 100644 index 00000000..40a3c768 --- /dev/null +++ b/rpkid/biz-certs/Elena-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEA4XqPG884MBsFT7RiJeo003v1jMu5ylBxtACWSwTBGb+tiVcQ +Wrq6HgA34RM2CJC8YZ3JQNSI+tbtiUsR6Zi3/pg+cScoScIjgPXbXJ6jKVKuJ6pf +c4OaDiA+1zJT2azZjRA6rO39vAX0+u3HTAtiInzupDyShmpnhE62hIHa66KOs4FI +QyQ2GqjB4nVPyd500yJYMPofBEAXl6FvaOGgRzvxjUdbgviO+gaZdb1kgHEmrRwf +MTbBe+CYUDat+o+khj0hIg8R14F9lRnIcJbU3w72AfBcHOsOP270F31xnRPSqElb +IeAUxa1eE1+fAgIj3ZBwS0FVNHL5ftv4MSzwrwIDAQABAoIBAEAqOnN1gs3dwqMt ++AhGIAZW7kfE6fgy8EiDKkHq9nC3ZVECH7tSDAjhkwVQDD5fwdwdpNn4IYsQgsRh +QpWxShr/hDV7KTHkN2pJjMVMt63Yw4qyJzueJccDUh63SblWQQqtpaT0jRJmt5J4 +/BAd5S1fVCIUwrXRreeu5q3KrlwDe6/278pQDYWswXyAJxN2n5H6ATIFOVFg20fd +hflxQwCex6qDj6w1mhppx/sYLa1uotHr1LfRWgrt+KVNITtJ5yigvbBzKkCu26Uv +Nxf2V1JjOYhO/q8n4A6YPtIkLKOrWZFFl2KwXTEEd5pL/91XTxGIlALsIu/4C00C +Tb/vcTECgYEA+oRmq8qtC8YfN+cvwx/ujfUJ/QnhFlxHb+PjLQGWncnKeNOgeVVv +i7HktH8KKvz5t1QYCR7EhVKxH0zxInQe6Q+eT3fZoQ1Vf6rWcF+KR1w+R7gdqDAl +GY/tbTLtRWcin2oMggz4dvufdIJ82+fz2RTvmudGQ46yiyYPtDL8Fg0CgYEA5mnf +V+cvmPFDWlxSwp1JDiUKLJeKNFpp+O0G2PhrpTTAHuiNZ4xQLj7h3k7Zid/Cbu2j +VTEHK341Gz43bUQgJr4jFWcaCGNDL2mUInZGvFYBFOoWQFFhkhhYWvZr5X5kGg9j +BrRwJGZ1kRL9zRqPs0k5LU1bfHBCdXhf18wLjqsCgYBqWrF393iVygvQ4O5PCYxu +afxOl9YedxjA8N+uaME3xcaWm0nCmTnc9a4hztlTPMkLQsFdhdlqvJuDrVemB+Rj +j4TnOfuDuzR0GeQmGvmKqCesrQayM5ZcjtT+iiNfVpTFVvFuePE3GkYs4YT+my/U +FmZOvib/YWJ9XrBGEWsiNQKBgDhLbbIAXfS0HYyaOe4ql4rJKe8zJyUbYgDbiGzC +ZSp79OSYVNQTyBNEcdLq2OOCs/J+RQWvcN0DfN4nGUus9V4B3niANDAQcH3JAdRZ +qXaiXKlLeBxGxdv37r5qrnnno3VqhPtCYpPCJL9JMJFICAv5u+qBl/STSOmCe4gx +5jD5AoGAUNyLLGuqFI8UJZP7m7YXAylRiR2IWF6/ia3e7Az6t6HvHhXkjBWkQ3Gl +q9zOsBlFxHQUA5o5zolMdCyT6bsfDkzf3l7RAP0ZgE3gqIY10pDbedSa8/9K/hX4 +q89JPkj3wa6AciesEcCXML2ttYZEIKsgK7p6NE0SEejCdSs1v5M= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Elena-CA.req b/rpkid/biz-certs/Elena-CA.req new file mode 100644 index 00000000..743fd18d --- /dev/null +++ b/rpkid/biz-certs/Elena-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBFbGVuYSBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOF6jxvPODAbBU+0YiXq +NNN79YzLucpQcbQAlksEwRm/rYlXEFq6uh4AN+ETNgiQvGGdyUDUiPrW7YlLEemY +t/6YPnEnKEnCI4D121yeoylSrieqX3ODmg4gPtcyU9ms2Y0QOqzt/bwF9Prtx0wL +YiJ87qQ8koZqZ4ROtoSB2uuijrOBSEMkNhqoweJ1T8nedNMiWDD6HwRAF5ehb2jh +oEc78Y1HW4L4jvoGmXW9ZIBxJq0cHzE2wXvgmFA2rfqPpIY9ISIPEdeBfZUZyHCW +1N8O9gHwXBzrDj9u9Bd9cZ0T0qhJWyHgFMWtXhNfnwICI92QcEtBVTRy+X7b+DEs +8K8CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQDfMOoML7luTIWr5gGWeph0EnpY +Cl5foKYn34FuMZSw0ZPU1WOt819G1YVZ9hND0M8d5rQzcsc91DjQ6sVtJIUtuSvj +5i95s1tn5UZHuEuwdq+4phMjAbfgtidxZs5y4aJzp0+kL+NhrRlnKT3S0GAxQyJ2 +6AiVHO7IEJDjAe7U8hkKIJ3i1hQ16Tz+vSDr+KBlt3gUOLTgGW+jkJQ32jOEWhOu +lFM61uag904sm6P5gx3bjVHHjwTb3FHYQFnQ5biWZklAC21Al74BDB4Cec9xKBHb +Bp9UwJXXYTI2K1zr5Tlowl+p+yh6pQDMMUcDnxS2ADQk96IkQr7aZEEOHKlE +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Elena-CA.srl b/rpkid/biz-certs/Elena-CA.srl new file mode 100644 index 00000000..b71d9d9d --- /dev/null +++ b/rpkid/biz-certs/Elena-CA.srl @@ -0,0 +1 @@ +BE5ADAEC3C739076 diff --git a/rpkid/biz-certs/Elena-EE.cer b/rpkid/biz-certs/Elena-EE.cer new file mode 100644 index 00000000..f6ffa506 --- /dev/null +++ b/rpkid/biz-certs/Elena-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIJAL5a2uw8c5B2MA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgRWxlbmEgQ0EwHhcNMDgwMTE4MTcyMzQ4WhcN +MDgwMjE3MTcyMzQ4WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEVsZW5h +IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA20zGWcQ9LkKL87A0 +bPHIX4oDZplZHuC44zT/eWuWACyktqjqjWK+ZvbwceNOfamccCGko1FSFNRXs1OH +1B3MkOHY7OqjthjrvWoMuWDl6k2dMUmZiIASXJJPDXpXklA6YVmDXnYReYe3cc3M +9cPKB+nBtcRQZ9ZppnC/CIsNAordEemkNMk/H3EPcgrsAPakYfuH5J+e5BawHgpX +dhTT7fEG70FMJF5M/bUyN4AfXATfE0IC7bRhfcsLs6VX1rzzhLk4FbgE6W/+d/xV +nrCVimWwH6xO/DxskV1GSYaASsyDzIbzjwQLMRgyPqfAc9PzQX0hAFFu2EmPRBvd +3NQjbQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBRC+sYdSXpKjNo/7+e7 +rcktSMpxSzAfBgNVHSMEGDAWgBQ1JHnzhoIZSFH0fvb19QzntDMG2TANBgkqhkiG +9w0BAQUFAAOCAQEAXvh42B7iCFjI5ylIIuDtQNWQBhqb4FW3dUM5zF1Bai+tS6YO +JCQf1Fge1QVHb70GChQy7AhICq+1z63fyJfJ6Djk5idyU2eAbLzZuG1TkrGLuXOw +KL87WkjVdpcVOaqqe3sMxGjS0F/jv7xeo5kV6Xv7aDyf3DJXU2LJ+vPU0LcvBJvf +3Qzf/VXzXZ57MKQ3iUqjy1/JjaZC+xSw0eL+5+HfeZ7+unEwRMw9B2WSF3u3YGWF +2L3rHtdycJ6y7FRRvgp8duX2+S6TjAxZIWWlw8cV7AAui182cTJ8haVLTQg37fdL +TjOWvHr6THqTTO88845AmV6v1U9OyxMJYaOviQ== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Elena-EE.cnf b/rpkid/biz-certs/Elena-EE.cnf new file mode 100644 index 00000000..126031e9 --- /dev/null +++ b/rpkid/biz-certs/Elena-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Elena EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Elena-EE.key b/rpkid/biz-certs/Elena-EE.key new file mode 100644 index 00000000..dd05db61 --- /dev/null +++ b/rpkid/biz-certs/Elena-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA20zGWcQ9LkKL87A0bPHIX4oDZplZHuC44zT/eWuWACyktqjq +jWK+ZvbwceNOfamccCGko1FSFNRXs1OH1B3MkOHY7OqjthjrvWoMuWDl6k2dMUmZ +iIASXJJPDXpXklA6YVmDXnYReYe3cc3M9cPKB+nBtcRQZ9ZppnC/CIsNAordEemk +NMk/H3EPcgrsAPakYfuH5J+e5BawHgpXdhTT7fEG70FMJF5M/bUyN4AfXATfE0IC +7bRhfcsLs6VX1rzzhLk4FbgE6W/+d/xVnrCVimWwH6xO/DxskV1GSYaASsyDzIbz +jwQLMRgyPqfAc9PzQX0hAFFu2EmPRBvd3NQjbQIDAQABAoIBAEJQoyJ+DyowAXY9 +cH0JWFhbuc+Ky8JknkRGwIKNIB0JYv3BcrwygfVM80TdQd0KLz5RTiH8819NHwAh +YE+qezPMt/ZctgjY3GC48wQT4zLJKaG/6ee3ItZPgAxJVLXwANdzZCBqf7pKahTF +8RbYj/14mJVIui/MTMKCEaKZueNsX0PZGWmSsDiQAZc4OXNuxb+ogI8mqQGJsACa +fj7sGXgTh/XN9INT8RdQS7H4FQ83mCnbPeM8t7kU4HXX+9OtLitWOgUoJQ65raAq +vdS8nizQCfpefQr4Bl0xI0YA8MFmmspCqD6q1zAtpnCe7dtzEzFuRJ/XxsRP0Ee9 +aoDQ1QECgYEA7l2L+9gXIf4AmAmVQ5rEOR8B2yHcdwpuKeM+CSZ/o5sesApJlRkn +ha5Cit30HlpgSQmNAvlSQ+FzU1loKRR9vDGIfZp/LRX+Zwue7z9MtrhJb8rDKqVO +p50LLwVvH7eir5S7pBylzEjuOXlIc7nSkrJ2UQIiuolm5WhsSIbUbY0CgYEA64Yk +ZAufuMv5UB9ztiXdWsX0vM8R5iYlplAoRJQea3Ux+wHuDHAlVZ6j7x3EcLn3yHmh +4pmKC1kPcH7rSiX7tgN75BwRudiTTUCy42U5Gf2P7j+QnNdrNRa9TO/DRjFcJz2j +2oab3UNMom00iVSxpEqzIcJyTpGBsl0ZCgEWZWECgYABhTM5Xf13yAj070q2baxG +uP3oCeVAFR7ywXJJ2KcDwh+F++rQOqLX5W6jOBswfl8S2C7AEBsIN83mgDF74ZeT +tbUrJ+sbvIIs4hQXbo3stGwzfFWWVguUYhoKKLy2tRMij45K06vzC5wJXc6qfkrr +iJvclGjoS6wOVoYqSEHemQKBgDOq3MbZyfM3Q/0wuSinS9UDAjp9TpbnnXDLutm4 +iKfYMNu4w6kU3QvYXmwxYou8MEBZdosIVcFBi2KJZUKB7KM0RnR3N+hGO6JB5DyA +UzOBbZa9eRL/KvSdhW+gVX1LjMTK/+wLhZvXjLNBM7pAyyuYe42XY44a25HuXHTW +YjxhAoGBAO4AxeL/zVOZxkZH9b/8xo/31wj5DPunGGF/igIauXg9G9rdCQcNtWLw +rhZxj13OqfpbEuS5V0vzLSN0JMVXWc18ekLY1fcdXRV7IZ5mh8QFQiqslTKL0u74 +CH5PJX/5OCQoz5vEcg7mrO+a34ew3uf03q6TSlTtWuLrEzoQKu83 +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Elena-EE.req b/rpkid/biz-certs/Elena-EE.req new file mode 100644 index 00000000..69b845ec --- /dev/null +++ b/rpkid/biz-certs/Elena-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBFbGVuYSBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANtMxlnEPS5Ci/OwNGzx +yF+KA2aZWR7guOM0/3lrlgAspLao6o1ivmb28HHjTn2pnHAhpKNRUhTUV7NTh9Qd +zJDh2Ozqo7YY671qDLlg5epNnTFJmYiAElySTw16V5JQOmFZg152EXmHt3HNzPXD +ygfpwbXEUGfWaaZwvwiLDQKK3RHppDTJPx9xD3IK7AD2pGH7h+SfnuQWsB4KV3YU +0+3xBu9BTCReTP21MjeAH1wE3xNCAu20YX3LC7OlV9a884S5OBW4BOlv/nf8VZ6w +lYplsB+sTvw8bJFdRkmGgErMg8yG848ECzEYMj6nwHPT80F9IQBRbthJj0Qb3dzU +I20CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQAlRnvSyz3kmqYWx06NF/pAksHg +SjUiL7rxnl9/9kOwAUCZV24L4M4bUtcM9W99AP6snTB/xLhAfWcAUa0F5s+sLC8s +WVMMitm7ykjRX4ebP0PvTk1eM3SkzhE2nq12493n2pmhmfH+MoHhE8QMBZN1C3t0 +VE5lpo75Avl+zvH96hPJGwKbDko8zaaDFODctq23O6mTeZsUC/mrDw/uq08L/czG +JJU2A7k7/AAZ+0gAiaBIC0sb5rvT8EkswvOZ1wwT9HGSKHM4lS1BQtK8m9olH5MI +ul4C7nmpK/3eCHBdZR81Ecibb8mU831B4pp60uiJZgmyQihCN3YyDb5+QKFG +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Elena-Root.cer b/rpkid/biz-certs/Elena-Root.cer new file mode 100644 index 00000000..ef1efa93 --- /dev/null +++ b/rpkid/biz-certs/Elena-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIJAPF6T/jli1fvMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRWxlbmEgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAzMTgxNzIzNDhaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgRWxl +bmEgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfp5CkWcw3a +9iz8WT3x/A0NZQERIIziGApTWEmVhXxBz2whxF0JnAp1vkUOkeF8kOK4AQu2s5TP +jwc0dIlZ9pJk6X7jsuVry+uGNe0DJdYBuxFTYyzZK29M79qXZF17yU0ENAE/9eMA +kdHiB0CAJXpOjK7sjhL2eC2fch9UtWMD0z5l0aWqW8ij1KebXNF9ihaZij+fY/px +NB2dqjdkJRr8wGN3fksS58JcGo4S1BgRqpIGdaAPogI3/Rp66xEDYmoWUhB1jvPl +uqQ+w0dj1h9eNEBigDwO5gyjyAs+lljOwj2GCzhffaTvsM190oSbCrU5uvGX02bU +493dsxFZbfsCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUfSmeAQWm +NuATQ5QLtzkBGQCQng4wHwYDVR0jBBgwFoAUfSmeAQWmNuATQ5QLtzkBGQCQng4w +DQYJKoZIhvcNAQEFBQADggEBALIbG/+58WYEPGntUHP4wXmH1xGLoHC4NrGmZkBY +tRazZSU+dQbVD/hG7gv75p9341NptI+sPotz6ly0enDI3MssS5mEplUIPIXqvJJ4 +UXxYZLiq6DLV+udc8GbCgcbxSriPjMpP1riP7mOr4byjHfWD4JKWcLtZB9SyWuo4 +9jVHq4yHmYIXpr4Qwo0+6OMUVa+rxVmAFciQv9/y9g+Sy0g8WuKoFbqKGvz87mxy +E2L+Vm3Ak01NaH+lgsLnbzIE9nM5dC+xZlcBsQy/0AS91Z+ByGyIpIg0YbECx9SE +iYzrmpmACvzafW7rDddiyOx23SzHbSKgeP9ADrFoJ4W8yrU= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Elena-Root.cnf b/rpkid/biz-certs/Elena-Root.cnf new file mode 100644 index 00000000..920e7c7d --- /dev/null +++ b/rpkid/biz-certs/Elena-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Elena Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Elena-Root.key b/rpkid/biz-certs/Elena-Root.key new file mode 100644 index 00000000..20ce11c7 --- /dev/null +++ b/rpkid/biz-certs/Elena-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA1+nkKRZzDdr2LPxZPfH8DQ1lAREgjOIYClNYSZWFfEHPbCHE +XQmcCnW+RQ6R4XyQ4rgBC7azlM+PBzR0iVn2kmTpfuOy5WvL64Y17QMl1gG7EVNj +LNkrb0zv2pdkXXvJTQQ0AT/14wCR0eIHQIAlek6MruyOEvZ4LZ9yH1S1YwPTPmXR +papbyKPUp5tc0X2KFpmKP59j+nE0HZ2qN2QlGvzAY3d+SxLnwlwajhLUGBGqkgZ1 +oA+iAjf9GnrrEQNiahZSEHWO8+W6pD7DR2PWH140QGKAPA7mDKPICz6WWM7CPYYL +OF99pO+wzX3ShJsKtTm68ZfTZtTj3d2zEVlt+wIDAQABAoIBAQCvcLmYOUmbxIOr +4hCRqQLpiCy+RTBxyXVHTpm6kOg6Iy9r6bQo9Rn51dqZOlGHKzR/RIx0/CvHiy/o +5tKamKMmKSEhndtLV+AGrLM8twYTcqySU3OOiZglhBqRP9qpq1/SWMv5CAPAREI4 +jLTf0ECjtRfTOxvmhKb6S0jr9GS+4mpth7YabrwRiMVw5YrbpKP0Elp3Jb45+els +rwU1IRGFIDOjVfNcpA7jwXhaYsPHizTSS27fCG+ECJxXaf+guR8q7Jh3Ww6MUvGw +W+45NHaoxA6v3elCeiLBO3XpQa0tItvih538Ro9pqJ53TMFjT2IdGnAHjj6Gs3qb +GlaodrwBAoGBAPTFv/cjNF/aQ7LX2sNSj/7/Kh+FmnTmZfbkgwuuD4F937icYNzw +gD5RsCbaFyF8MqwDzYnj8C/0qMeMan1On1+oyc720IOPSA4sEEfoEwZUIiphizVg +4M/h6teQl2pfquvakfzoa7egFX+PuZt3VugZ08L4XLw52vu4F3Kspw2BAoGBAOHR +Q/phq7y+B2mzs574cL84BJELIKfuX3xXKENUvygmohzkykH2wZpYk1ttPiTR6Qyu +kJnYM3N0VuxUXW11M1eEiQyISuNmJadghY8idg8+p7TH9IjoRzG00Rh0FB0JqGZF +3Jzl9SPqKW+QXDNIVb4N9sd8ohKiDc2KfjqwIHF7AoGAOX+Wh5SCgh3Al2tzXTyw +zMLd/0egL+PLggLN8dlylQWfnztE2cG5Lmp8CbRjiJ8nPBcsmj6sNmevmiiW/1aP +w6XfujlqY+0tjP622F1g0rTCzdfaHrDiPpMgWoEBwKA2g271qkZiv2Dgi/WUMTwI +cz9V6k/zYNfqZAUrpOl/2IECgYEAoZLF/OTdqJKfYzY9E0XYBjniqpU3rHCWybTj +DioZDHV4EQxy23ffVryB0yz7BgVbpsNQm4NibP2VJEvI/YSaU8h09w6d5s8zqesa +JSwXJRlDjcp0YXExX5Ns+P41VgGPCH58N5ciK6xkMXstPVRIZVBAfsPig0qIbcTm +RL+4tvkCgYAmcv+/9rPHm05RoPalnvhphQod9f5u6h2xr6GrwwmaUH6ZvovGs4jA +M+k0NGMDmIkU54NakBRp+HF8L2ztJlhg85DymJZVRzPo7mGw0jYxM9OjUWkZB2Rt +eqymf/c6PnwLUtl6ktc0FsvmIbn7tyO+NLmMqZy9ipvgnQKVhs/K+A== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Elena-Root.req b/rpkid/biz-certs/Elena-Root.req new file mode 100644 index 00000000..6797e57d --- /dev/null +++ b/rpkid/biz-certs/Elena-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBFbGVuYSBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1+nkKRZzDdr2LPxZ +PfH8DQ1lAREgjOIYClNYSZWFfEHPbCHEXQmcCnW+RQ6R4XyQ4rgBC7azlM+PBzR0 +iVn2kmTpfuOy5WvL64Y17QMl1gG7EVNjLNkrb0zv2pdkXXvJTQQ0AT/14wCR0eIH +QIAlek6MruyOEvZ4LZ9yH1S1YwPTPmXRpapbyKPUp5tc0X2KFpmKP59j+nE0HZ2q +N2QlGvzAY3d+SxLnwlwajhLUGBGqkgZ1oA+iAjf9GnrrEQNiahZSEHWO8+W6pD7D +R2PWH140QGKAPA7mDKPICz6WWM7CPYYLOF99pO+wzX3ShJsKtTm68ZfTZtTj3d2z +EVlt+wIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBABYl3Zj1P04ONOYjQrKZ/BR5 +u2IBr0S6NgwNK2MC5kyCUjEkunaIO6qSJOfcbuo/EI9GAkNJQxvk1zXfoPAAs9o7 +te39oCtHb/hUnc/jaoFQmrpTC9CmUSzotcgasoc5NdVE5pjDwD1ba/RecQZh4PMd +ndC3COKH2ssCZnEdqZmgUUsd0s94Gt1/1FP6YuA6FabBIsMK0RkAaMswpia6/I0g +7Gjarc+eml+NoO0BPNdjUItFyen6piS60W1N+XcIM2Y0+cXM3JvkoyCBCKPev9j3 +ogVRXIczSPzRcb6jol43qnhKKFkfSDdovY005lspruxlJowTdy3cR7JEkwELxnI= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Elena-Root.srl b/rpkid/biz-certs/Elena-Root.srl new file mode 100644 index 00000000..ffc8fb8f --- /dev/null +++ b/rpkid/biz-certs/Elena-Root.srl @@ -0,0 +1 @@ +DC39D691B95102F3 diff --git a/rpkid/biz-certs/Frank-CA.cer b/rpkid/biz-certs/Frank-CA.cer new file mode 100644 index 00000000..ce4b267e --- /dev/null +++ b/rpkid/biz-certs/Frank-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJAMqO64hXw9BEMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRnJhbmsgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAyMTcxNzIzNDhaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgRnJh +bmsgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJIEuqlgIImsHj +L64vwnEuQf1LEoj0N5OzZ8bXB0/kg6cCIZHpp8mxN75/SXRvQbgEGSt5oeb1F8cU +4sVl6YJ4/1dETDUgR38Txw017vrXgUTusWXEw+i8lBwtlnK5XNUfGJPOoQR3C0Wn +a0M5ZXLmaXuKgKLcWadWruoXsfCAqPabtjCFfJbx2mbBXMyWgOGmv19FO+RS3B1K +njpXNz70pc/2P0BA05f/rH4qjVafpiTYq/FeINdDWT69ohUEblOrAuM9Y1WO7uGU +XGanWyEDlhHU6NwiTfwXdnPQ3YRRxuCz0f3MJL98GFYbWAkF45aERUGkZ1OlRNEM +3SdA8ezzAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFMGFt7dtC5NJ +e0d/9mIHY3wsSBxEMB8GA1UdIwQYMBaAFOUmkyh0+BWywAg8nf1Gl2JtpGJoMA0G +CSqGSIb3DQEBBQUAA4IBAQDDBh+8Df8qPJXRJ8tMehIPYNEfcpobg4sRGzNfgup+ +aoZz6f3RohhNeK53eupzDG9bjE3oiMSu1uqn1eY3gAq+8SKs9+q84o7BZJKFrk1h +QC+uUrPWMQmlTBXLt6J+y3QvMCRW03H+FC4rTbiFXQoqzRE+rJRmZgzsBjthnylf +jok+AMeaHhQRgac/Vu21pRs+HghzIQ9+gecwqcyXw2gcOe3qPmYzOTuqIez1qCi4 +/3EYlnr/135fedPe51OxLjIyGaKIzHWTB41MbLmSWLzL05XDSe6uzYuHwlgDffEs +e4VqH/kKkU4D2ZT0UavfpjwjL2Y6nZAQCEf67H31ZMor +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Frank-CA.cnf b/rpkid/biz-certs/Frank-CA.cnf new file mode 100644 index 00000000..97703886 --- /dev/null +++ b/rpkid/biz-certs/Frank-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Frank CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Frank-CA.key b/rpkid/biz-certs/Frank-CA.key new file mode 100644 index 00000000..eecb7253 --- /dev/null +++ b/rpkid/biz-certs/Frank-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAySBLqpYCCJrB4y+uL8JxLkH9SxKI9DeTs2fG1wdP5IOnAiGR +6afJsTe+f0l0b0G4BBkreaHm9RfHFOLFZemCeP9XREw1IEd/E8cNNe7614FE7rFl +xMPovJQcLZZyuVzVHxiTzqEEdwtFp2tDOWVy5ml7ioCi3FmnVq7qF7HwgKj2m7Yw +hXyW8dpmwVzMloDhpr9fRTvkUtwdSp46Vzc+9KXP9j9AQNOX/6x+Ko1Wn6Yk2Kvx +XiDXQ1k+vaIVBG5TqwLjPWNVju7hlFxmp1shA5YR1OjcIk38F3Zz0N2EUcbgs9H9 +zCS/fBhWG1gJBeOWhEVBpGdTpUTRDN0nQPHs8wIDAQABAoIBAGXHpyL7aKoMDuQ2 +Q9K9dmMvV8v+5DmaSm92q+QzOhXtHb3xWRLCK0o4aHmnpXmL62B/kEWsTeFoGAIU +xEpPggxTQ0k3u4bLR56tk5zghCY8r7KPKW4KqiOMXDohsYrmVJ+440ukpkrL9ILF +wC4yjZPWe4Nal5Ak+o7eU26MSKYCdRIDGsW2BhTKjH2stwzojyb4Ru+ferkryF+l +8chWpf0srfabyVojkVMceRWJ+wFHycff6uZsnXTQgx5yGCown5ziZP3XoDNn7UGo +0M9960OaOB9own1AxQO0/0jOMh+/h2WE+/fWK0+FIZWQYf9RXE0ppruzLLRMqCZS +dwVpGwkCgYEA88Q38ZjUbccMLGt9D6LEIuW5qI6Lpds6179VPpTcdRZHOAC79pl7 +bgsazDLdufE2IWiObaJrTGt4cn/Zgy1HyYscRECD4euAFyLdWm40ehZRe3fgMtXJ +CkxTf1iYLG8VkSVUt3XAXbaRvBikPbvXoo78kQLvLohvRIMCabc3Kp8CgYEA0zhB +xudHQCfgDnl28Ip7+YWw4Ai69I2ULwwyhJNxbQDAnalAUXFV1j7XvFd8WpLzrPUD +65D7CYoQNVPvcBFUg+wfM78EEfpFNBqcYkuUCiSAT60E0WwMomhnKPHpHBg/5QjH +Of8HEuDXAG+iAVcBDIn/iblv/Zhza/za1JKJMS0CgYEAx1JmvDJPYQQlPB0YQbTB +1Bcr3FvSbGf6kXdt6KIoMcVprq1LBLUzbCPAYcAl9Wj67g5kh9kLC43FCzrnTI+1 +52LMVjK6o/zA3Cox/UOnvTyKm/7FYEvW+4i1radvpsWeSPTRdMHf7cDfIYK0qZXz +GIT6mEhh8xa0hLzrOC4L+dkCgYAun2JVh0OA88xPJZyNZ+QJperu6L5rsLyezfBw +tyL4Tow1wOBDmeK6kdCI8D6wt3M2IDcnTi87YdBGFSrq78hZ/kq831MErNuNrroK +MGiS/I+eBrDjkRgQ2T68GPm9i9S+t3tSX+qtzhdnLzzxUsUWgXd4bQg9T+NaWMvs +1BOYWQKBgQCAG1lfL1QAx+ZvOa9zbL7U1Z/XJNTM9wCsOpFIvP2VDnLiwsvspjUE +0sz/6Bh5a75zKUaf0njSZIwNsu/rY3ky+NUK+71MpYWaZdbp3qHSUn0aX8EyueF+ +rkj3RFEX/bVqxzEyJhhTdMDNwppFPkQmBhuJRIQMpoerKZqgK/z0OA== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Frank-CA.req b/rpkid/biz-certs/Frank-CA.req new file mode 100644 index 00000000..6946aea2 --- /dev/null +++ b/rpkid/biz-certs/Frank-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBGcmFuayBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMkgS6qWAgiaweMvri/C +cS5B/UsSiPQ3k7NnxtcHT+SDpwIhkemnybE3vn9JdG9BuAQZK3mh5vUXxxTixWXp +gnj/V0RMNSBHfxPHDTXu+teBRO6xZcTD6LyUHC2Wcrlc1R8Yk86hBHcLRadrQzll +cuZpe4qAotxZp1au6hex8ICo9pu2MIV8lvHaZsFczJaA4aa/X0U75FLcHUqeOlc3 +PvSlz/Y/QEDTl/+sfiqNVp+mJNir8V4g10NZPr2iFQRuU6sC4z1jVY7u4ZRcZqdb +IQOWEdTo3CJN/Bd2c9DdhFHG4LPR/cwkv3wYVhtYCQXjloRFQaRnU6VE0QzdJ0Dx +7PMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQBcEtGyCsZojfSMMtSjE0pKSBhx +j2WE6QNlGsWVrzDrBn+yPf8YhYWtTmJcf5pANcyODuNLMxP6EO8pfGiZlijgk1gp +C9fUBr6iVorkUQcsjRKmS/LqrEHC/V54pfeaLU7k8o3EgveWMHUiXFjBaUzBK74V +6sPOMLAziCq2TPOiN9CSgTlDTfyugPzRvqRFNTm88wPT2YcgWr/ZO7R2rSafZFX2 +oD96AfqPsnWWAPOeqtyOWiF6eNks90r3PoKYWxpZZ5A2ijVPrZSYtYUIeyJqE/9f +FPeLadoTEFdJ7/sPvtVTnj9O7oF5EERSHbxaWC6TCT79NF3SLxfyK+ANxawc +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Frank-CA.srl b/rpkid/biz-certs/Frank-CA.srl new file mode 100644 index 00000000..3d68aea7 --- /dev/null +++ b/rpkid/biz-certs/Frank-CA.srl @@ -0,0 +1 @@ +B05767B1F50A040B diff --git a/rpkid/biz-certs/Frank-EE.cer b/rpkid/biz-certs/Frank-EE.cer new file mode 100644 index 00000000..b67c4114 --- /dev/null +++ b/rpkid/biz-certs/Frank-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIJALBXZ7H1CgQLMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgRnJhbmsgQ0EwHhcNMDgwMTE4MTcyMzQ4WhcN +MDgwMjE3MTcyMzQ4WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEZyYW5r +IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3W1VWDmwozts2rpm +4vU3U/SJvaNRYUISNDiNsdj7rEekcoTR8J+MdgDjV/PEXv7xRleKUf/H+HRrG25h +XL+xJSMTowWvSEuNaGB/gCFOhbFKLHAjKwvV1eMsstpF0oYSARjPpefF6BMhTHmq +SmeT1zyqPFP0vOiyYpRbnTy28IfkzxcsF+Z5EvMujqnvjLcP5AXOYVSDC7r0ZzpR +bu3hcnr2ubBscGZIG6PynmP+xLnkSQs2b9gMaksBdgvRFSYJ5g1mcxr3zR4igZI9 +I4mSxqMbQowmJJSuWZzHIzyxteuD04RIPAjJvwA55/5LLrdVs3VqMlRpsUCetPXx +fckxGwIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQIHkroA9j7gpwYBb2N +or9xU9cpfTAfBgNVHSMEGDAWgBTBhbe3bQuTSXtHf/ZiB2N8LEgcRDANBgkqhkiG +9w0BAQUFAAOCAQEAVIX5WxILGYwfKxLUfx2ahDKFP9EMPmiUvhHCIpbjhT6sROxd +aO2z3GFRWrZ6FiDg4nIhrILv/ar1B51EUubX5lZ/6OCJMvQd9e7o8RPkN2fqMKF8 +R4jayJ6XNepbxsJ9oWIYT8/+WxcyzvepV7hkCXkrAd3qplyaMe60ZNjHg13Bi4gU +lNZ/77+HI0pXvtTYZ/C+9iwWTosKeUdx16t7XxgRiPrhNjuSDPfM6W4SZ017Zcza +AtAp9Rd3tDzKlz3AHkyuRJbR77+4hnec3v+UFY7BV0XDAytdsReHRppqxZCamoqn +jFp2plVkYCgGU7N0AVp/trbK/IdO2bo5fF1X4Q== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Frank-EE.cnf b/rpkid/biz-certs/Frank-EE.cnf new file mode 100644 index 00000000..68f62d38 --- /dev/null +++ b/rpkid/biz-certs/Frank-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Frank EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Frank-EE.key b/rpkid/biz-certs/Frank-EE.key new file mode 100644 index 00000000..9c8c497d --- /dev/null +++ b/rpkid/biz-certs/Frank-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA3W1VWDmwozts2rpm4vU3U/SJvaNRYUISNDiNsdj7rEekcoTR +8J+MdgDjV/PEXv7xRleKUf/H+HRrG25hXL+xJSMTowWvSEuNaGB/gCFOhbFKLHAj +KwvV1eMsstpF0oYSARjPpefF6BMhTHmqSmeT1zyqPFP0vOiyYpRbnTy28Ifkzxcs +F+Z5EvMujqnvjLcP5AXOYVSDC7r0ZzpRbu3hcnr2ubBscGZIG6PynmP+xLnkSQs2 +b9gMaksBdgvRFSYJ5g1mcxr3zR4igZI9I4mSxqMbQowmJJSuWZzHIzyxteuD04RI +PAjJvwA55/5LLrdVs3VqMlRpsUCetPXxfckxGwIDAQABAoIBACNDVzUest+8BgDr +cJkyXiZTql/2E26+u/FvFDm/iY0NN8Y5GsoMTq04RPxryNksFraSGGgoqOsLd0c+ +E+lWadq1NFpg/GIyDgoSXBvGsh+edWaQUTl4wAw5CpRNKJN3YISmM+OC/sSPz1zD +f3gr+KJtedrzr+Up1cbXQ6PN2ICDh++nInWn9ZMMfQ9ZPdZuX2Qhl8W7RN8S7hc4 +935HZ/f5dod7+4TdVIb/Lbxa0r4Kfz1FkYulyllL1DqYeJP0YzL3mrT79ZLUrbyK +nBOhtG1eHfLOzlX7y5vVGWEN8dhK5HJqi//DHtgFpYOFU+x8YuWS5wqiYfqMWy4d +883oUFECgYEA9jCjDGbbXuk5U3rL1ChOIAO7U0iVO3kFSLQSxbkwQpfUV9NCY6MN +ZH0e0o1AFui8WTS76xO/riywbZHZ9OO3xfHODNO1Qt+k67m75mvW4hzlzOS9B+J7 +UATHOTyi/Cy3shI4W+FDyjxX9iNG8l+Bieu+7Fh/DeZNkJ3Ejnb3PwMCgYEA5kAX +mdjExkCJHaBbdzWBydIW7NNbKmBPKeSs4zhhRB2BAbmnSG6Mu2KUm+u+5YIKN6o0 +r5OLhxo0k69LgyVD/+3NJ7fPmwGtsLRaeykShR+01g7PXCXW6EMbhyCTs8OcPfDn +4yxoj67k3E4BBLtJI6pVRYVr+IEvZqAhUqUx/gkCgYEA8zE6b47PlyMmGNvNq8cg +3akyC+RAXp5+5MHVZXI5RR88iIFNLKWuHh0nLHCR5c+D908Lbv10NPc6VRJlzu5/ +5E6n763Webf4707rWYQfof9P1iYCwV4t1+7Qai8HBbqav5IWEFUnJQiVD7TraZOE +oBy73jbRU4a0Cm5+8wh71scCgYA2lDTD/DVQxVV7V1q3HFDitVFH3CX9Go1JYfJ1 +fhTYX6IH9akoq0Pi21Bc0XoTz0p6vXb1s6TcZqLV6zScJsZCsWzzIEgu9yvj+iyE +i0zfj49/Ok1/C10w+09YLam1cAXmTOe62vkCLjQD4N2u8HI66RKDg0f/xSemTQj5 +HT2HeQKBgEZB0W4xdOPYU5lTzYmn3hPH/F8R5DismczNXpe5XOcle+IUPyMkNpJR +xVy98muszdIhYnroQIBCHDEMDNnAP0OCCZ0PjcuObf+RYdJOEznxMxIB2g5BWGZV +gCoEYWLFVJpS5mQZz6PdogjnudWVae116cAB6i7SAWqVste/+t+X +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Frank-EE.req b/rpkid/biz-certs/Frank-EE.req new file mode 100644 index 00000000..b7731a9d --- /dev/null +++ b/rpkid/biz-certs/Frank-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBGcmFuayBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN1tVVg5sKM7bNq6ZuL1 +N1P0ib2jUWFCEjQ4jbHY+6xHpHKE0fCfjHYA41fzxF7+8UZXilH/x/h0axtuYVy/ +sSUjE6MFr0hLjWhgf4AhToWxSixwIysL1dXjLLLaRdKGEgEYz6XnxegTIUx5qkpn +k9c8qjxT9LzosmKUW508tvCH5M8XLBfmeRLzLo6p74y3D+QFzmFUgwu69Gc6UW7t +4XJ69rmwbHBmSBuj8p5j/sS55EkLNm/YDGpLAXYL0RUmCeYNZnMa980eIoGSPSOJ +ksajG0KMJiSUrlmcxyM8sbXrg9OESDwIyb8AOef+Sy63VbN1ajJUabFAnrT18X3J +MRsCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQAS4EWFkN0KI0PkZyTKOYJ6S9q4 +UyEjMi7fgTJuRSMPpKiMDv1l3suirbPhnW3+yRau++h/Wxa3xE2cgHmFdFSGsp9Q +GpGiw0xy9/UHmaxuian+Xgwo5iYBsAXks+HnrXjpj+PulLPHtX2DqYTjOLk/T9aZ +ue8OKClukL4G+jmYptY4ILaufmnqJHqPv+JBdZUJT97LFEGVLdv0TD5pzsuSQu+A +eJJ5SNAUyt1PF6zhC8ZJAjL1ZIa33y0dI0iKbx9G4cnnL2cm/3SWiHGtXTzRGunh +4HwhKMr+Y9A6VKR/LT3Gbkuvih9G3mnVDenKgjKXb7HGhfkWtE47DZwjBlYd +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Frank-Root.cer b/rpkid/biz-certs/Frank-Root.cer new file mode 100644 index 00000000..0ec9f629 --- /dev/null +++ b/rpkid/biz-certs/Frank-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIJAMsTRJ57iUNrMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRnJhbmsgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAzMTgxNzIzNDhaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgRnJh +bmsgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOy5GeJ8pCtu +S2QhidJecLQ8gpeDxUS6z075A8VIowtNOiywceeZLWNCcSG0YSYnHCyQCkCAtEb7 +mpTWHPPId8cd7CcbHqIKZNw7mhzmRVPy6+ZS1GQm9AXK3p7yUj2Gl+yxtfFXWCxz +1FgAYiOSN7eyvkjLHmORqBv/UA19M+iLnPMjLKaQugy4J/6Zju0v2LqpPS8Xzh7t +qjrP/1HDmjIRgBrzwibRcPhlGPx79k/GQwxQYWB1bjfQiuZYsVKoWMhMaHTcWUKa +o4ZJNpBDZM7Gc62bYGuwlLITSr1MJtwgNZKmTAslunHx8SBf6fp56iVjZhqzB3eP +szbwC/HL4EMCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQU5SaTKHT4 +FbLACDyd/UaXYm2kYmgwHwYDVR0jBBgwFoAU5SaTKHT4FbLACDyd/UaXYm2kYmgw +DQYJKoZIhvcNAQEFBQADggEBAClPGF3JcqqBJcczowlbm7Aubt3meLRUbDj1U39a +dQIf0eGNyY79WNVy5uJ7gvUq0MPj4nM2prgk+ZoNsQE++dYdp/J97ahIqfnsr0UN +W+HuzAzfxNNvMRTBsHJZv9uc5hODKPqSw7XpLL8wfDrg+UHJSf84tT0lqTLk0id0 +dMyQ2+GoFSI7q71hfuQ4TIay8RmFPiTx4haA+E5MNnawFukjtb9pGYTiZvEB18IH +HgQMxo7CfNaA05FpHd6OfLbXEyf6WanL7oD6drOJcMuvbWiPeTQ6v0rQy77F8gSd +4PflMK/AtGPzp2tTT6fE7PwVoKPqyVExeKH4kpd+jj/8Uvo= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Frank-Root.cnf b/rpkid/biz-certs/Frank-Root.cnf new file mode 100644 index 00000000..8993417b --- /dev/null +++ b/rpkid/biz-certs/Frank-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Frank Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Frank-Root.key b/rpkid/biz-certs/Frank-Root.key new file mode 100644 index 00000000..ad4700e5 --- /dev/null +++ b/rpkid/biz-certs/Frank-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA7LkZ4nykK25LZCGJ0l5wtDyCl4PFRLrPTvkDxUijC006LLBx +55ktY0JxIbRhJiccLJAKQIC0RvualNYc88h3xx3sJxseogpk3DuaHOZFU/Lr5lLU +ZCb0BcrenvJSPYaX7LG18VdYLHPUWABiI5I3t7K+SMseY5GoG/9QDX0z6Iuc8yMs +ppC6DLgn/pmO7S/Yuqk9LxfOHu2qOs//UcOaMhGAGvPCJtFw+GUY/Hv2T8ZDDFBh +YHVuN9CK5lixUqhYyExodNxZQpqjhkk2kENkzsZzrZtga7CUshNKvUwm3CA1kqZM +CyW6cfHxIF/p+nnqJWNmGrMHd4+zNvAL8cvgQwIDAQABAoIBAFOEkt9XfkxcY3j2 +ZDu2Wikc2C5ArU6sYgvIy03FbNDF9Gpj7iv53QuSG3v6ufPOBKCsSRGs1u3cQxOT +3y8bYTb9FZ5OcSZWaHNTC/J6Q6d0o0nlm02ieKG6i4SkleNjIyK9KCX33QIB878A +k59dLQ9AnuXr09LpRthp4YKA09mNCqFhTivsxJKswjoDbGeZHnz964f9yntuDqxP +ROi+F371v67D1AYvk/BMRdA5G/CkbMLomgaQ8rf0sW4Wx9rqHm9xzMO62xe3ot7r +hYByQmMO+6DGq4RpuoG5RdQLKACPdob2ZZ/fsRHUpjUMG4REKIMNMwmbWqbgk7te +hWUCx6ECgYEA+Mw6FrdFej+Pob2xovOKIYJDg8dKcjj5TeNvPkEmmsHcV5Hhs8Dp +x3h6GPLxHehw5fOBs88Y9ep6EUEE4xT1gBimBYbmt5u8jHWR92GMFnWhURWG6aMu +XVhD5oLCE37i1j03q2I3Ax0MV5pIBwamcEyAKDNtFiEPm0voYY55POsCgYEA85Nk +S+3MyF2yHRX+8kCqoW4Rh3kai7E/SvoQ9TwR2JCiS83gIuFs4CD8oASYG4A9oe0P +GuB9sWZjdUC0kq248WzXNdnKglWuhQBNnjjtQqRUNFVnH0Kupdo+jnELqIwq5Is1 +UF1oq+7c9p455H+TpmiUWAYSA3iFbFn83487NAkCgYEAgqZETs95BaRBGa9Si/6V +59jO+XF675ZpnHQ1Y5y02Am7WqT5v/orCZuDinxxD8KTHr4Lu0+ijOjPpyXcmh7U +eKr46+gWWg7HKX9H4n9wIA8vYjQKv7/4Rf5m0bKSlchI+DX3eOE/gDwN0ibrcf0V +A924YuP2getklal741b85XcCgYEA7XVMuyUqlk+Zu/dco6ldb6FRn4P12CfFL4AY +liuorjtarZIYp4iizuH5xrqT24OrEjh8mFQw1Yie/4lEQRbxjRPxvwMDBQso52rD +QLP4whZYLOjxbq1gfDoG8HDOz9NOYZ5BLIbT64Ijkp3wjI2/UOT1cdcBKrcNQ/N6 +riwBqJkCgYEAtCk/Lv5d8ZPtqnIb1yMXersoNpg+vZdBBD6esQ3/tPvIgfPJm5jb +SmmoCJBCOuTMH79KzsP1/wEq4LAWpUflf9AW70MEVg+A58ixITuimsyHvQOb2EAv +vYvVHW3yDG7p+gS+KEIvJNo2Tf1MQG892EHrOFg1m4Nnnkwi0IZrFr0= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Frank-Root.req b/rpkid/biz-certs/Frank-Root.req new file mode 100644 index 00000000..6dd4cbdd --- /dev/null +++ b/rpkid/biz-certs/Frank-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBGcmFuayBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7LkZ4nykK25LZCGJ +0l5wtDyCl4PFRLrPTvkDxUijC006LLBx55ktY0JxIbRhJiccLJAKQIC0RvualNYc +88h3xx3sJxseogpk3DuaHOZFU/Lr5lLUZCb0BcrenvJSPYaX7LG18VdYLHPUWABi +I5I3t7K+SMseY5GoG/9QDX0z6Iuc8yMsppC6DLgn/pmO7S/Yuqk9LxfOHu2qOs// +UcOaMhGAGvPCJtFw+GUY/Hv2T8ZDDFBhYHVuN9CK5lixUqhYyExodNxZQpqjhkk2 +kENkzsZzrZtga7CUshNKvUwm3CA1kqZMCyW6cfHxIF/p+nnqJWNmGrMHd4+zNvAL +8cvgQwIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBABf2mSgwPJc8lymCczXp6AtP +38P+hNRD0UV3zirySIE6XptwHoPxkOoCMHQyDULEH2CLQ2JTJ7New7FRYf2OFPLS +CTpVhi+3qS7k+zlfc1vH0rdlDlVm9Lt3Qi3yGzhreoxDaq9kE4SnCKG4q8vsWl2h +Djicil/CoiyH7+Mk7RzUNGs37UyoifZF/uA6is3xCg8wflgabDRXqebDrmIFn7rZ +ox4jiDL1Ym1SBhJRBCh7+ULCZQXtk5005KwrYETt2wbb4PzwxnAiTpkHjfy9qzEk +NOhc9y2Urpk15/UtN3rhFTyK1mLbyeGU4foCzjArRvKGL4ueC89NpMe94X8F1b4= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Frank-Root.srl b/rpkid/biz-certs/Frank-Root.srl new file mode 100644 index 00000000..3c868fc0 --- /dev/null +++ b/rpkid/biz-certs/Frank-Root.srl @@ -0,0 +1 @@ +CA8EEB8857C3D044 diff --git a/rpkid/biz-certs/Ginny-CA.cer b/rpkid/biz-certs/Ginny-CA.cer new file mode 100644 index 00000000..ba2154ed --- /dev/null +++ b/rpkid/biz-certs/Ginny-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJALTKl8dxTDdDMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgR2lubnkgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAyMTcxNzIzNDhaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgR2lu +bnkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDueidWFU++2YuK +aT8Lp+y67Miy1FgO1UNxyCevP880EoJ6tqDVRAczLh3uDJKhZ5pt92+/m6PPqpUq +QtJQahjk55SRQQisnqC7dhkCnF7pXQPR/qPFzimtgkLXielt8GhvZSrqdxDdDnnL +xGzW5zrgxW6+KhLRl9jgK81E1EIr8h2YxI+LVbCy4YzcwLWHmgXlY0cIZTiDpR1p +TM30wQ5AGdjQE2IRHk7M5uG7KqDmVdMX+pG5fmma/ir9jSeKXGUV2BPWmsh5sQhn +DTrZ/qy00q48uzPBCKiOnm1Rd6ygNAohDcZYeJGZ3naqEeCPpowxTg2p7IocXHEO +LmBo543RAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFAi99B5feyZ8 +vA50GqPZAVnvFT2NMB8GA1UdIwQYMBaAFGMacgDTvnPGawQ5u/vXgL9dHca6MA0G +CSqGSIb3DQEBBQUAA4IBAQBgzZJBBk9Zj9jvGptRpP9z/AwW4Xxx0xXu83W9PCfk +bGUnbjvAKEOGxHWt1KgPN3rrjpU0PVjNmKw+TveO9FE+t/0sTXY2vj6kbbwngjYN +JTxNcO1b5r0ZXvNDNU0hA5IvRkxNSxL+/cVp5WEg0zSkJbCLdH7lzyBWgCNIXL9S +Ofd7azon/1SGUGQLZfTClKueOqUND9j6wM1R46tm4yape0TG9zTRnl3yKL8BSGJR +2T0Bsdoou8lEaASz/edd1tSxfUGgKZKKyURtX+2t9NfbYhToyBs32D56F8cq4GtM +6u53IAoPgXc6fXtDiYrS61WlTld611cJlUChtXOT0qVA +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Ginny-CA.cnf b/rpkid/biz-certs/Ginny-CA.cnf new file mode 100644 index 00000000..d1846a6c --- /dev/null +++ b/rpkid/biz-certs/Ginny-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Ginny CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Ginny-CA.key b/rpkid/biz-certs/Ginny-CA.key new file mode 100644 index 00000000..281a45b8 --- /dev/null +++ b/rpkid/biz-certs/Ginny-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA7nonVhVPvtmLimk/C6fsuuzIstRYDtVDccgnrz/PNBKCerag +1UQHMy4d7gySoWeabfdvv5ujz6qVKkLSUGoY5OeUkUEIrJ6gu3YZApxe6V0D0f6j +xc4prYJC14npbfBob2Uq6ncQ3Q55y8Rs1uc64MVuvioS0ZfY4CvNRNRCK/IdmMSP +i1WwsuGM3MC1h5oF5WNHCGU4g6UdaUzN9MEOQBnY0BNiER5OzObhuyqg5lXTF/qR +uX5pmv4q/Y0nilxlFdgT1prIebEIZw062f6stNKuPLszwQiojp5tUXesoDQKIQ3G +WHiRmd52qhHgj6aMMU4NqeyKHFxxDi5gaOeN0QIDAQABAoIBAQDTtNWe8iRtRSs/ +oNc7PcRG3VX+i8vwvxq0s/+m8Hq9u4Dh96coLNBHezVO0xKI/zR1Uyh9bWorPUBW +2CNlCAs5iuy1Voqg0+HVCa6CRtdrTAvMLMavH6qYQf+c4O29j6Lm4WUL6M+rruIp +JyOIVJZMXHlHkIpMTwVVXQ1JgTWNVBh82/Ze2tjnHvKOmqLDnjoqbPlY3jmJjHh/ +A5Ha0aF9RoMUzkgb38LARgIxZ5jrLPoxdjvOP3LXCBUZzVqNx1+sdIMX/Yuq6Kmp +NqKC3w1ZL24nGIPvesMX5ujITK0Yej9xIh0VMccudVNpUmAUA9v12cfvVPk4kJz/ +sAAj8DnBAoGBAPpzbV0NiDjftD8sGiznIhRVGrq4FTqVSk+Z2QOu34v01M4FotPA +9VjZx5uBflqU6C7foMbhSDai0wM69MLLKgcahA7wAbc38J/kyHi9EjQCb1/sbyg9 +gbG768fj0wBFpwb6dEdDeF+Sm6MTAjMQgVq4kwyflSBKbVWG5BnSD4/FAoGBAPPC +z42dWuO5qCXe6shZN5aQ3jTiORC/Py3/6AU06o3lyPBpGkYkMcReaWoiC43IHjjG +j7KAOtdCdxnh8tvahZx/6Y4uz2bdKbo4T01cpf92k+vqXEtnXz75O/ZydZpuaDo+ +Q/cw9JhSXEBHiLpnqpsDu2Inw/0cvvIPbQ4gfvqdAoGADZfYNrW2UAfsO4WEQi2l +Tt8znTDCjjRuHRXnjmieX3VBW5E4vi954YGocMs9dWMhmvGuQz0U80oxE7rOcAgg +1tPcmQbzwOL7X2JGcy8n3sTHELi/a7qy4Fenu2ilGh2trBZJ21hRHzbQ1bABbY4W +xzq/WG8M4/zGJF824CPjjlUCgYEAlQ9v9F1hExiY5m+mitVj1MLJ3vTniIIqlGqE +64osVJFLixf6ZSIE/NvvAmPHRPA26ukhPjqDwNZ4Fm/BHwhF5CmkHLorQe/EcIe2 +lswtBkbwtbcesU2JRO0L6eycVc9mFRe2YBaju/HBT91uku6JuTlTAPboNoO5kDQ2 +sAjXHVECgYEAggkANM+Kpg6JHDcQqJ6E0+d1vP0G8RPJO6l3KD40ZAqxp6XFg3Rs +xFpsTtT7vqUeFqZ5V0zyY52TQcBCfYBWTH1JGv+Fw9YCa5AD4NQ0KEw0/wSaptId +cH94wz9GFDpkXlZznHw0cuoQNFgmg2Djl3DjdFoAvlkdVf4m2I8NET0= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Ginny-CA.req b/rpkid/biz-certs/Ginny-CA.req new file mode 100644 index 00000000..11b558f3 --- /dev/null +++ b/rpkid/biz-certs/Ginny-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBHaW5ueSBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO56J1YVT77Zi4ppPwun +7LrsyLLUWA7VQ3HIJ68/zzQSgnq2oNVEBzMuHe4MkqFnmm33b7+bo8+qlSpC0lBq +GOTnlJFBCKyeoLt2GQKcXuldA9H+o8XOKa2CQteJ6W3waG9lKup3EN0OecvEbNbn +OuDFbr4qEtGX2OArzUTUQivyHZjEj4tVsLLhjNzAtYeaBeVjRwhlOIOlHWlMzfTB +DkAZ2NATYhEeTszm4bsqoOZV0xf6kbl+aZr+Kv2NJ4pcZRXYE9aayHmxCGcNOtn+ +rLTSrjy7M8EIqI6ebVF3rKA0CiENxlh4kZnedqoR4I+mjDFODansihxccQ4uYGjn +jdECAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQCrxvWZm8ayOBmWic8G2Q2mTxRy +n9oMtV3Iuqn+bGR1Xjd4HG1QfRlHNP7ekKh2z6jLiZ7KChwpnCeK1CnS48aw7GuJ +s4KTzECrHWGBbV/eVJubnU1eDg+6tP/ZdVKVqv1frNKQIREaFMp8ndOUJ5FlXJ9+ +mNNQZzlcZxqRkxW0XaHoiMWETNMQYo7U9v++WZix9SuxpxKimG1OERAacwVYMHYJ +NIBwLADzrOMxndjt2WVioyKmeicSM6POp9JjoG9RNgmZ7ALKP72zXObCS0Q94m0w +Ky93o7iF/BWbM/M3pTMngGXLu4IFNmsp7X2bxGAeX5UsJuVxR4mlVhi3A8nH +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Ginny-CA.srl b/rpkid/biz-certs/Ginny-CA.srl new file mode 100644 index 00000000..75f9d5e0 --- /dev/null +++ b/rpkid/biz-certs/Ginny-CA.srl @@ -0,0 +1 @@ +BF28F27B89252DAB diff --git a/rpkid/biz-certs/Ginny-EE.cer b/rpkid/biz-certs/Ginny-EE.cer new file mode 100644 index 00000000..5e4bd8b9 --- /dev/null +++ b/rpkid/biz-certs/Ginny-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIJAL8o8nuJJS2rMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgR2lubnkgQ0EwHhcNMDgwMTE4MTcyMzQ4WhcN +MDgwMjE3MTcyMzQ4WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEdpbm55 +IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo373ejcZ6WwnTj37 +FRnRx1+MJzfCQmslMRveBP2WjbiGP9Oq4O5+snORuDG6uIL60lsEOW48o8ONGtgO +k0URC/iWlI6+dP1NOcfq25Vn3FSD/HiRj2SoaBmZa13wGxzDtOiXwH6R6kYrQOqs +HWqLHGok5OnphEzVVzH4urnXB5ZWDV7n2yOQ2TPiBsJuYgNLCQn3sAVSepm8Occ5 +jkCQF7zjdPlnnxt/cKbow+JrCIX+B1B16Qmuk6PF3z2zdoTDyyUrn4ETLohzCnHg +5pv8EOU9NhzUZHUIloZI6NhE25a865fAoxMh+zmkqv2SG+/mU65Ry4nuoVRqyFbi +pOSanQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSAT1qp1gd5Bg2yTEdL +pA6OcdMKhTAfBgNVHSMEGDAWgBQIvfQeX3smfLwOdBqj2QFZ7xU9jTANBgkqhkiG +9w0BAQUFAAOCAQEAuRLJwIPSino5fmZhTVF35QFzj0is3Pd11+gk52v2pLwW48Sd +vW7llaygLFGrY1KgJLYis8qdLqjbfdYeLUVDQ9JSiWxmDVFBNNtagDPNJY3KIanR +v3zo3k6WRYaECMNxN7jl+tGI8GoB91zcQhcA2k8VvZPo17opN5hGP0OyYVrFFAj1 +fNT96DLGctuU2LpKP38DfEnRLpZSm3N/GOE4mnwReaVQ622PCcGHwbPJV2dN78rv +51Mqt+pM0hhmL3lDoHznTKQ5AL6m6Bn4sFypa33oikTmcywJepLOWY61PwCC2sbk +SxXEjsJJxi2pnxfnAbNH6XBvGir//nwIoRlGJA== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Ginny-EE.cnf b/rpkid/biz-certs/Ginny-EE.cnf new file mode 100644 index 00000000..949907cb --- /dev/null +++ b/rpkid/biz-certs/Ginny-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Ginny EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Ginny-EE.key b/rpkid/biz-certs/Ginny-EE.key new file mode 100644 index 00000000..1984ff44 --- /dev/null +++ b/rpkid/biz-certs/Ginny-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAo373ejcZ6WwnTj37FRnRx1+MJzfCQmslMRveBP2WjbiGP9Oq +4O5+snORuDG6uIL60lsEOW48o8ONGtgOk0URC/iWlI6+dP1NOcfq25Vn3FSD/HiR +j2SoaBmZa13wGxzDtOiXwH6R6kYrQOqsHWqLHGok5OnphEzVVzH4urnXB5ZWDV7n +2yOQ2TPiBsJuYgNLCQn3sAVSepm8Occ5jkCQF7zjdPlnnxt/cKbow+JrCIX+B1B1 +6Qmuk6PF3z2zdoTDyyUrn4ETLohzCnHg5pv8EOU9NhzUZHUIloZI6NhE25a865fA +oxMh+zmkqv2SG+/mU65Ry4nuoVRqyFbipOSanQIDAQABAoIBAQCdkYr+vUX6waIr +9O4byvNzO3F+hm1wx4RjjODvXFqRoSm5L8z61L9ESr9AjqTOmGUVAGTU2JoWlitS +mLGLWz/vkpfE+sExTMH1kueU0qvzG3zMgIKAeNkY4rsKT9FMv+8ZViSSfykvaIrd +GI3iF8GUE/QUrh7Aw6/ERkPZ6asEAmOWJyQMxxLzdkcZfYSgKORmqAieD9r5jY4e +UD3++GcmdhbVK59A6xkL3LUg9L4zGDJ0BuHLIv6wBtV9qA0IGGUgkZqZX9j1Ddc9 +PbItrwqC3OLpNgQELsG5k/vI20TPzC/i1B63axc4gVfDSoQplqAnQN8Oug9gbo4Q +bYOcpLO9AoGBANXyG81JO0ZrAiIVd+Z6EkL2Y3TIeP2WABBm3Fa5t6MdSY4K1mJA +SI2zEprgLNVC6+nnV2d5x9jIkHr2wZ3uj5GbHfFB/b2FEcg2OWdIjvN8mcNOXeuH +e/AMfuTN1zUNytklgsDPblXYnhxRZgDxfJivu6WYVHcH1CEp26kcL2x3AoGBAMOi +MSr4IYe7X4knOUOZkGDTfy26PHwW1CB3LGIpoPjyoYzjh8avvk9YAj7coQbkNq1l +tbGroi3IXJhyWIb4OEMpi1fgUWkri6+HwSMOnywqivtLBgRShd+tKJfEcwJDGSPD +uy8IChUnbrt0D9uxxfOoQ7GMOSrSukQBa4jvLHqLAoGAXW4ZjhDI/fuFNvVBIzlz ++CI5VKqni7aR2JfS6Vy5QVZs5Mb+0HFaPedR3KjBa3CKLd+FX/7is10DG2/fJeUk +dWXUMaOr97PBDDoB34TkSJjFXXE/urez/CS41Zq+vMCFMUccTq9Hc93hTmSNsyPC +UbuMqshXOpQEo2bwMm3ImAkCgYBfO7JRp46zA1yjaIuww62L5QkRGordIUPMNhdO +BdPNvFc2PYDYEK9E8qPNNBvTPf778/o57kI5pUKmF2vO8EB7OVsSwSkAWGlcXmp/ +hVuo5WDYqZHZQs7WrvWGw+P0ovM2/M4/O9ukpph5+irKGMUzMqMZaBhgJ0rzVfmi +JEPztwKBgFewP2zyOF53Y5PhAAsl2SzX+28dJ3trnhAIaZVi9aUaL6qgn1izpKGA +OBhQZFNL7RE3A8VOF6264gTjkeb/4heYFV4KhDzVkDeTat0XX/AMahNWeyoV7oLh +8mVEQbvLbSogvIXUF3fufU0rV66Ts7KiIlZW2VyVaNMTp1Ljpdlk +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Ginny-EE.req b/rpkid/biz-certs/Ginny-EE.req new file mode 100644 index 00000000..30a62a71 --- /dev/null +++ b/rpkid/biz-certs/Ginny-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBHaW5ueSBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKN+93o3GelsJ049+xUZ +0cdfjCc3wkJrJTEb3gT9lo24hj/TquDufrJzkbgxuriC+tJbBDluPKPDjRrYDpNF +EQv4lpSOvnT9TTnH6tuVZ9xUg/x4kY9kqGgZmWtd8Bscw7Tol8B+kepGK0DqrB1q +ixxqJOTp6YRM1Vcx+Lq51weWVg1e59sjkNkz4gbCbmIDSwkJ97AFUnqZvDnHOY5A +kBe843T5Z58bf3Cm6MPiawiF/gdQdekJrpOjxd89s3aEw8slK5+BEy6Icwpx4Oab +/BDlPTYc1GR1CJaGSOjYRNuWvOuXwKMTIfs5pKr9khvv5lOuUcuJ7qFUashW4qTk +mp0CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQBPOqtrZca7xe5jFy5kHg9SAV3E +2485qGK7GvtkcAfJifLXYiasb4FRkyNC/JS9x6ExLSIRKUFCD0XINyrePRqGe1Pr +P7RThK9sI7UrRNE8NKvEhdw4gC1qIT0ox6tTUFbvfB87oRWIG6uEcW1NgaJ0SVlJ +D0zJtjzgx+Uj368BS8SZuXaurXtcMGhVn+b3GzNFSiH2/CdZnisesthLmx3ZF6KE +2ZRDjkpprOVq9+yr/8ZARsavPH4OIu1VbskaihjgdmBzl9dGna5VpLLU62gYi7ll +AadWHJUfKvldEgCoWnde2lMjBnXo8FlevW5TAUYvtrGVL41gttEIwZ+Lx7JF +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Ginny-Root.cer b/rpkid/biz-certs/Ginny-Root.cer new file mode 100644 index 00000000..a5d5e386 --- /dev/null +++ b/rpkid/biz-certs/Ginny-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIJANKwi2P2kmUnMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgR2lubnkgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAzMTgxNzIzNDhaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgR2lu +bnkgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO1GzDMYa/xv +byra6dpjKYtfajaNEdUZWkJhlu4HcqiuDflutby82+C3FPwHKmfoXOHgvcmac7kO +49D+DDoWE4p72dAhCKuWb3h6rh1r9Xpl7HaHxoH4KsYT74dOKMu/DhMR7pZl9Tkr +BNYTAEE/qTMFGUQ1JCuwZ+aGRUgzDIiVJ3DBuK0nXHBbOs7Gd/jas/1+lNSsh3lg +RaebLNe0mwsw62TW7zqUjMq/7+Xb9ZWJLPN26nTfq2pyLgFVx+xpMowhaqdEOXKj +VEaCT35cZGydvWIvad4xL/vuY6L0dNMAhTOOE2DzLw6amae4wkvNTwL5krJrtoJD +HpLoFYKZ9vUCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUYxpyANO+ +c8ZrBDm7+9eAv10dxrowHwYDVR0jBBgwFoAUYxpyANO+c8ZrBDm7+9eAv10dxrow +DQYJKoZIhvcNAQEFBQADggEBACaKmmggk78ITTw+a6HaQatuQmfh9YYvo+8DEERV +7fD8+/1eo9Z4crqam2wtZJYtUDBUJYaglc8+9r3lqs8wAwVH8IFEXexXxaGSbojJ +TTV9fp81jCp7wSJRKXC8q2JI8IQu0vBYqhrMG6xlyi13IHHpF+uZXX0IdVhvdk0O +DySbF+W5p9yAEFDfyP7u0d8YlKGSVIrWgEKy24QrropbGlV4Gm2azwXTOeWIqw2Q ++btIXvPKjwwx2tZTr3zSinZ/gaxfNe8By23kmdgqTF980sBQEB5UcJ7hqt/c7gdZ +qUBjEOvTslO0cSV1mGolqEsH8ZCbqlxlC5h+Ghe0ibM+ydQ= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Ginny-Root.cnf b/rpkid/biz-certs/Ginny-Root.cnf new file mode 100644 index 00000000..63b600d6 --- /dev/null +++ b/rpkid/biz-certs/Ginny-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Ginny Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Ginny-Root.key b/rpkid/biz-certs/Ginny-Root.key new file mode 100644 index 00000000..710f4817 --- /dev/null +++ b/rpkid/biz-certs/Ginny-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA7UbMMxhr/G9vKtrp2mMpi19qNo0R1RlaQmGW7gdyqK4N+W61 +vLzb4LcU/AcqZ+hc4eC9yZpzuQ7j0P4MOhYTinvZ0CEIq5ZveHquHWv1emXsdofG +gfgqxhPvh04oy78OExHulmX1OSsE1hMAQT+pMwUZRDUkK7Bn5oZFSDMMiJUncMG4 +rSdccFs6zsZ3+Nqz/X6U1KyHeWBFp5ss17SbCzDrZNbvOpSMyr/v5dv1lYks83bq +dN+ranIuAVXH7GkyjCFqp0Q5cqNURoJPflxkbJ29Yi9p3jEv++5jovR00wCFM44T +YPMvDpqZp7jCS81PAvmSsmu2gkMekugVgpn29QIDAQABAoIBAQDqzrAPNHDQvBoA +B+l6Y71eHktGtq3Z+5/VpyusXJR8FtrfZ07T+vWA2M0cZ57wewNHyJcoJf+1N+X9 +ERtadDRcTBoNnFMvMs0XJhieJxMjUDAEUHMCdWsm392fQZqfnm84MfuwvC9Dpq2/ +h8gtyekQA1CwrgIgdg8sEt4HB/W0RjaOa4uFamu9es4veMRx79Y/Fj1DTuROmFlx +ZdkPfTIJBs8qrTAKG1xYfky6tSDYwl27CL/pLwwHmXAB4kUwZ1V8KWGtZCuoFdwz +6RIpK6go7MVHA6/MzMDIhbHPRf4fDKlj24omVrddwUNXub3QQ3bTumbloqZJnKWQ +ZXoIp4kVAoGBAPmLbw5sz/25Y+Z1I3UWjyWCvlcfAXKkpIj4Nf9rJGo7HbLRbkEN +706fo5Aa/k/C54plrpdkqt/XV4CvGAASpYnneoDIHiF12UYurH4OuprFmBNHKU1t +l63eo8iOrou46TQLIPg4IuUsgWG0XSzvPR+juvecNodknZsXrOFU+HyTAoGBAPNq +HtNo3jxSk7u+ZxygERjIvTdQGsBGUDijYe5UYp4OdVNbKbPtqEjOjoU3aYpnz0Ju +rx4QSQw8d75JDAt4+alpMuRl0Hovwh+062nPu50Ft6NXPlc0b+niDo4AhI5apUJO +ZjDBYkiMEr+kVEVexMYtN0sCJkeLXnVJba4Fn3tXAoGBAOtaeEmQkrHn0bKfM+vQ +dP2Zy877LTBk29Fa2AKnmFagnqfyIhw0+kibA3Z8HvI3Do1WzU134jjvLlXtzaLz +8zCXItCm7NP+BAfPKVxSo+gpB/7WlLuz6uRPIQWcnD6nDTrKbDPvLeobCYOOynoA +wRNAJqw1prAXUxXdRG3Y5+sFAoGATrL/1nBwceZs92V/JwUlofK9IpYWoBXbuAQz +FIBaBio8ir/NwuvS3f9SmwWobORVYXAx1DGFvJwMRwyNBWSOq9RkbO3yMp8gT2oK +NwK/8Ou5TOlXMZC1olPBSu4l7XSnO8HnTlon8bbAFRAHYwpZ6o0R9IF0aOtJlfgw +qvQMdS8CgYEA3dkRKJ8ma/GlheI6ylyt727cVCKnMXLV0GQwx4xVGzffIGcnUj4A +8cbTBgBo/3aoZOJhqy6Hz85DKQon1FztE2hNR8Uhgjf8an3nbNzFaT3XkqbC1uUa +bZZC1UNB/NA7wH6xJIRUFCYxLjw+L1u6vi6/vOtM0oEAmO1f1+7p3Nc= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Ginny-Root.req b/rpkid/biz-certs/Ginny-Root.req new file mode 100644 index 00000000..60d14eca --- /dev/null +++ b/rpkid/biz-certs/Ginny-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBHaW5ueSBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7UbMMxhr/G9vKtrp +2mMpi19qNo0R1RlaQmGW7gdyqK4N+W61vLzb4LcU/AcqZ+hc4eC9yZpzuQ7j0P4M +OhYTinvZ0CEIq5ZveHquHWv1emXsdofGgfgqxhPvh04oy78OExHulmX1OSsE1hMA +QT+pMwUZRDUkK7Bn5oZFSDMMiJUncMG4rSdccFs6zsZ3+Nqz/X6U1KyHeWBFp5ss +17SbCzDrZNbvOpSMyr/v5dv1lYks83bqdN+ranIuAVXH7GkyjCFqp0Q5cqNURoJP +flxkbJ29Yi9p3jEv++5jovR00wCFM44TYPMvDpqZp7jCS81PAvmSsmu2gkMekugV +gpn29QIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAFLF9itaImaKZ8a5sRM0jJ9A +V3kiR7qjepCHK6qDkEZUSY4oHYJr0h7RGU2zKe9YegZEBtfDdw16eMoJa4BPSx6O +9UWmR1fLqzZmop7od4rywXFEFLv3xQdhSZsd8+zjwX8baPNlobGnuuLEUKEwjfXI +FiUmlUr9pj7rA4mJjvZ9barYxNh3mlbA5eSijJ4MVjnUMJNNwouau/ZQM2VIzRuv +xpyRkohyLW4Z3hXDcc9tf6AsYDrhC9SzuciXjG5K1ZA5zJLXFyFQJZ4Tc1RXSlPU +Dsp3qvfjklc6aYvc2lwvTGWEyUWhoSj5d/MhRZWhSgmCc+aAbLwyxjSB7D4VqAA= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Ginny-Root.srl b/rpkid/biz-certs/Ginny-Root.srl new file mode 100644 index 00000000..a51501dd --- /dev/null +++ b/rpkid/biz-certs/Ginny-Root.srl @@ -0,0 +1 @@ +B4CA97C7714C3743 diff --git a/rpkid/biz-certs/Harry-CA.cer b/rpkid/biz-certs/Harry-CA.cer new file mode 100644 index 00000000..09af3f12 --- /dev/null +++ b/rpkid/biz-certs/Harry-CA.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHTCCAgWgAwIBAgIJAPg07MgChQ7oMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgSGFycnkgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAyMTcxNzIzNDhaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgSGFy +cnkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC94Wvpn36QVBts +pOtt6gva7Zd4CP+b8cEsM4LGW7AEt+jSSic0xDI/WrQI5Rjtam0j6G5039bmtV6A +Xyio9jK7QHnzgMmg82b4TDa4ary0XR5IZNPWK4pSOqzJ7aZlLxm52Nm+NfSd/5/e +75Gi3dPiT+icQH1oR/oRQeOnE/rBXBmviRN5JlIe8e1E0fTB+vXOpd7o5g9sPdT+ +jYKcig7Y0xvjGhGK5s1EhjJXiVB0vpoOjmv5LIjYypsQjkgqNxM+nKzCs44W5m8S +Z3M3/ILcn64UW36uBSCLInqHKEI8rJx3Se60/xBJnbNpD62nWhz2vz+egwQIXKOG +tTVlGPelAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFNGU/Ua48bNX +Sn5MzBo+LIsg4Cu7MB8GA1UdIwQYMBaAFG2UphsbenSKgdNpEONxXczUln1cMA0G +CSqGSIb3DQEBBQUAA4IBAQCfhXZtDqtzWyPsGBcYHgo2mk6Y5KD5lZ83asQhJG18 +DDwllBZZJMIjfMOKwSluFGIaPM4uC4BrfV97eTxxwlfkeYA7xhDhGY+poh4U+J17 +slnuiyahe/0dvhMAmAmqwBfn2099y4/xqWjdudwmnN0/XKpbfA2GuvV27lso1ISx +LurdfgcgedLUCeeSojuCmi5WF1pR1Qzqf9Da0fzcC50bRH0/iOHEJG7whXl7rxdg +ueCsrQ7b8EAVHJifx0yZwhNxdnC/yvalFRO+BWyaPprDOhiwpHYh9phMeqtTgGrG +aX2rFu3IDnQ5PPOY1a2pyUmQZBqbmiJe2OPdtD/Ui9js +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Harry-CA.cnf b/rpkid/biz-certs/Harry-CA.cnf new file mode 100644 index 00000000..b6002949 --- /dev/null +++ b/rpkid/biz-certs/Harry-CA.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Harry CA + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Harry-CA.key b/rpkid/biz-certs/Harry-CA.key new file mode 100644 index 00000000..6bd1d298 --- /dev/null +++ b/rpkid/biz-certs/Harry-CA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAveFr6Z9+kFQbbKTrbeoL2u2XeAj/m/HBLDOCxluwBLfo0kon +NMQyP1q0COUY7WptI+hudN/W5rVegF8oqPYyu0B584DJoPNm+Ew2uGq8tF0eSGTT +1iuKUjqsye2mZS8ZudjZvjX0nf+f3u+Rot3T4k/onEB9aEf6EUHjpxP6wVwZr4kT +eSZSHvHtRNH0wfr1zqXe6OYPbD3U/o2CnIoO2NMb4xoRiubNRIYyV4lQdL6aDo5r ++SyI2MqbEI5IKjcTPpyswrOOFuZvEmdzN/yC3J+uFFt+rgUgiyJ6hyhCPKycd0nu +tP8QSZ2zaQ+tp1oc9r8/noMECFyjhrU1ZRj3pQIDAQABAoIBADFGQUnEIQT1PpSo +C4xfcyoiA++bbjGawAVnbKVq/7eJvjpsEdaIn31/XT79rMVXm/D4jUl5GPyPznFD +wHpwQWQEbGE7Z5eD8pG2vXCICmZHz+b7e1mVvPRv040nRcn2OhfXZVIOEGe8AVHK +G6IHLMgK8pMxzRl1rDg0QA6IiccJW5Shu1Q1IMcmOce2uQP+Ez/HAMW4plHz09f0 +FVXFD6dIjMkH/j6NfDCtxa2dqESlaMu1UquE+kze14xtFjDO//znd1F07hI94gvC +nEmcxRGvlMwAH1i/RC/gvJYLFQ79JCzLkckWygK549ikYwuIhbr9avYysByI6HJD ++rnoMFUCgYEA8kmTegmR5/pfTyT0GkcV8ZOCPI07tczkSY0GaVYWtSQtlm0ANz0A +YX5YaGTey0B3BPALH7rGWKey5NUEOTEbQetEV63tKNg1rbxIqST+ZFxtd9MbDWki +nQX5hDVJUtmxs+8CFhIXo7seULzsgo3WYO3R5ClzOgKGPxGGXxyhQtcCgYEAyKCK +G/FqtDpLKfbbDsb0Qt4BOw5ZSoP/N4seSG/x2KeAqAsj7xGWmc13A7bL+BD0uefy +ARLEVIBAkstuzc/U3Nee5U0wQK3x8Z2Ui5o5fdJ6o01qW9nlhnfifm3QQdvhOeCw +Rcm/BXQU7LZHgpYztfYA+LfD38U/EZNL/n2HheMCgYEA3yBHAoJBrkLy9u3vJywD +11+i9qSSMpCoQ9vt5Z/0dYkFupxTMIurCB3UyP7r9n49nXx6ohPdidOWegp6Qzko +AwLpA14XJCBI/uCAgdShukcsQMdXCHij+buA1/JCvlvgvPYFE9JBlvVBq9TwciKx +JL6fJuHNTcT5YKeA+aJiGC0CgYEAmuwVGdTHT9q/1ezQZU3Oqp/iFWdUHg1lk89y +l/8Rovpdh+XqXp6XS7b0U0LhqHH3eGMaZifGwXWz52b97iGxvsMl6O08+IUZkjjb +zx1NjdJtbxLFsZ3F9ps2o+hKa8DN37KYi5tpTV3BFrT+7WDtF3Kad3T35SDcPccf +ZKosb38CgYAIGVyn4Bpll0kYoK71VdLKju5Rm6vW7GUSIwWELqkmorM5S7WYJcRt +ixuN/bolhT8HNhwHBz2l98euAnG2GYM7QI6i2yYMxDSMR+8dxACK15bNk9QB0rWS +Ro5DCKG/xdMWpUnzoOSYIItg05Kn8rWXZqnxyH/r5vdnBCQCcq9alg== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Harry-CA.req b/rpkid/biz-certs/Harry-CA.req new file mode 100644 index 00000000..01dfc3bc --- /dev/null +++ b/rpkid/biz-certs/Harry-CA.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBIYXJyeSBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3ha+mffpBUG2yk623q +C9rtl3gI/5vxwSwzgsZbsAS36NJKJzTEMj9atAjlGO1qbSPobnTf1ua1XoBfKKj2 +MrtAefOAyaDzZvhMNrhqvLRdHkhk09YrilI6rMntpmUvGbnY2b419J3/n97vkaLd +0+JP6JxAfWhH+hFB46cT+sFcGa+JE3kmUh7x7UTR9MH69c6l3ujmD2w91P6NgpyK +DtjTG+MaEYrmzUSGMleJUHS+mg6Oa/ksiNjKmxCOSCo3Ez6crMKzjhbmbxJnczf8 +gtyfrhRbfq4FIIsieocoQjysnHdJ7rT/EEmds2kPradaHPa/P56DBAhco4a1NWUY +96UCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQBdLyMhmwe7p3xrIfrVnm+CFk0k +YW6jhV3jzlThgNOK3nStQyvs4zcVX3S7XmGYHFNoLu7LhyW8xXCuQpaf9JjF62TA +87qbsjl7asMSGtndOP1B8jJYnBTX+qsQfVZT9Ypmr8pnfrYTBylEPoAzPdqje3gu +gN2+/BCV/FW00jSeIhmkQ1YLiwRkY/uv2FsENcUuRO715phNNcHMgiQqnjGN/Iju +do1DMHPsKDO/dIgl6y7TkkRlLATSO2qalOpsF8RDW1J3iCfcPvMQqXkgDVzNMXo3 +GWLe9C1R5xAfZVcDwuuZUhd+ZYGKNA56CqsD1e7n3aU5ieL8bXxa8g93GWfS +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Harry-CA.srl b/rpkid/biz-certs/Harry-CA.srl new file mode 100644 index 00000000..88fc9e2c --- /dev/null +++ b/rpkid/biz-certs/Harry-CA.srl @@ -0,0 +1 @@ +F26FDD5DC0623AAC diff --git a/rpkid/biz-certs/Harry-EE.cer b/rpkid/biz-certs/Harry-EE.cer new file mode 100644 index 00000000..85b5ff32 --- /dev/null +++ b/rpkid/biz-certs/Harry-EE.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIJAPJv3V3AYjqsMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV +BAMTGVRlc3QgQ2VydGlmaWNhdGUgSGFycnkgQ0EwHhcNMDgwMTE4MTcyMzQ4WhcN +MDgwMjE3MTcyMzQ4WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEhhcnJ5 +IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA240oiLNTwXq/uTlP +vdSr4BnBQRWiFLIRUPhGKiCxmc+dnc2G5JLj4Of6wTcdyUOsAWSdl/yA59XvSp5z +lXQrAc0wtubHHlwLrWbiqX8MXi6ch3XJsZk99fOW+k6snNnQmscOGVFBuaZFntMd +XplRTtEO6ao/CXEb6Nl7c+30AFhkR0/qqPMcPgvvZZjfb7ZAqtMNr5Zz5GUbCuLg +bPsL5LhinwyEVDwdTXR4OV77aEyMNpyRdLoiKB+NrNznuKmlQIG44jCrZrIqzB5p +LKTDn/fHyZH2coTDSaZXYTW1FYJH/DL3byBgGuz1gFykB5/GSiIdnWYg0eF1mXV8 +Wjd5uQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ0eEAX0TOVTDsAUZCo +Ihn8IfbKlTAfBgNVHSMEGDAWgBTRlP1GuPGzV0p+TMwaPiyLIOAruzANBgkqhkiG +9w0BAQUFAAOCAQEAkjlwdqRAGHiYrnZVsGv03EmZEX9/GLA2kvMYee2Z9YP/J3zy +c+eHHGYP97iGnxQkC4eo+a/1RkNWY+2RECTtYoddjE/ZTPBMyNYIifKV+mGn2sgA +IKbSC+XUDeTboNqq6cCqZagOM8m1XrMCsCizqEAm/eaBoL9EKnqyAjwHGBLi+w+G +rhAxoD/rmEevsrd5yydKRXDLKIb52mSPNAsabO5TsD2Fm9XaPThGpzWkfpDUrXiU +OE93j4QP9fo6YoPmd7kBnviKCJVegQ8GuXZrk+MeWqPq4frS4EBGjEUPuQMXCTng +AtsgMidTY6uzjmeak4PANtc2vqkPrWw3ak5SjA== +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Harry-EE.cnf b/rpkid/biz-certs/Harry-EE.cnf new file mode 100644 index 00000000..cbfe45c4 --- /dev/null +++ b/rpkid/biz-certs/Harry-EE.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Harry EE + +[ req_x509_ext ] +basicConstraints = CA:false +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Harry-EE.key b/rpkid/biz-certs/Harry-EE.key new file mode 100644 index 00000000..e33936f8 --- /dev/null +++ b/rpkid/biz-certs/Harry-EE.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA240oiLNTwXq/uTlPvdSr4BnBQRWiFLIRUPhGKiCxmc+dnc2G +5JLj4Of6wTcdyUOsAWSdl/yA59XvSp5zlXQrAc0wtubHHlwLrWbiqX8MXi6ch3XJ +sZk99fOW+k6snNnQmscOGVFBuaZFntMdXplRTtEO6ao/CXEb6Nl7c+30AFhkR0/q +qPMcPgvvZZjfb7ZAqtMNr5Zz5GUbCuLgbPsL5LhinwyEVDwdTXR4OV77aEyMNpyR +dLoiKB+NrNznuKmlQIG44jCrZrIqzB5pLKTDn/fHyZH2coTDSaZXYTW1FYJH/DL3 +byBgGuz1gFykB5/GSiIdnWYg0eF1mXV8Wjd5uQIDAQABAoIBAFCDydOoABU6UMk6 +jVXOgmGi0E5wAoqYauVIx2J3run7S5AtaUS14b//EuR8s/21RYUVQv4T6aobuK+i +wDyU55i3iR/qLieiFd43lvQV1ZFMgrbiqV7qFeD2ve15oK+86VV5nmAGfpX4thty +zJh+nWTMIi3q80chJd0UtMNlBlCBbA6LMZuRUMfVGbFbN2Y5C3zbfD2Endd7hAC6 +qv9WIi3WI91NfNHS3kG1PxxkGFPsfbIxKYO0Zl2ItqEM28FVXLgF1q9fjOH1egcC +n9rJZHkxoGRbPvHDzrAtS5njOmbsCa+HwJBjnMAYFYgyVZtzZwP0Ydoryph4HvY/ +4zLPlyECgYEA8CZnNQYqJT4g3I/18k6hFkN8a0/iUii3Uq0c9A8toGw7Pt9PkXwC +wMhJwrhAjB4uiRK82R5wunf26BkWL+233qZ3MtLT3p92C+i/zZJjzYKdWSnwqgRm +fmF7x5Ga3Gx+D1vcSlvszIxMG8H/kfFbQLjmmPau7tZfooEQsjmiZIUCgYEA6gq4 +GBdIOeaRmvplX5jYIpuVrg7/h8ukSXX3ZGNqFp7aN2AHqE/uCFhklLkBaYQjZ/B7 +R2DliPxTziQW2hFGilzqmqA+JFbmRONHBBnNwwYBAYJMqyeN3x7feHM5vlPyxHb+ +wce49vCB5qvwEINJVM+trw9W1TnKOAEfIlYQ8KUCgYEAmtroqlRzUNijMBbUrY7u +aQDTdg9pDTmcHP/sL6Sp80xXV89/63xf+hgtGBbf6Hp9333psMfkQRmiaT/kArvz +WOtW6brxTBjfcgZ/x/uhx591/00AF2IHBW+u9Z16krCTCSxe/MQSCkRdv3h1aJKO +GUohyHkpjHFH8e3v6j0n7lECgYEAvRTJ5FSy+mxHyHBxhAlE3Ljb9ZKSaVBhuyO+ +KfGTXREbdU91AEsLINzg7bKF7Ixf2nJT9rfW2ZQZ1NodSDJaziABPckmS0+Vm6QO +1MZQETaBi4mMjV5YZSFZI8Pbq+PAp28HpODJk199YzIXsg+PKCDczijTW1LkB9kI +IUJtTy0CgYBZu0LXjr+GiVtoycBsYq52UYAanpTi2h6UI0UujHrPXVuQ7YnGUPuc +/rih/mTRGy7pMmQwtZGgVIXixi8afvc3vguNf/5t4CKYs+b0JfJzFy9yyQk1hnT6 +1LuIlO28QkQrjEN+7XWbwIV6eUlXdwzaGTvq8oMViBEt9p2UGs0Lig== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Harry-EE.req b/rpkid/biz-certs/Harry-EE.req new file mode 100644 index 00000000..2d122147 --- /dev/null +++ b/rpkid/biz-certs/Harry-EE.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBIYXJyeSBF +RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANuNKIizU8F6v7k5T73U +q+AZwUEVohSyEVD4RiogsZnPnZ3NhuSS4+Dn+sE3HclDrAFknZf8gOfV70qec5V0 +KwHNMLbmxx5cC61m4ql/DF4unId1ybGZPfXzlvpOrJzZ0JrHDhlRQbmmRZ7THV6Z +UU7RDumqPwlxG+jZe3Pt9ABYZEdP6qjzHD4L72WY32+2QKrTDa+Wc+RlGwri4Gz7 +C+S4Yp8MhFQ8HU10eDle+2hMjDackXS6Iigfjazc57ippUCBuOIwq2ayKsweaSyk +w5/3x8mR9nKEw0mmV2E1tRWCR/wy928gYBrs9YBcpAefxkoiHZ1mINHhdZl1fFo3 +ebkCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQA9cvHRmvyZbP6YKBgSiir/bo6k ++GEt9Pc8ksqkhC9sNKgMAPripw65I7BVjmZXovig/AsumidJnqvcpdjeimWjFm2N +ASPkrBnjN9Aiw4tzLdTzGE0Una6psCNkCLOOdDl6RaCf3f04YcaOpMvqrkO1/bLE +Faql3kDFDBo5F5EUz7RIjdxqsN0AjkV0fJowDF6vmY0BNROmNWooqwkXSZuaD1nN +5LUnFIlkVwpeyjbY3G5lG0rmppJCgda5mGfxAs5GDK5aJG6zOp5PQKAXN/wpK6eT +A4hjT54C+wRkbY+d6tS18V8vOsllUVLKBwoisjogSl0ae9cQHKx7YO+X0Viu +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Harry-Root.cer b/rpkid/biz-certs/Harry-Root.cer new file mode 100644 index 00000000..545028e5 --- /dev/null +++ b/rpkid/biz-certs/Harry-Root.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIJAP89M3bsKubWMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV +BAMTG1Rlc3QgQ2VydGlmaWNhdGUgSGFycnkgUm9vdDAeFw0wODAxMTgxNzIzNDha +Fw0wODAzMTgxNzIzNDhaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgSGFy +cnkgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMap178VPa/q +0U9YN//4nCiwkwC4Rng3bJdcRwgFVpAda94rpSbheCkGGi9wl02wAHKLh1sJmsh7 +2xHtnCBi1E8TuZswEj0fAjy61RgKsJuTkx/FS8SpnmDjGrmdhXiixA3Wk0FUcH3R +3jo1p8c2nATbNszSlf5/n7rbMC7Rsv4BD+derFegMgDvuYRhdcB6RsX6ZRHB8cMJ +wGE0dEuetCBgIbyTvlA3AKa6P2LU/NQkOlRaSdarjisehsfVN/pHTkLIPfXIzYJU +1KPMeLz1q6UarRXBtzUaEkzk+MJ9igW1gcVwpM7HkXRfXfXgJcexIQiSmrTF0yaS +wXGgKUPYq2kCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUbZSmGxt6 +dIqB02kQ43FdzNSWfVwwHwYDVR0jBBgwFoAUbZSmGxt6dIqB02kQ43FdzNSWfVww +DQYJKoZIhvcNAQEFBQADggEBAAuUw/LXcFT97SMjHG82mS2oPdkh+BJfpblMn0V1 +5ewZIL6CXQS5n/IxM0vBLgbOpXQ+2nEHFxSQz2lQwSh6SFza5y7JbFkk0MQwF/d1 +fW9pyVUB6O7KeABdA2IrJkcvI4P6JZsA063/zKWzEhCaHIE1XcbaC5MNNDsnRtQx +D1Ao4DB+prVpKz+F4Vi1x3ZNvH1idvoxiDd/jFOXfdOPxMZxWbt8H7vRg067RlAt +oC3fgJiCmo71Tjk2svMRuqNKKSxhE8X6MXdU/z3pHtyxsxWv5/xXchjFXU/elfbj +IEch8+qeBo3Qc6WElEHhOsDcPx8cRRQdY2bjtr3bCFK7Pkc= +-----END CERTIFICATE----- diff --git a/rpkid/biz-certs/Harry-Root.cnf b/rpkid/biz-certs/Harry-Root.cnf new file mode 100644 index 00000000..d6ef8a30 --- /dev/null +++ b/rpkid/biz-certs/Harry-Root.cnf @@ -0,0 +1,15 @@ + +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha1 + +[ req_dn ] +CN = Test Certificate Harry Root + +[ req_x509_ext ] +basicConstraints = CA:true +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always + diff --git a/rpkid/biz-certs/Harry-Root.key b/rpkid/biz-certs/Harry-Root.key new file mode 100644 index 00000000..a941f9de --- /dev/null +++ b/rpkid/biz-certs/Harry-Root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAxqnXvxU9r+rRT1g3//icKLCTALhGeDdsl1xHCAVWkB1r3iul +JuF4KQYaL3CXTbAAcouHWwmayHvbEe2cIGLUTxO5mzASPR8CPLrVGAqwm5OTH8VL +xKmeYOMauZ2FeKLEDdaTQVRwfdHeOjWnxzacBNs2zNKV/n+futswLtGy/gEP516s +V6AyAO+5hGF1wHpGxfplEcHxwwnAYTR0S560IGAhvJO+UDcApro/YtT81CQ6VFpJ +1quOKx6Gx9U3+kdOQsg99cjNglTUo8x4vPWrpRqtFcG3NRoSTOT4wn2KBbWBxXCk +zseRdF9d9eAlx7EhCJKatMXTJpLBcaApQ9iraQIDAQABAoIBAC2lRI8BAGV1HJaQ +fH1xz9+BgqU9seNZSLgWWbO8FkGSoQAxIwcl8wfqAQY5ZmpRMCkhaf4+3LOH0bPy +1laSnpl0vMatauNkRo1RmDin7CAy7jD0kg4jsuIsDC3txYcMTuOnE7qE/jvKhrb1 +MRGSuJJdE+BH2nLZPAgg6Jc5U1kM2cEcQvsno8cfXbAr9mDgs5v6303j1Oh7/Tfc +IzWHXYWJ95ygHVGMRXhMKMjPf6/yK5o87cGxVoK1LZ6ZuUbg6u7gP1+dapHnEnI4 +dhrMo2ZB2xD8O+AjMmr7CFWD2ZjIOVTox1/6cMlhAb+cMOwFnh11g7cCY24ZLq+6 +Hw93qckCgYEA56dntR5xo6IjXhz3gDCGiMXzZvXn/0EDpMI7BE4CSG8zCNaKlk4n +XDP1tGDows1QHviLiKrhiHCsPqVynJCmOufCD+DaTDqwSynI036X/goeJ8Du9A1+ +b8i9CxAsT/dtD5WlkiqE44rb/f+tpnOCTIJ3tQEiKl5u7m+iBPw8ahMCgYEA24rW +JwGCoHr3Y74Fx8gSIa6VrTSV3Kxf+tiENwJcjB1PjjqaYRGkE8K/FZUlYBWNw8NM +3hiX7yZ5wbHZplElAYrG1I6lF4L7Z+USFzr8s5MTnp1LC9gpT6aTQAF4ci6fLs9L +SfvaNm7FHYL3SoU0Vg15B0lhuOPxa48Eyu4JhBMCgYEAxiNKsgD7JAHPjHTsQQnA +WIYvvVYBfDMooai7/9+VVk0+coXGfe8U/Wk39HObQtuHdyYRevDl/OSafu7WTBHx +DJskQp6JOQBNv8xaiINUD6apykjcWYSdK5GgGDFaJX+1GcpeltmlVlZz+hnRdnh/ +7178cqYoieLBsVFsXCU+q18CgYBJE/ra+wa3Upc8rUkRSki2y31pLULhNMOyJRZF +lVSnEy6jImC3BP8/0Kh4j6/kPuh0jHLuzvLsGTuYPRI86W/PBpnOsTjFDcWPvNF7 +yBfL0p5KQwNzCt4ddE45lQO5xkkYdMoT83Ccg9y7SRf1x0c3ib6KrWOI/t8itXWb +8wZZ3wKBgFckz4Hcht/M0ajjIPSoD0PbasuLx0zErvG3RPrOasgnaoWLy33x7rKf +daF2Gi2ZxrwzaAAfom+SgUrOSbUKAplGTnniXqZSN0B23xQFieIeVH4XcoDmDMAj +wZTll9weagdDyYyzYi36g3g2woRqy6uTtYJxZkcxR5ZQBNQebWUu +-----END RSA PRIVATE KEY----- diff --git a/rpkid/biz-certs/Harry-Root.req b/rpkid/biz-certs/Harry-Root.req new file mode 100644 index 00000000..4dcf75a8 --- /dev/null +++ b/rpkid/biz-certs/Harry-Root.req @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBIYXJyeSBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxqnXvxU9r+rRT1g3 +//icKLCTALhGeDdsl1xHCAVWkB1r3iulJuF4KQYaL3CXTbAAcouHWwmayHvbEe2c +IGLUTxO5mzASPR8CPLrVGAqwm5OTH8VLxKmeYOMauZ2FeKLEDdaTQVRwfdHeOjWn +xzacBNs2zNKV/n+futswLtGy/gEP516sV6AyAO+5hGF1wHpGxfplEcHxwwnAYTR0 +S560IGAhvJO+UDcApro/YtT81CQ6VFpJ1quOKx6Gx9U3+kdOQsg99cjNglTUo8x4 +vPWrpRqtFcG3NRoSTOT4wn2KBbWBxXCkzseRdF9d9eAlx7EhCJKatMXTJpLBcaAp +Q9iraQIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBALvG7y4lFsRzbBup+RyjrxIU +WaEXREGI9U0+s14g6f7DWpnNo/VKZv++iQbg/1oXAsTshwXtRsrKmZ2jFGR38aet +JvQxtn0/3CUXczL0bA0ot7L8iwzPt2bOXFyVQBhVk2YuonL3nm0O4XtooElxNRUL +36P9gbflah4wNqSSxpAF++lccCvtmMkS6Z95fBMo5xnDhlUbJ84jM/b7RbuX4k1Z +nEYfy3gfFH7IeZM9lOq0SP3NgSm98tGQXknPeHLZXmdgxGc9JVxa7FnEhiuokwqJ +kUDWhLwo5GGKHB6lPtigHnC1beP22/hYG8/JaCmQsSoCrK+/RWvgB9xZQPI/d+0= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/biz-certs/Harry-Root.srl b/rpkid/biz-certs/Harry-Root.srl new file mode 100644 index 00000000..5aecd158 --- /dev/null +++ b/rpkid/biz-certs/Harry-Root.srl @@ -0,0 +1 @@ +F834ECC802850EE8 diff --git a/rpkid/biz-certs/a17ff8dd.0 b/rpkid/biz-certs/a17ff8dd.0 new file mode 120000 index 00000000..df756426 --- /dev/null +++ b/rpkid/biz-certs/a17ff8dd.0 @@ -0,0 +1 @@ +Elena-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/b523b0af.0 b/rpkid/biz-certs/b523b0af.0 new file mode 120000 index 00000000..2af1f2c8 --- /dev/null +++ b/rpkid/biz-certs/b523b0af.0 @@ -0,0 +1 @@ +Ginny-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/c027faa7.0 b/rpkid/biz-certs/c027faa7.0 new file mode 120000 index 00000000..34794f44 --- /dev/null +++ b/rpkid/biz-certs/c027faa7.0 @@ -0,0 +1 @@ +Carol-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/cf3dacf7.0 b/rpkid/biz-certs/cf3dacf7.0 new file mode 120000 index 00000000..e2d0a776 --- /dev/null +++ b/rpkid/biz-certs/cf3dacf7.0 @@ -0,0 +1 @@ +Dave-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/d9bfc7a9.0 b/rpkid/biz-certs/d9bfc7a9.0 new file mode 120000 index 00000000..c3647c1c --- /dev/null +++ b/rpkid/biz-certs/d9bfc7a9.0 @@ -0,0 +1 @@ +Frank-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/dfc82c8e.0 b/rpkid/biz-certs/dfc82c8e.0 new file mode 120000 index 00000000..846947ab --- /dev/null +++ b/rpkid/biz-certs/dfc82c8e.0 @@ -0,0 +1 @@ +Ginny-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/f97c9834.0 b/rpkid/biz-certs/f97c9834.0 new file mode 120000 index 00000000..e6a1b1aa --- /dev/null +++ b/rpkid/biz-certs/f97c9834.0 @@ -0,0 +1 @@ +Elena-CA.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/ff615a1f.0 b/rpkid/biz-certs/ff615a1f.0 new file mode 120000 index 00000000..0d7c9e4a --- /dev/null +++ b/rpkid/biz-certs/ff615a1f.0 @@ -0,0 +1 @@ +Dave-EE.cer
\ No newline at end of file diff --git a/rpkid/biz-certs/ff8832dd.0 b/rpkid/biz-certs/ff8832dd.0 new file mode 120000 index 00000000..af1cacc8 --- /dev/null +++ b/rpkid/biz-certs/ff8832dd.0 @@ -0,0 +1 @@ +Dave-Root.cer
\ No newline at end of file diff --git a/rpkid/cronjob.py b/rpkid/cronjob.py new file mode 100644 index 00000000..c21caf05 --- /dev/null +++ b/rpkid/cronjob.py @@ -0,0 +1,47 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +Tool to trigger "cron" runs in rpkid. + +Usage: python cronjob.py [ { -c | --config } configfile ] + [ { -h | --help } ] + +Default configuration file is cronjob.conf, override with --config option. +""" + +import rpki.config, rpki.https, getopt, sys + +cfg_file = "cronjob.conf" + +opts,argv = getopt.getopt(sys.argv[1:], "c:h?", ["config=", "help"]) +for o,a in opts: + if o in ("-h", "--help", "-?"): + print __doc__ + sys.exit(0) + elif o in ("-c", "--config"): + cfg_file = a +if argv: + print __doc__ + raise RuntimeError, "Unexpected arguments %s" % argv + +cfg = rpki.config.parser(cfg_file, "cronjob") + +print rpki.https.client(privateKey = rpki.x509.RSA(Auto_file = cfg.get("https-key")), + certChain = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-cert")), + x509TrustList = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-ta")), + url = cfg.get("https-url"), + msg = "Please run cron now.") diff --git a/rpkid/cronjob.sh b/rpkid/cronjob.sh new file mode 100755 index 00000000..97438a86 --- /dev/null +++ b/rpkid/cronjob.sh @@ -0,0 +1,44 @@ +#!/bin/sh - +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# Generate Doxygen manual for RPKI code. +# +# At the moment this is just for the Python libraries. + +lock=cronjob.lock + +target=/usr/local/www/data/www.hactrn.net/rpki-dox + +cd `/usr/bin/dirname $0` || exit + +case "$1" in + +locked) + exec >cronjob.log 2>&1 + set -x + cd rpki || exit + /usr/local/bin/svn update --quiet + /bin/rm -rf html + PATH=/bin:/usr/bin:/usr/local/bin /usr/local/bin/doxygen </dev/null + /usr/local/bin/rsync --archive --itemize-changes --delete-after html/ $target/ + ;; + +*) + exec /usr/bin/lockf -s -t 0 $lock "$0" locked + ;; + +esac diff --git a/rpkid/irbe-cli.py b/rpkid/irbe-cli.py new file mode 100755 index 00000000..b6ce7479 --- /dev/null +++ b/rpkid/irbe-cli.py @@ -0,0 +1,208 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +Command line IR back-end control program. + +The query back-channel is handled by a separate program. +""" + +import getopt, sys, lxml.etree, lxml.sax +import rpki.left_right, rpki.relaxng, rpki.cms, rpki.https, rpki.x509, rpki.config, rpki.log + +pem_out = None + +class cmd_mixin(object): + """Left-right protocol mix-in for command line client.""" + + def client_getopt(self, argv): + """Parse options for this class.""" + opts, argv = getopt.getopt(argv, "", [x + "=" for x in self.attributes + self.elements] + list(self.booleans)) + for o, a in opts: + o = o[2:] + handler = getattr(self, "client_query_" + o, None) + if handler is not None: + handler(a) + elif o in self.booleans: + setattr(self, o, True) + else: + assert o in self.attributes + setattr(self, o, a) + return argv + + def client_query_action(self, arg): + """Special handler for --action option.""" + self.action = arg + self.type = "query" + + def client_query_cms_ta(self, arg): + """Special handler for --cms_ta option.""" + self.cms_ta = rpki.x509.X509(Auto_file=arg) + + def client_query_https_ta(self, arg): + """Special handler for --https_ta option.""" + self.https_ta = rpki.x509.X509(Auto_file=arg) + + def client_reply_decode(self): + pass + + def client_reply_show(self): + print self.element_name + for i in self.attributes + self.elements: + if getattr(self, i) is not None: + print " %s: %s" % (i, getattr(self, i)) + +class self_elt(cmd_mixin, rpki.left_right.self_elt): + + def client_query_extension_preference(self, arg): + """--extension_preferences option.""" + k,v = arg.split("=", 1) + pref = rpki.left_right.extension_preference_elt() + pref.name = k + pref.value = v + self.prefs.append(pref) + +class bsc_elt(cmd_mixin, rpki.left_right.bsc_elt): + + def client_query_signing_cert(self, arg): + """--signing_cert option.""" + self.signing_cert.append(rpki.x509.X509(Auto_file=arg)) + + def client_reply_decode(self): + global pem_out + if pem_out is not None and self.pkcs10_cert_request is not None: + if isinstance(pem_out, str): + pem_out = open(pem_out, "w") + pem_out.write(self.pkcs10_cert_request.get_PEM()) + +class parent_elt(cmd_mixin, rpki.left_right.parent_elt): + pass + +class child_elt(cmd_mixin, rpki.left_right.child_elt): + pass + +class repository_elt(cmd_mixin, rpki.left_right.repository_elt): + pass + +class route_origin_elt(cmd_mixin, rpki.left_right.route_origin_elt): + + def client_query_as_number(self, arg): + """Handle autonomous sequence numbers.""" + self.as_number = long(arg) + + def client_query_ipv4(self, arg): + """Handle IPv4 addresses.""" + self.ipv4 = resource_set.resource_set_ipv4(arg) + + def client_query_ipv6(self, arg): + """Handle IPv6 addresses.""" + self.ipv6 = resource_set.resource_set_ipv6(arg) + +class msg(rpki.left_right.msg): + pdus = dict((x.element_name, x) + for x in (self_elt, bsc_elt, parent_elt, child_elt, repository_elt, route_origin_elt)) + +class sax_handler(rpki.left_right.sax_handler): + pdu = msg + +top_opts = ["config=", "help", "pem_out="] + +def usage(code=1): + print "Usage:", sys.argv[0], " ".join(["--" + x for x in top_opts]) + for k,v in msg.pdus.items(): + print " ", k, \ + " ".join(["--" + x + "=" for x in v.attributes + v.elements]), \ + " ".join(["--" + x for x in v.booleans]) + sys.exit(code) + +# Main program + +rpki.log.init("irbe-cli") + +argv = sys.argv[1:] + +if not argv: + usage(0) + +cfg_file = "irbe.conf" + +opts, argv = getopt.getopt(argv, "c:h?", top_opts) +for o, a in opts: + if o in ("-?", "-h", "--help"): + usage(0) + if o in ("-c", "--config"): + cfg_file = a + if o == "--pem_out": + pem_out = a + +if not argv: + usage(1) + +cfg = rpki.config.parser(cfg_file, "irbe-cli") + +q_msg = rpki.left_right.msg() + +while argv: + try: + q_pdu = msg.pdus[argv[0]]() + except KeyError: + usage(1) + argv = q_pdu.client_getopt(argv[1:]) + q_msg.append(q_pdu) + +# We don't use rpki.cms.xml_sign() and rpki.cms.xml_verify() because +# we want to display the raw XML. If and when that changes, we clean +# up the following slightly. + +q_elt = q_msg.toXML() +q_xml = lxml.etree.tostring(q_elt, pretty_print=True, encoding="us-ascii", xml_declaration=True) +try: + rpki.relaxng.left_right.assertValid(q_elt) +except lxml.etree.DocumentInvalid: + print "Generated query document does not pass schema check:" + print + print q_xml + raise + +q_cms = rpki.cms.sign(q_xml, + rpki.x509.RSA(Auto_file = cfg.get("cms-key")), + rpki.x509.X509_chain(Auto_files = cfg.multiget("cms-certs"))) + +r_cms = rpki.https.client(privateKey = rpki.x509.RSA(Auto_file = cfg.get("https-key")), + certChain = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-certs")), + x509TrustList = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-ta")), + url = cfg.get("https-url"), + msg = q_cms) + +r_xml = rpki.cms.verify(r_cms, rpki.x509.X509(Auto_file = cfg.get("cms-ta"))) + +r_elt = lxml.etree.fromstring(r_xml) +try: + rpki.relaxng.left_right.assertValid(r_elt) +except lxml.etree.DocumentInvalid: + print "Received reply document does not pass schema check:" + print r_xml + raise + +print r_xml + +handler = sax_handler() +lxml.sax.saxify(r_elt, handler) +r_msg = handler.result + +for r_pdu in r_msg: + r_pdu.client_reply_decode() + #r_pdu.client_reply_show() diff --git a/rpkid/irbe-setup.py b/rpkid/irbe-setup.py new file mode 100644 index 00000000..90ea5113 --- /dev/null +++ b/rpkid/irbe-setup.py @@ -0,0 +1,125 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Set up the relationship between an IRBE and an RPKI engine given an +IRDB. Our main task here is to create child objects in the RPKI +engine for every registrant object in the IRDB. +""" + +import os, MySQLdb, getopt, sys, lxml.etree, lxml.sax +import rpki.left_right, rpki.relaxng, rpki.cms, rpki.https +import rpki.x509, rpki.config, rpki.log + +rpki.log.init("irbe-setup") + +cfg = rpki.config.parser("irbe.conf", "irbe-cli") + +db = MySQLdb.connect(user = cfg.get("sql-username", section = "irdbd"), + db = cfg.get("sql-database", section = "irdbd"), + passwd = cfg.get("sql-password", section = "irdbd")) +cur = db.cursor() + +cms_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("cms-cert")) +cms_key = rpki.x509.RSA( Auto_file = cfg.get( "cms-key")) +cms_ta = rpki.x509.X509( Auto_file = cfg.get( "cms-ta")) +https_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-cert")) +https_key = rpki.x509.RSA( Auto_file = cfg.get( "https-key")) +https_tas = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-ta")) +https_url = cfg.get( "https-url") + +def call_rpkid(pdu): + """Hand a PDU to rpkid and get back the response. Just throw an + exception if anything bad happens, no fancy error handling. + """ + + pdu.type = "query" + msg = rpki.left_right.msg((pdu,)) + elt = msg.toXML() + try: + rpki.relaxng.left_right.assertValid(elt) + except lxml.etree.DocumentInvalid: + print lxml.etree.tostring(elt, pretty_print = True, encoding = "us-ascii") + raise + elt = rpki.cms.xml_verify(cms = rpki.https.client(privateKey = https_key, + certChain = https_certs, + x509TrustList = https_tas, + url = https_url, + msg = rpki.cms.xml_sign(elt = elt, + key = cms_key, + certs = cms_certs)), + ta = cms_ta) + try: + rpki.relaxng.left_right.assertValid(elt) + except lxml.etree.DocumentInvalid: + print lxml.etree.tostring(elt, pretty_print = True, encoding = "us-ascii") + raise + msg = rpki.left_right.sax_handler.saxify(elt) + pdu = msg[0] + assert len(msg) == 1 and pdu.type == "reply" and not isinstance(pdu, rpki.left_right.report_error_elt) + return pdu + +print "Create a self instance" +pdu = call_rpkid(rpki.left_right.self_elt.make_pdu(action = "create", crl_interval = 84600)) +self_id = pdu.self_id + +print "Create a business signing context" +pdu = rpki.left_right.bsc_elt.make_pdu(action = "create", self_id = self_id, generate_keypair = True) +pdu.signing_cert.append(rpki.x509.X509(Auto_file = "biz-certs/Bob-CA.cer")) +pdu = call_rpkid(pdu) +bsc_id = pdu.bsc_id + +print "Issue the business cert" +i,o = os.popen2(("openssl", "x509", "-req", + "-CA", "biz-certs/Bob-CA.cer", + "-CAkey", "biz-certs/Bob-CA.key", + "-CAserial", "biz-certs/Bob-CA.srl")) +i.write(pdu.pkcs10_cert_request.get_PEM()) +i.close() +cer = rpki.x509.X509(PEM = o.read()) +o.close() + +print "Set up the business cert chain" +pdu = rpki.left_right.bsc_elt.make_pdu(action = "set", self_id = self_id, bsc_id = bsc_id) +pdu.signing_cert.append(cer) +call_rpkid(pdu) + +print "Create a repository context" +pdu = call_rpkid(rpki.left_right.repository_elt.make_pdu(action = "create", self_id = self_id, bsc_id = bsc_id)) +repository_id = pdu.repository_id + +print "Create a parent context" +ta = rpki.x509.X509(Auto_file = "biz-certs/Elena-Root.cer") +pdu = call_rpkid(rpki.left_right.parent_elt.make_pdu( + action = "create", self_id = self_id, bsc_id = bsc_id, repository_id = repository_id, cms_ta = ta, https_ta = ta, + peer_contact_uri = "https://localhost:44333/", sia_base = "rsync://wombat.invalid/")) +parent_id = pdu.parent_id + +print "Create child contexts for everybody" +print "Using a single cert for all of these registrants is a crock" + +cer = rpki.x509.X509(Auto_file = "biz-certs/Frank-Root.cer") + +cur.execute("SELECT registrant_id, subject_name FROM registrant") +registrants = cur.fetchall() + +for registrant_id, subject_name in registrants: + print "Attempting to bind", registrant_id, subject_name + pdu = call_rpkid(rpki.left_right.child_elt.make_pdu(action = "create", self_id = self_id, bsc_id = bsc_id, cms_ta = cer)) + print "Attempting to bind", registrant_id, subject_name, pdu.child_id + cur.execute("""UPDATE registrant + SET rpki_self_id = %d, rpki_child_id = %d + WHERE registrant_id = %d + """, (self_id, pdu.child_id, registrant_id)) diff --git a/rpkid/irbe-setup.sh b/rpkid/irbe-setup.sh new file mode 100644 index 00000000..31342aaa --- /dev/null +++ b/rpkid/irbe-setup.sh @@ -0,0 +1,32 @@ +#!/bin/sh - +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# Run irbe-setup.py, under screen if possible. + +#make test + +if test -n "$STY" +then + screen python rpkid.py +else + python rpkid.py >>rpkid.log 2>&1 & rpkid=$! + trap "kill $rpkid" 0 1 2 3 13 15 +fi + +sleep 5 + +exec python irbe-setup.py diff --git a/rpkid/irdbd.py b/rpkid/irdbd.py new file mode 100755 index 00000000..d7ecca2b --- /dev/null +++ b/rpkid/irdbd.py @@ -0,0 +1,131 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +IR database daemon. + +Usage: python irdbd.py [ { -c | --config } configfile ] [ { -h | --help } ] + +Default configuration file is irdbd.conf, override with --config option. +""" + +import sys, os, time, getopt, urlparse, traceback +import tlslite.api, MySQLdb, lxml.etree +import rpki.https, rpki.config, rpki.resource_set, rpki.cms, rpki.relaxng +import rpki.exceptions, rpki.left_right, rpki.log + +def handler(query, path): + try: + q_elt = rpki.cms.xml_verify(query, cms_ta) + rpki.relaxng.left_right.assertValid(q_elt) + q_msg = rpki.left_right.sax_handler.saxify(q_elt) + if not isinstance(q_msg, rpki.left_right.msg): + raise rpki.exceptions.BadQuery, "Unexpected %s PDU" % repr(q_msg) + + r_msg = rpki.left_right.msg() + + for q_pdu in q_msg: + + try: + if not isinstance(q_pdu, rpki.left_right.list_resources_elt) or q_pdu.type != "query": + raise rpki.exceptions.BadQuery, "Unexpected %s PDU" % repr(q_pdu) + + r_pdu = rpki.left_right.list_resources_elt() + r_pdu.type = "reply" + r_pdu.tag = q_pdu.tag + r_pdu.self_id = q_pdu.self_id + r_pdu.child_id = q_pdu.child_id + + cur.execute("""SELECT registrant_id, subject_name, valid_until FROM registrant + WHERE registrant.rpki_self_id = %s AND registrant.rpki_child_id = %s + """, (q_pdu.self_id, q_pdu.child_id)) + if cur.rowcount != 1: + raise rpki.exceptions.NotInDatabase, \ + "This query should have produced a single exact match, something's messed up (rowcount = %d, self_id = %s, child_id = %s)" \ + % (cur.rowcount, q_pdu.self_id, q_pdu.child_id) + + registrant_id, subject_name, valid_until = cur.fetchone() + r_pdu.subject_name = subject_name + r_pdu.valid_until = valid_until.strftime("%Y-%m-%dT%H:%M:%SZ") + r_pdu.as = rpki.resource_set.resource_set_as.from_sql(cur, "SELECT start_as, end_as FROM asn WHERE registrant_id = %s", (registrant_id,)) + r_pdu.ipv4 = rpki.resource_set.resource_set_ipv4.from_sql(cur, "SELECT start_ip, end_ip FROM net WHERE registrant_id = %s AND version = 4", (registrant_id,)) + r_pdu.ipv6 = rpki.resource_set.resource_set_ipv6.from_sql(cur, "SELECT start_ip, end_ip FROM net WHERE registrant_id = %s AND version = 6", (registrant_id,)) + + except Exception, data: + rpki.log.error(traceback.format_exc()) + r_pdu = rpki.left_right.report_error_elt.from_exception(data, q_pdu.self_id) + + r_msg.append(r_pdu) + + r_elt = r_msg.toXML() + rpki.relaxng.left_right.assertValid(r_elt) + return 200, rpki.cms.xml_sign(r_elt, cms_key, cms_certs) + + except Exception, data: + rpki.log.error(traceback.format_exc()) + + # We only get here in cases where we couldn't or wouldn't generate + # <report_error/>, so just return HTTP failure. + + return 500, "Unhandled exception %s: %s" % (data.__class__.__name__, data) + +os.environ["TZ"] = "UTC" +time.tzset() + +rpki.log.init("irdbd") + +cfg_file = "irdbd.conf" + +opts,argv = getopt.getopt(sys.argv[1:], "c:h?", ["config=", "help"]) +for o,a in opts: + if o in ("-h", "--help", "-?"): + print __doc__ + sys.exit(0) + if o in ("-c", "--config"): + cfg_file = a +if argv: + raise RuntimeError, "Unexpected arguments %s" % argv + +cfg = rpki.config.parser(cfg_file, "irdbd") + +startup_msg = cfg.get("startup-message", "") +if startup_msg: + rpki.log.info(startup_msg) + +db = MySQLdb.connect(user = cfg.get("sql-username"), + db = cfg.get("sql-database"), + passwd = cfg.get("sql-password")) + +cur = db.cursor() + +cms_ta = rpki.x509.X509(Auto_file = cfg.get("cms-ta")) +cms_key = rpki.x509.RSA(Auto_file = cfg.get("cms-key")) +cms_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("cms-certs")) + +u = urlparse.urlparse(cfg.get("https-url")) + +assert u.scheme in ("", "https") and \ + u.username is None and \ + u.password is None and \ + u.params == "" and \ + u.query == "" and \ + u.fragment == "" + +rpki.https.server(privateKey = rpki.x509.RSA(Auto_file = cfg.get("https-key")), + certChain = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-certs")), + host = u.hostname or "localhost", + port = u.port or 443, + handlers = ((u.path, handler),)) diff --git a/rpkid/left-right-protocol-samples.xsl b/rpkid/left-right-protocol-samples.xsl new file mode 100644 index 00000000..da313544 --- /dev/null +++ b/rpkid/left-right-protocol-samples.xsl @@ -0,0 +1,37 @@ +<!-- $Id$ + - + - Generate test case PDUs for left-right protocol. Invoke thusly: + - + - $ xsltproc left-right-protocol-samples.xsl ../docs/left-right-xml + --> + +<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:exsl="http://exslt.org/common" + extension-element-prefixes="exsl"> + + <xsl:param name="dir">left-right-protocol-samples</xsl:param> + <xsl:param name="msgs" select="1"/> + + <xsl:strip-space elements="*"/> + + <xsl:template match="/completely_gratuitous_wrapper_element_to_let_me_run_this_through_xmllint"> + <xsl:for-each select="*"> + <xsl:variable name="filename" select="concat($dir, '/pdu.', format-number(position(), '000'), '.xml')"/> + <xsl:if test="$msgs"> + <xsl:message><xsl:text>Writing </xsl:text><xsl:value-of select="$filename"/></xsl:message> + </xsl:if> + <exsl:document href="{$filename}" indent="yes" encoding="US-ASCII"> + <xsl:comment>Automatically generated, do not edit.</xsl:comment> + <xsl:copy-of select="." /> + </exsl:document> + </xsl:for-each> + </xsl:template> +</xsl:transform> + + +<!-- + - Local variables: + - mode: sgml + - compile-command: "xsltproc left-right-protocol-samples.xsl ../docs/left-right-xml" + - End: + --> diff --git a/rpkid/left-right-protocol-samples/pdu.001.xml b/rpkid/left-right-protocol-samples/pdu.001.xml new file mode 100644 index 00000000..7d6b1bd5 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.001.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="create" type="query" tag="a000"> + <extension_preference name="name">Launcelot</extension_preference> + <extension_preference name="quest">Holy Grail</extension_preference> + </self> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.002.xml b/rpkid/left-right-protocol-samples/pdu.002.xml new file mode 100644 index 00000000..248adc19 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.002.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="create" type="reply" tag="a000" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.003.xml b/rpkid/left-right-protocol-samples/pdu.003.xml new file mode 100644 index 00000000..b53bb031 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.003.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="set" type="query" self_id="42" rekey="yes" reissue="yes" revoke="yes" run_now="yes" publish_world_now="yes" clear_extension_preferences="yes" crl_interval="3600" use_hsm="no"> + <extension_preference name="color">Blue</extension_preference> + </self> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.004.xml b/rpkid/left-right-protocol-samples/pdu.004.xml new file mode 100644 index 00000000..ae9a2f54 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.004.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="set" type="reply" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.005.xml b/rpkid/left-right-protocol-samples/pdu.005.xml new file mode 100644 index 00000000..f039e484 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.005.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="get" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.006.xml b/rpkid/left-right-protocol-samples/pdu.006.xml new file mode 100644 index 00000000..7f51884a --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.006.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="get" type="reply" self_id="42"> + <extension_preference name="name">Launcelot</extension_preference> + <extension_preference name="quest">Holy Grail</extension_preference> + <extension_preference name="color">Blue</extension_preference> + </self> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.007.xml b/rpkid/left-right-protocol-samples/pdu.007.xml new file mode 100644 index 00000000..19e8d75e --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.007.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="list" type="query"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.008.xml b/rpkid/left-right-protocol-samples/pdu.008.xml new file mode 100644 index 00000000..ce6ded4a --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.008.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="list" type="reply" self_id="42"> + <extension_preference name="name">Launcelot</extension_preference> + <extension_preference name="quest">Holy Grail</extension_preference> + <extension_preference name="color">Blue</extension_preference> + </self> + <self action="list" type="reply" self_id="99"> + <extension_preference name="name">Arthur, King of the Britons</extension_preference> + <extension_preference name="quest">Holy Grail</extension_preference> + <extension_preference name="airspeed_velocity_of_an_unladen_swallow">African or European swallow?</extension_preference> + </self> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.009.xml b/rpkid/left-right-protocol-samples/pdu.009.xml new file mode 100644 index 00000000..bc7da935 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.009.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="destroy" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.010.xml b/rpkid/left-right-protocol-samples/pdu.010.xml new file mode 100644 index 00000000..1fd0bb69 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.010.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <self action="destroy" type="reply" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.011.xml b/rpkid/left-right-protocol-samples/pdu.011.xml new file mode 100644 index 00000000..5a061211 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.011.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="create" type="query" self_id="42" generate_keypair="yes" key_type="rsa" hash_alg="sha256" key_length="2048"> + <signing_cert> + MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV + BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda + Fw0wNzA4MzExOTUzMDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxp + Y2UgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDmLngkGT5kWsXd + IgLeV+5zNvcDt0+D4cds1cu+bw6Y/23z1+ooA8fU1gXQ28bl6ELM8WRLHgcntqzr + 5UX6S1xPdNfFYt8z4E1ZuvwCPsxcSwVdlYRvzAGNQivDpcJ75Mf5DTeDpr6wm7yn + 2pzxvQIet5djOX51RVGA3hOwCbhq2ceHs0ZruWG3T70H3Sa1ZVxP7m0DJlsSZa6v + 3oEeFOKZQlqrgeU74mJyLAGx/fNbIw+UBrvejfjZobIv985vQ06DZ5S2AquQ2bht + O/2bW3yqeOjH98YK0zlOpYtaZ2fyx4JLjHCspoki6+4W9UG+TuqdkB20mRsr25XT + 9kLuwIGZAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF6I4IR33h/s + vOa4Vsw2icPo8TgaMB8GA1UdIwQYMBaAFG9ed1KlOQDyB+k7Yeb8LSjG5FDtMA0G + CSqGSIb3DQEBBQUAA4IBAQDVzBuGyXIq/rfMjoNKIHTUgppkc+FjS02cFASpB5mk + ksSpGWYHMZKlqz47qDi44KAG+kmPIPOT0em81+/VGeY1oizJyKSeNDhNboth5oTu + ShDr4flTQCoYvRxm1wh8WIIg09nwibzGztuV1XxtdzfQV5kK5bMBlDXnUfAYydsO + jc52x5f4tgdcfBhjnMzkCAx2kvw5Wp3NekkOKl5YYnPK++zT9IBwqrqJmsJvyLPO + vvqVBYkoBWRbmcy6wVU8JpYegNNgVRbi6zeAq33gS75m9uy+4z8Ql6DqVF0s/y+/ + 240tLCW62X98EzrALKsxhkqVZCtdc5HSRaOQr0K3I03S + </signing_cert> + </bsc> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.012.xml b/rpkid/left-right-protocol-samples/pdu.012.xml new file mode 100644 index 00000000..cca6c8c7 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.012.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="create" type="reply" self_id="42" bsc_id="17"> + <pkcs10_cert_request>cmVxdWVzdAo=</pkcs10_cert_request> + </bsc> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.013.xml b/rpkid/left-right-protocol-samples/pdu.013.xml new file mode 100644 index 00000000..3c1c5adc --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.013.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="set" type="query" self_id="42" bsc_id="17" clear_signing_certs="yes"> + <signing_cert> + MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV + BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda + Fw0wNzA4MzExOTUzMDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxp + Y2UgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDmLngkGT5kWsXd + IgLeV+5zNvcDt0+D4cds1cu+bw6Y/23z1+ooA8fU1gXQ28bl6ELM8WRLHgcntqzr + 5UX6S1xPdNfFYt8z4E1ZuvwCPsxcSwVdlYRvzAGNQivDpcJ75Mf5DTeDpr6wm7yn + 2pzxvQIet5djOX51RVGA3hOwCbhq2ceHs0ZruWG3T70H3Sa1ZVxP7m0DJlsSZa6v + 3oEeFOKZQlqrgeU74mJyLAGx/fNbIw+UBrvejfjZobIv985vQ06DZ5S2AquQ2bht + O/2bW3yqeOjH98YK0zlOpYtaZ2fyx4JLjHCspoki6+4W9UG+TuqdkB20mRsr25XT + 9kLuwIGZAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF6I4IR33h/s + vOa4Vsw2icPo8TgaMB8GA1UdIwQYMBaAFG9ed1KlOQDyB+k7Yeb8LSjG5FDtMA0G + CSqGSIb3DQEBBQUAA4IBAQDVzBuGyXIq/rfMjoNKIHTUgppkc+FjS02cFASpB5mk + ksSpGWYHMZKlqz47qDi44KAG+kmPIPOT0em81+/VGeY1oizJyKSeNDhNboth5oTu + ShDr4flTQCoYvRxm1wh8WIIg09nwibzGztuV1XxtdzfQV5kK5bMBlDXnUfAYydsO + jc52x5f4tgdcfBhjnMzkCAx2kvw5Wp3NekkOKl5YYnPK++zT9IBwqrqJmsJvyLPO + vvqVBYkoBWRbmcy6wVU8JpYegNNgVRbi6zeAq33gS75m9uy+4z8Ql6DqVF0s/y+/ + 240tLCW62X98EzrALKsxhkqVZCtdc5HSRaOQr0K3I03S + </signing_cert> + </bsc> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.014.xml b/rpkid/left-right-protocol-samples/pdu.014.xml new file mode 100644 index 00000000..dbb00bf7 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.014.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="set" type="reply" self_id="42" bsc_id="17"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.015.xml b/rpkid/left-right-protocol-samples/pdu.015.xml new file mode 100644 index 00000000..25137d90 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.015.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="get" type="query" self_id="42" bsc_id="17"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.016.xml b/rpkid/left-right-protocol-samples/pdu.016.xml new file mode 100644 index 00000000..bfa6009a --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.016.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="get" type="reply" self_id="42" bsc_id="17"> + <signing_cert> + MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV + BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda + Fw0wNzA4MzExOTUzMDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxp + Y2UgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDmLngkGT5kWsXd + IgLeV+5zNvcDt0+D4cds1cu+bw6Y/23z1+ooA8fU1gXQ28bl6ELM8WRLHgcntqzr + 5UX6S1xPdNfFYt8z4E1ZuvwCPsxcSwVdlYRvzAGNQivDpcJ75Mf5DTeDpr6wm7yn + 2pzxvQIet5djOX51RVGA3hOwCbhq2ceHs0ZruWG3T70H3Sa1ZVxP7m0DJlsSZa6v + 3oEeFOKZQlqrgeU74mJyLAGx/fNbIw+UBrvejfjZobIv985vQ06DZ5S2AquQ2bht + O/2bW3yqeOjH98YK0zlOpYtaZ2fyx4JLjHCspoki6+4W9UG+TuqdkB20mRsr25XT + 9kLuwIGZAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF6I4IR33h/s + vOa4Vsw2icPo8TgaMB8GA1UdIwQYMBaAFG9ed1KlOQDyB+k7Yeb8LSjG5FDtMA0G + CSqGSIb3DQEBBQUAA4IBAQDVzBuGyXIq/rfMjoNKIHTUgppkc+FjS02cFASpB5mk + ksSpGWYHMZKlqz47qDi44KAG+kmPIPOT0em81+/VGeY1oizJyKSeNDhNboth5oTu + ShDr4flTQCoYvRxm1wh8WIIg09nwibzGztuV1XxtdzfQV5kK5bMBlDXnUfAYydsO + jc52x5f4tgdcfBhjnMzkCAx2kvw5Wp3NekkOKl5YYnPK++zT9IBwqrqJmsJvyLPO + vvqVBYkoBWRbmcy6wVU8JpYegNNgVRbi6zeAq33gS75m9uy+4z8Ql6DqVF0s/y+/ + 240tLCW62X98EzrALKsxhkqVZCtdc5HSRaOQr0K3I03S + </signing_cert> + <signing_cert> + MIIDGDCCAgCgAwIBAgIJANkdU8+R7K3fMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxpY2UgQ0EwHhcNMDcwODAxMTk1MzA3WhcN + MDcwODMxMTk1MzA3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEFsaWNl + IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64aCougbqPB/PjR9 + ipPd5c/QGlKh8QsCvh4ka3VjRp+zCUEiOI6W7hKUGVoNlqwFjZo2CsqX8qoW0e/S + sQp9RMH80jgYjfxVPvK3S+sMoXredH+PhOqttf1rCEXbvqP4t9FWUdKJz558oHbO + MXirP7MFUrWk96F/id+BFG01aKy9RE68DlkcPZAJjpcQ0kEYCIyAQckqgVrIaH2X + QiEtB5asHrvGH0N5fmUWDeBfHTGVI3dbc6nLU9RYlVo/RCo0C38fi44/PIdnJCZG + 4+m2ZXG+QbhNWVr4BsSIpF0oiQDelrebDrK4TYJ4skfwLHdlmJbtaeG7zwukDQkN + CIIXRwIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTjSaMtxysroFSek8cD + OTdc6+ZY0jAfBgNVHSMEGDAWgBReiOCEd94f7LzmuFbMNonD6PE4GjANBgkqhkiG + 9w0BAQUFAAOCAQEAH8ccePGVdGeytS14upV+20hxsGHLS66XxZJlQyQmYOwy4OL9 + F17VODm7UC3h6qnAGbNCvRa6TPah1gRWfwkZDlYC48whDlxi2QX23PcuVKstrv3i + MiVcTm6AuVyfDn4DJ89TDUY+bPFne46lpSBxt9xXg6UsHMSthoerTYVcaYNHoGpt + wQPCgrYT/bdQeUpAL7rtha+by0x74vUgO8W84MX0XjCWqXgyP/XBlqxjx7B9Gydw + 5tNbASf9blRIQcQ9uy+S8mOlHQWfOhe6nN++LhVxYlOzdDKFboTmCwYZwNJHhnRl + okQ8do5ItBt92MoJgI26PoOiE3xXVyuYb1b7vw== + </signing_cert> + <public_key> + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64aCougbqPB/PjR9ipPd + 5c/QGlKh8QsCvh4ka3VjRp+zCUEiOI6W7hKUGVoNlqwFjZo2CsqX8qoW0e/SsQp9 + RMH80jgYjfxVPvK3S+sMoXredH+PhOqttf1rCEXbvqP4t9FWUdKJz558oHbOMXir + P7MFUrWk96F/id+BFG01aKy9RE68DlkcPZAJjpcQ0kEYCIyAQckqgVrIaH2XQiEt + B5asHrvGH0N5fmUWDeBfHTGVI3dbc6nLU9RYlVo/RCo0C38fi44/PIdnJCZG4+m2 + ZXG+QbhNWVr4BsSIpF0oiQDelrebDrK4TYJ4skfwLHdlmJbtaeG7zwukDQkNCIIX + RwIDAQAB + </public_key> + </bsc> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.017.xml b/rpkid/left-right-protocol-samples/pdu.017.xml new file mode 100644 index 00000000..dc882a50 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.017.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="list" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.018.xml b/rpkid/left-right-protocol-samples/pdu.018.xml new file mode 100644 index 00000000..bfa6009a --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.018.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="get" type="reply" self_id="42" bsc_id="17"> + <signing_cert> + MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV + BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda + Fw0wNzA4MzExOTUzMDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxp + Y2UgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDmLngkGT5kWsXd + IgLeV+5zNvcDt0+D4cds1cu+bw6Y/23z1+ooA8fU1gXQ28bl6ELM8WRLHgcntqzr + 5UX6S1xPdNfFYt8z4E1ZuvwCPsxcSwVdlYRvzAGNQivDpcJ75Mf5DTeDpr6wm7yn + 2pzxvQIet5djOX51RVGA3hOwCbhq2ceHs0ZruWG3T70H3Sa1ZVxP7m0DJlsSZa6v + 3oEeFOKZQlqrgeU74mJyLAGx/fNbIw+UBrvejfjZobIv985vQ06DZ5S2AquQ2bht + O/2bW3yqeOjH98YK0zlOpYtaZ2fyx4JLjHCspoki6+4W9UG+TuqdkB20mRsr25XT + 9kLuwIGZAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF6I4IR33h/s + vOa4Vsw2icPo8TgaMB8GA1UdIwQYMBaAFG9ed1KlOQDyB+k7Yeb8LSjG5FDtMA0G + CSqGSIb3DQEBBQUAA4IBAQDVzBuGyXIq/rfMjoNKIHTUgppkc+FjS02cFASpB5mk + ksSpGWYHMZKlqz47qDi44KAG+kmPIPOT0em81+/VGeY1oizJyKSeNDhNboth5oTu + ShDr4flTQCoYvRxm1wh8WIIg09nwibzGztuV1XxtdzfQV5kK5bMBlDXnUfAYydsO + jc52x5f4tgdcfBhjnMzkCAx2kvw5Wp3NekkOKl5YYnPK++zT9IBwqrqJmsJvyLPO + vvqVBYkoBWRbmcy6wVU8JpYegNNgVRbi6zeAq33gS75m9uy+4z8Ql6DqVF0s/y+/ + 240tLCW62X98EzrALKsxhkqVZCtdc5HSRaOQr0K3I03S + </signing_cert> + <signing_cert> + MIIDGDCCAgCgAwIBAgIJANkdU8+R7K3fMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxpY2UgQ0EwHhcNMDcwODAxMTk1MzA3WhcN + MDcwODMxMTk1MzA3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEFsaWNl + IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64aCougbqPB/PjR9 + ipPd5c/QGlKh8QsCvh4ka3VjRp+zCUEiOI6W7hKUGVoNlqwFjZo2CsqX8qoW0e/S + sQp9RMH80jgYjfxVPvK3S+sMoXredH+PhOqttf1rCEXbvqP4t9FWUdKJz558oHbO + MXirP7MFUrWk96F/id+BFG01aKy9RE68DlkcPZAJjpcQ0kEYCIyAQckqgVrIaH2X + QiEtB5asHrvGH0N5fmUWDeBfHTGVI3dbc6nLU9RYlVo/RCo0C38fi44/PIdnJCZG + 4+m2ZXG+QbhNWVr4BsSIpF0oiQDelrebDrK4TYJ4skfwLHdlmJbtaeG7zwukDQkN + CIIXRwIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTjSaMtxysroFSek8cD + OTdc6+ZY0jAfBgNVHSMEGDAWgBReiOCEd94f7LzmuFbMNonD6PE4GjANBgkqhkiG + 9w0BAQUFAAOCAQEAH8ccePGVdGeytS14upV+20hxsGHLS66XxZJlQyQmYOwy4OL9 + F17VODm7UC3h6qnAGbNCvRa6TPah1gRWfwkZDlYC48whDlxi2QX23PcuVKstrv3i + MiVcTm6AuVyfDn4DJ89TDUY+bPFne46lpSBxt9xXg6UsHMSthoerTYVcaYNHoGpt + wQPCgrYT/bdQeUpAL7rtha+by0x74vUgO8W84MX0XjCWqXgyP/XBlqxjx7B9Gydw + 5tNbASf9blRIQcQ9uy+S8mOlHQWfOhe6nN++LhVxYlOzdDKFboTmCwYZwNJHhnRl + okQ8do5ItBt92MoJgI26PoOiE3xXVyuYb1b7vw== + </signing_cert> + <public_key> + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64aCougbqPB/PjR9ipPd + 5c/QGlKh8QsCvh4ka3VjRp+zCUEiOI6W7hKUGVoNlqwFjZo2CsqX8qoW0e/SsQp9 + RMH80jgYjfxVPvK3S+sMoXredH+PhOqttf1rCEXbvqP4t9FWUdKJz558oHbOMXir + P7MFUrWk96F/id+BFG01aKy9RE68DlkcPZAJjpcQ0kEYCIyAQckqgVrIaH2XQiEt + B5asHrvGH0N5fmUWDeBfHTGVI3dbc6nLU9RYlVo/RCo0C38fi44/PIdnJCZG4+m2 + ZXG+QbhNWVr4BsSIpF0oiQDelrebDrK4TYJ4skfwLHdlmJbtaeG7zwukDQkNCIIX + RwIDAQAB + </public_key> + </bsc> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.019.xml b/rpkid/left-right-protocol-samples/pdu.019.xml new file mode 100644 index 00000000..62c3e9de --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.019.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="destroy" type="query" self_id="42" bsc_id="17"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.020.xml b/rpkid/left-right-protocol-samples/pdu.020.xml new file mode 100644 index 00000000..75375dad --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.020.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <bsc action="destroy" type="reply" self_id="42" bsc_id="17"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.021.xml b/rpkid/left-right-protocol-samples/pdu.021.xml new file mode 100644 index 00000000..41bc67af --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.021.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="create" type="query" self_id="42" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120" sender_name="tweedledee" recipient_name="tweedledum"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </parent> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.022.xml b/rpkid/left-right-protocol-samples/pdu.022.xml new file mode 100644 index 00000000..8c0a8d7d --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.022.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="create" type="reply" self_id="42" parent_id="666"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.023.xml b/rpkid/left-right-protocol-samples/pdu.023.xml new file mode 100644 index 00000000..1f3633c0 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.023.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="set" type="query" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120" rekey="yes" reissue="yes" revoke="yes"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </parent> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.024.xml b/rpkid/left-right-protocol-samples/pdu.024.xml new file mode 100644 index 00000000..902e89ef --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.024.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="set" type="reply" self_id="42" parent_id="666"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.025.xml b/rpkid/left-right-protocol-samples/pdu.025.xml new file mode 100644 index 00000000..51e077ba --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.025.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="get" type="query" self_id="42" parent_id="666"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.026.xml b/rpkid/left-right-protocol-samples/pdu.026.xml new file mode 100644 index 00000000..8cddc8d8 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.026.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="get" type="reply" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </parent> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.027.xml b/rpkid/left-right-protocol-samples/pdu.027.xml new file mode 100644 index 00000000..6c417adb --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.027.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="list" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.028.xml b/rpkid/left-right-protocol-samples/pdu.028.xml new file mode 100644 index 00000000..1e8f5c95 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.028.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="list" type="reply" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </parent> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.029.xml b/rpkid/left-right-protocol-samples/pdu.029.xml new file mode 100644 index 00000000..2cb9dc8b --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.029.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="destroy" type="query" self_id="42" parent_id="666"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.030.xml b/rpkid/left-right-protocol-samples/pdu.030.xml new file mode 100644 index 00000000..8e3d4c65 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.030.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <parent action="destroy" type="reply" self_id="42" parent_id="666"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.031.xml b/rpkid/left-right-protocol-samples/pdu.031.xml new file mode 100644 index 00000000..4871b271 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.031.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="create" type="query" self_id="42" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + </child> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.032.xml b/rpkid/left-right-protocol-samples/pdu.032.xml new file mode 100644 index 00000000..f5b3dbe9 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.032.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="create" type="reply" self_id="42" child_id="3"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.033.xml b/rpkid/left-right-protocol-samples/pdu.033.xml new file mode 100644 index 00000000..37bac784 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.033.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="set" type="query" self_id="42" child_id="3" bsc_id="17" reissue="yes"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + </child> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.034.xml b/rpkid/left-right-protocol-samples/pdu.034.xml new file mode 100644 index 00000000..f3332bb6 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.034.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="set" type="reply" self_id="42" child_id="3"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.035.xml b/rpkid/left-right-protocol-samples/pdu.035.xml new file mode 100644 index 00000000..1fa3192c --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.035.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="get" type="query" self_id="42" child_id="3"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.036.xml b/rpkid/left-right-protocol-samples/pdu.036.xml new file mode 100644 index 00000000..4c2576e1 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.036.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="get" type="reply" self_id="42" child_id="3" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + </child> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.037.xml b/rpkid/left-right-protocol-samples/pdu.037.xml new file mode 100644 index 00000000..fcfe3199 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.037.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="list" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.038.xml b/rpkid/left-right-protocol-samples/pdu.038.xml new file mode 100644 index 00000000..42d203a4 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.038.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="list" type="reply" self_id="42" child_id="3" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + </child> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.039.xml b/rpkid/left-right-protocol-samples/pdu.039.xml new file mode 100644 index 00000000..dc4fb285 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.039.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="destroy" type="query" self_id="42" child_id="3"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.040.xml b/rpkid/left-right-protocol-samples/pdu.040.xml new file mode 100644 index 00000000..82f28511 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.040.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <child action="destroy" type="reply" self_id="42" child_id="3"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.041.xml b/rpkid/left-right-protocol-samples/pdu.041.xml new file mode 100644 index 00000000..40cccf4d --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.041.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="create" type="query" self_id="42" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </repository> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.042.xml b/rpkid/left-right-protocol-samples/pdu.042.xml new file mode 100644 index 00000000..e7398c7f --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.042.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="create" type="reply" self_id="42" repository_id="120"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.043.xml b/rpkid/left-right-protocol-samples/pdu.043.xml new file mode 100644 index 00000000..e8f391a5 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.043.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="set" type="query" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </repository> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.044.xml b/rpkid/left-right-protocol-samples/pdu.044.xml new file mode 100644 index 00000000..d7506e3d --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.044.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="set" type="reply" self_id="42" repository_id="120"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.045.xml b/rpkid/left-right-protocol-samples/pdu.045.xml new file mode 100644 index 00000000..78866dad --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.045.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="get" type="query" self_id="42" repository_id="120"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.046.xml b/rpkid/left-right-protocol-samples/pdu.046.xml new file mode 100644 index 00000000..ad7e42a4 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.046.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="get" type="reply" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </repository> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.047.xml b/rpkid/left-right-protocol-samples/pdu.047.xml new file mode 100644 index 00000000..5ca17d89 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.047.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="list" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.048.xml b/rpkid/left-right-protocol-samples/pdu.048.xml new file mode 100644 index 00000000..ff92dc33 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.048.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="list" type="reply" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17"> + <cms_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </cms_ta> + <https_ta> + MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV + BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN + MDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS + b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYUtJaM5PH5917S + G2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GIdnoupzMnoZVtY3G + Ux2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8UN17mUKKgujrch6ZvgC + DO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVdqb/rW/6GTg0Xb/zLT6WWM + uT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tba0xyBGAUII0GfREY6t4/+NAP + 2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJ + diqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4 + ULlB7+GMDBlimTAfBgNVHSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkq + hkiG9w0BAQUFAAOCAQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acg + cum1YieNdtT0n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4 + XY39EZHhMW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Sm + sqep6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH + YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq + 3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== + </https_ta> + </repository> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.049.xml b/rpkid/left-right-protocol-samples/pdu.049.xml new file mode 100644 index 00000000..b89ad078 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.049.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="destroy" type="query" self_id="42" repository_id="120"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.050.xml b/rpkid/left-right-protocol-samples/pdu.050.xml new file mode 100644 index 00000000..92f1ce11 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.050.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <repository action="destroy" type="reply" self_id="42" repository_id="120"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.051.xml b/rpkid/left-right-protocol-samples/pdu.051.xml new file mode 100644 index 00000000..afbbc82a --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.051.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="create" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.052.xml b/rpkid/left-right-protocol-samples/pdu.052.xml new file mode 100644 index 00000000..87ab3b1d --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.052.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="create" type="reply" self_id="42" route_origin_id="88"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.053.xml b/rpkid/left-right-protocol-samples/pdu.053.xml new file mode 100644 index 00000000..a36dc495 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.053.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="set" type="query" self_id="42" route_origin_id="88" suppress_publication="yes" as_number="12345" ipv4="10.0.0.44/32,10.2.0.6-10.2.0.77" ipv6="2002:a00::/48,2002:a02:6::-2002:a02:4d::"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.054.xml b/rpkid/left-right-protocol-samples/pdu.054.xml new file mode 100644 index 00000000..263b189c --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.054.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="set" type="reply" self_id="42" route_origin_id="88"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.055.xml b/rpkid/left-right-protocol-samples/pdu.055.xml new file mode 100644 index 00000000..44a6af0b --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.055.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="get" type="query" self_id="42" route_origin_id="88"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.056.xml b/rpkid/left-right-protocol-samples/pdu.056.xml new file mode 100644 index 00000000..554cf859 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.056.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="get" type="reply" self_id="42" route_origin_id="88" as_number="12345" ipv4="10.0.0.44/32,10.2.0.6-10.2.0.77" ipv6="2002:a00::/48,2002:a02:6::-2002:a02:4d::"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.057.xml b/rpkid/left-right-protocol-samples/pdu.057.xml new file mode 100644 index 00000000..3eaa4d01 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.057.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="list" type="query" self_id="42"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.058.xml b/rpkid/left-right-protocol-samples/pdu.058.xml new file mode 100644 index 00000000..d4d72210 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.058.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="list" type="reply" self_id="42" route_origin_id="88" as_number="12345" ipv4="10.0.0.44/32,10.2.0.6-10.2.0.77" ipv6="2002:a00::/48,2002:a02:6::-2002:a02:4d::"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.059.xml b/rpkid/left-right-protocol-samples/pdu.059.xml new file mode 100644 index 00000000..1d352b83 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.059.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="destroy" type="query" self_id="42" route_origin_id="88"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.060.xml b/rpkid/left-right-protocol-samples/pdu.060.xml new file mode 100644 index 00000000..5e651518 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.060.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <route_origin action="destroy" type="reply" self_id="42" route_origin_id="88"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.061.xml b/rpkid/left-right-protocol-samples/pdu.061.xml new file mode 100644 index 00000000..05c6ef32 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.061.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <list_resources type="query" self_id="42" child_id="289"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.062.xml b/rpkid/left-right-protocol-samples/pdu.062.xml new file mode 100644 index 00000000..5d218eb1 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.062.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <list_resources type="reply" self_id="42" child_id="289" valid_until="2008-04-01T00:00:00Z" subject_name="Wombats are us" ipv4="10.0.0.44/32,10.3.0.44/32" ipv6="fe80:deed:f00d::/48,fe80:dead:beef:2::-fe80:dead:beef:2::49" as="666"/> +</msg> diff --git a/rpkid/left-right-protocol-samples/pdu.063.xml b/rpkid/left-right-protocol-samples/pdu.063.xml new file mode 100644 index 00000000..6b9f5cb2 --- /dev/null +++ b/rpkid/left-right-protocol-samples/pdu.063.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--Automatically generated, do not edit.--> +<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1"> + <report_error self_id="42" error_code="your_hair_is_on_fire">bag_of_data</report_error> +</msg> diff --git a/rpkid/left-right-schema.rnc b/rpkid/left-right-schema.rnc new file mode 100644 index 00000000..44ae964f --- /dev/null +++ b/rpkid/left-right-schema.rnc @@ -0,0 +1,208 @@ +# $Id$ +# +# RelaxNG (Compact Syntax) Schema for RPKI left-right protocol. +# +# libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so +# run the compact syntax through trang to get XML syntax. + +default namespace = "http://www.hactrn.net/uris/rpki/left-right-spec/" + +# Top level PDU + +start = element msg { + attribute version { xsd:positiveInteger { maxInclusive="1" } }, + ( self_elt | bsc_elt | parent_elt | child_elt | repository_elt | ro_elt | + list_resources_elt | report_error_elt )* +} + +# Tag attributes for bulk operations +tag = attribute tag { xsd:token {maxLength="1024" } }? + +# Combinations of action and type attributes used in later definitions. +# The same patterns repeat in most of the elements in this protocol. + +ctl_cq = attribute action { "create" }, attribute type { "query" }, tag +ctl_sq = attribute action { "set" }, attribute type { "query" }, tag +ctl_gq = attribute action { "get" }, attribute type { "query" }, tag +ctl_lq = attribute action { "list" }, attribute type { "query" }, tag +ctl_dq = attribute action { "destroy" }, attribute type { "query" }, tag +ctl_cr = attribute action { "create" }, attribute type { "reply" }, tag +ctl_sr = attribute action { "set" }, attribute type { "reply" }, tag +ctl_gr = attribute action { "get" }, attribute type { "reply" }, tag +ctl_lr = attribute action { "list" }, attribute type { "reply" }, tag +ctl_dr = attribute action { "destroy" }, attribute type { "reply" }, tag + +# Base64 encoded DER stuff +base64 = xsd:base64Binary { maxLength="512000" } + +# How we wrap trust anchor elements +cms_ta = element cms_ta { base64 } +https_ta = element https_ta { base64 } + +# Base definition for all fields that are really just SQL primary indices +sql_id = xsd:token { maxLength="1024" } + +# <self/> element + +self_bool = (attribute rekey { "yes" }?, + attribute reissue { "yes" }?, + attribute revoke { "yes" }?, + attribute run_now { "yes" }?, + attribute publish_world_now { "yes" }?, + attribute clear_extension_preferences { "yes" }?) + +self_payload = (attribute use_hsm { "yes" | "no" }?, + attribute crl_interval { xsd:token { maxLength="1024" } }?, + element extension_preference { + attribute name { xsd:token { maxLength="1024" } }, + xsd:string { maxLength="512000" } + }*) + +self_id = attribute self_id { sql_id } + +self_elt |= element self { ctl_cq, self_bool, self_payload } +self_elt |= element self { ctl_cr, self_id } +self_elt |= element self { ctl_sq, self_id, self_bool, self_payload } +self_elt |= element self { ctl_sr, self_id } +self_elt |= element self { ctl_gq, self_id } +self_elt |= element self { ctl_gr, self_id, self_payload } +self_elt |= element self { ctl_lq } +self_elt |= element self { ctl_lr, self_id, self_payload } +self_elt |= element self { ctl_dq, self_id } +self_elt |= element self { ctl_dr, self_id } + +# <bsc/> element. Key parameters hardwired for now. + +bsc_bool = ((attribute generate_keypair { "yes" }, + attribute key_type { "rsa" }?, + attribute hash_alg { "sha256" }?, + attribute key_length { "2048" }?)?, + attribute clear_signing_certs { "yes" }?) + +bsc_id = attribute bsc_id { sql_id } + +bsc_payload = (element signing_cert { base64 }*, + element public_key { base64 }?) + +bsc_pkcs10 = element pkcs10_cert_request { base64 }? + +bsc_elt |= element bsc { ctl_cq, self_id, bsc_bool, bsc_payload } +bsc_elt |= element bsc { ctl_cr, self_id, bsc_id, bsc_pkcs10 } +bsc_elt |= element bsc { ctl_sq, self_id, bsc_id, bsc_bool, bsc_payload } +bsc_elt |= element bsc { ctl_sr, self_id, bsc_id, bsc_pkcs10 } +bsc_elt |= element bsc { ctl_gq, self_id, bsc_id } +bsc_elt |= element bsc { ctl_gr, self_id, bsc_id, bsc_payload } +bsc_elt |= element bsc { ctl_lq, self_id } +bsc_elt |= element bsc { ctl_lr, self_id, bsc_id, bsc_payload } +bsc_elt |= element bsc { ctl_dq, self_id, bsc_id } +bsc_elt |= element bsc { ctl_dr, self_id, bsc_id } + +# <parent/> element + +parent_id = attribute parent_id { sql_id } + +parent_bool = (attribute rekey { "yes" }?, + attribute reissue { "yes" }?, + attribute revoke { "yes" }?) + +parent_payload = (attribute peer_contact_uri { xsd:anyURI { maxLength="1024" } }?, + attribute sia_base { xsd:anyURI { maxLength="1024" } }?, + attribute bsc_id { xsd:token { maxLength="1024" } }?, + attribute repository_id { xsd:token { maxLength="1024" } }?, + attribute sender_name { xsd:token { maxLength="1024" } }?, + attribute recipient_name { xsd:token { maxLength="1024" } }?, + cms_ta?, + https_ta?) + +parent_elt |= element parent { ctl_cq, self_id, parent_bool, parent_payload } +parent_elt |= element parent { ctl_cr, self_id, parent_id } +parent_elt |= element parent { ctl_sq, self_id, parent_id, parent_bool, parent_payload } +parent_elt |= element parent { ctl_sr, self_id, parent_id } +parent_elt |= element parent { ctl_gq, self_id, parent_id } +parent_elt |= element parent { ctl_gr, self_id, parent_id, parent_payload } +parent_elt |= element parent { ctl_lq, self_id } +parent_elt |= element parent { ctl_lr, self_id, parent_id, parent_payload } +parent_elt |= element parent { ctl_dq, self_id, parent_id } +parent_elt |= element parent { ctl_dr, self_id, parent_id } + +# <child/> element + +child_id = attribute child_id { sql_id } + +child_bool = attribute reissue { "yes" }? + +child_payload = (attribute bsc_id { xsd:token { maxLength="1024" } }?, + cms_ta?) + +child_elt |= element child { ctl_cq, self_id, child_bool, child_payload } +child_elt |= element child { ctl_cr, self_id, child_id } +child_elt |= element child { ctl_sq, self_id, child_id, child_bool, child_payload } +child_elt |= element child { ctl_sr, self_id, child_id } +child_elt |= element child { ctl_gq, self_id, child_id } +child_elt |= element child { ctl_gr, self_id, child_id, child_payload } +child_elt |= element child { ctl_lq, self_id } +child_elt |= element child { ctl_lr, self_id, child_id, child_payload } +child_elt |= element child { ctl_dq, self_id, child_id } +child_elt |= element child { ctl_dr, self_id, child_id } + +# <repository/> element + +repository_id = attribute repository_id { sql_id } + +repository_payload = (attribute peer_contact_uri { xsd:anyURI { maxLength="1024" } }?, + attribute bsc_id { xsd:token { maxLength="1024" } }?, + cms_ta?, + https_ta?) + +repository_elt |= element repository { ctl_cq, self_id, repository_payload } +repository_elt |= element repository { ctl_cr, self_id, repository_id } +repository_elt |= element repository { ctl_sq, self_id, repository_id, repository_payload } +repository_elt |= element repository { ctl_sr, self_id, repository_id } +repository_elt |= element repository { ctl_gq, self_id, repository_id } +repository_elt |= element repository { ctl_gr, self_id, repository_id, repository_payload } +repository_elt |= element repository { ctl_lq, self_id } +repository_elt |= element repository { ctl_lr, self_id, repository_id, repository_payload } +repository_elt |= element repository { ctl_dq, self_id, repository_id } +repository_elt |= element repository { ctl_dr, self_id, repository_id } + +# <route_origin/> element + +ro_id = attribute route_origin_id { sql_id } + +ro_bool = attribute suppress_publication { "yes" }? + +ro_payload = (attribute as_number { xsd:token { maxLength="1024" } }?, + attribute ipv4 { xsd:token { maxLength="1024" } }?, + attribute ipv6 { xsd:token { maxLength="1024" } }?) + +ro_elt |= element route_origin { ctl_cq, self_id, ro_bool, ro_payload } +ro_elt |= element route_origin { ctl_cr, self_id, ro_id } +ro_elt |= element route_origin { ctl_sq, self_id, ro_id, ro_bool, ro_payload } +ro_elt |= element route_origin { ctl_sr, self_id, ro_id } +ro_elt |= element route_origin { ctl_gq, self_id, ro_id } +ro_elt |= element route_origin { ctl_gr, self_id, ro_id, ro_payload } +ro_elt |= element route_origin { ctl_lq, self_id } +ro_elt |= element route_origin { ctl_lr, self_id, ro_id, ro_payload } +ro_elt |= element route_origin { ctl_dq, self_id, ro_id } +ro_elt |= element route_origin { ctl_dr, self_id, ro_id } + +# <list_resources/> element + +list_resources_elt = element list_resources { + ( attribute type { "query" }, tag, self_id, child_id ) | + ( attribute type { "reply" }, tag, self_id, child_id, + attribute valid_until { xsd:token { maxLength="1024" } }, + attribute subject_name { xsd:token { maxLength="1024" } }?, + attribute as { xsd:token { maxLength="1024" } }?, + attribute ipv4 { xsd:token { maxLength="1024" } }?, + attribute ipv6 { xsd:token { maxLength="1024" } }? + ) +} + +# <report_error/> element + +report_error_elt = element report_error { + tag, self_id, + attribute error_code { xsd:token { maxLength="1024" } }, + xsd:string { maxLength="512000" }? +} diff --git a/rpkid/left-right-schema.rng b/rpkid/left-right-schema.rng new file mode 100644 index 00000000..e0917fa9 --- /dev/null +++ b/rpkid/left-right-schema.rng @@ -0,0 +1,948 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + $Id$ + + RelaxNG (Compact Syntax) Schema for RPKI left-right protocol. + + libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so + run the compact syntax through trang to get XML syntax. +--> +<grammar ns="http://www.hactrn.net/uris/rpki/left-right-spec/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- Top level PDU --> + <start> + <element name="msg"> + <attribute name="version"> + <data type="positiveInteger"> + <param name="maxInclusive">1</param> + </data> + </attribute> + <zeroOrMore> + <choice> + <ref name="self_elt"/> + <ref name="bsc_elt"/> + <ref name="parent_elt"/> + <ref name="child_elt"/> + <ref name="repository_elt"/> + <ref name="ro_elt"/> + <ref name="list_resources_elt"/> + <ref name="report_error_elt"/> + </choice> + </zeroOrMore> + </element> + </start> + <!-- Tag attributes for bulk operations --> + <define name="tag"> + <optional> + <attribute name="tag"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + </define> + <!-- + Combinations of action and type attributes used in later definitions. + The same patterns repeat in most of the elements in this protocol. + --> + <define name="ctl_cq"> + <attribute name="action"> + <value>create</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_sq"> + <attribute name="action"> + <value>set</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_gq"> + <attribute name="action"> + <value>get</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_lq"> + <attribute name="action"> + <value>list</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_dq"> + <attribute name="action"> + <value>destroy</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_cr"> + <attribute name="action"> + <value>create</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_sr"> + <attribute name="action"> + <value>set</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_gr"> + <attribute name="action"> + <value>get</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_lr"> + <attribute name="action"> + <value>list</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_dr"> + <attribute name="action"> + <value>destroy</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <!-- Base64 encoded DER stuff --> + <define name="base64"> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </define> + <!-- How we wrap trust anchor elements --> + <define name="cms_ta"> + <element name="cms_ta"> + <ref name="base64"/> + </element> + </define> + <define name="https_ta"> + <element name="https_ta"> + <ref name="base64"/> + </element> + </define> + <!-- Base definition for all fields that are really just SQL primary indices --> + <define name="sql_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </define> + <!-- <self/> element --> + <define name="self_bool"> + <optional> + <attribute name="rekey"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="reissue"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="revoke"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="run_now"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="publish_world_now"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="clear_extension_preferences"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="self_payload"> + <optional> + <attribute name="use_hsm"> + <choice> + <value>yes</value> + <value>no</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="crl_interval"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <zeroOrMore> + <element name="extension_preference"> + <attribute name="name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <data type="string"> + <param name="maxLength">512000</param> + </data> + </element> + </zeroOrMore> + </define> + <define name="self_id"> + <attribute name="self_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_cq"/> + <ref name="self_bool"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="self_bool"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_lq"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + </element> + </define> + <!-- <bsc/> element. Key parameters hardwired for now. --> + <define name="bsc_bool"> + <optional> + <attribute name="generate_keypair"> + <value>yes</value> + </attribute> + <optional> + <attribute name="key_type"> + <value>rsa</value> + </attribute> + </optional> + <optional> + <attribute name="hash_alg"> + <value>sha256</value> + </attribute> + </optional> + <optional> + <attribute name="key_length"> + <value>2048</value> + </attribute> + </optional> + </optional> + <optional> + <attribute name="clear_signing_certs"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="bsc_id"> + <attribute name="bsc_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="bsc_payload"> + <zeroOrMore> + <element name="signing_cert"> + <ref name="base64"/> + </element> + </zeroOrMore> + <optional> + <element name="public_key"> + <ref name="base64"/> + </element> + </optional> + </define> + <define name="bsc_pkcs10"> + <optional> + <element name="pkcs10_cert_request"> + <ref name="base64"/> + </element> + </optional> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="bsc_bool"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_pkcs10"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_bool"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_pkcs10"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + </element> + </define> + <!-- <parent/> element --> + <define name="parent_id"> + <attribute name="parent_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="parent_bool"> + <optional> + <attribute name="rekey"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="reissue"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="revoke"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="parent_payload"> + <optional> + <attribute name="peer_contact_uri"> + <data type="anyURI"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="sia_base"> + <data type="anyURI"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="bsc_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="repository_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="sender_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="recipient_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <ref name="cms_ta"/> + </optional> + <optional> + <ref name="https_ta"/> + </optional> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="parent_bool"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="parent_id"/> + <ref name="parent_bool"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <!-- <child/> element --> + <define name="child_id"> + <attribute name="child_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="child_bool"> + <optional> + <attribute name="reissue"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="child_payload"> + <optional> + <attribute name="bsc_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <ref name="cms_ta"/> + </optional> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="child_bool"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="child_id"/> + <ref name="child_bool"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="child_id"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="child_id"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <!-- <repository/> element --> + <define name="repository_id"> + <attribute name="repository_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="repository_payload"> + <optional> + <attribute name="peer_contact_uri"> + <data type="anyURI"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="bsc_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <ref name="cms_ta"/> + </optional> + <optional> + <ref name="https_ta"/> + </optional> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="repository_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <!-- <route_origin/> element --> + <define name="ro_id"> + <attribute name="route_origin_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="ro_bool"> + <optional> + <attribute name="suppress_publication"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="ro_payload"> + <optional> + <attribute name="as_number"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv4"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv6"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="ro_bool"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="ro_id"/> + <ref name="ro_bool"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <!-- <list_resources/> element --> + <define name="list_resources_elt"> + <element name="list_resources"> + <choice> + <group> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + <ref name="self_id"/> + <ref name="child_id"/> + </group> + <group> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + <ref name="self_id"/> + <ref name="child_id"/> + <attribute name="valid_until"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <optional> + <attribute name="subject_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="as"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv4"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv6"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + </group> + </choice> + </element> + </define> + <!-- <report_error/> element --> + <define name="report_error_elt"> + <element name="report_error"> + <ref name="tag"/> + <ref name="self_id"/> + <attribute name="error_code"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <optional> + <data type="string"> + <param name="maxLength">512000</param> + </data> + </optional> + </element> + </define> +</grammar> diff --git a/rpkid/make-relaxng.py b/rpkid/make-relaxng.py new file mode 100644 index 00000000..8011893a --- /dev/null +++ b/rpkid/make-relaxng.py @@ -0,0 +1,27 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Script to generate rpki/relaxng.py.""" + +print "# Automatically generated, do not edit." +print +print "import lxml.etree" + +for varname, filename in (("left_right", "left-right-schema.rng"), + ("up_down", "up-down-schema.rng")): + f = open(filename) + print "\n## @var %s\n## Parsed RelaxNG %s schema\n%s = lxml.etree.RelaxNG(lxml.etree.fromstring('''%s'''))" % (varname, varname, varname, f.read()) + f.close() diff --git a/rpkid/resource-cert-samples.py b/rpkid/resource-cert-samples.py new file mode 100644 index 00000000..987734cc --- /dev/null +++ b/rpkid/resource-cert-samples.py @@ -0,0 +1,248 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Generate an RPKI test repository. + +This script generates a toy RPKI repository for test purposes. It's +designed to be relatively easy to reconfigure, making it simple to +test whatever is of interest on a given day, without a lot of setup +overhead. + +Outputs are a bunch of config files for the OpenSSL CLI tool and a +makefile to drive everything. +""" + +import rpki.resource_set, os + +subdir = "resource-cert-samples" +openssl = "../../openssl/openssl/apps/openssl" +keybits = 2048 + +def main(): + """Main program, including the toy database itself.""" + + db = allocation_db() + db.add("ISP1", ipv4="192.0.2.1-192.0.2.33", asn="64533") + db.add("ISP2", ipv4="192.0.2.44-192.0.2.100") + db.add("ISP3", ipv6="2001:db8::44-2001:db8::100") + db.add("ISP4", ipv6="2001:db8::10:0:44/128", asn="64544") + db.add("ISP5a", ipv4="10.0.0.0/24", ipv6="2001:db8::a00:0/120") + db.add("ISP5b", ipv4="10.3.0.0/24", ipv6="2001:db8::a03:0/120") + db.add("ISP5c", asn="64534-64540") + db.add("LIR1", children=["ISP1", "ISP2"]) + db.add("LIR2", children=["ISP3", "ISP4"]) + db.add("LIR3", children=["ISP5a", "ISP5b", "ISP5c"]) + db.add("RIR", children=["LIR1", "LIR2", "LIR3"]) + + if not os.path.isdir(subdir): + os.mkdir(subdir) + + for i in db: + write_maybe("%s/%s.cnf" % (subdir, i.name), i.cfg_string()) + + write_maybe("%s/Makefile" % subdir, + "# Automatically generated, do not edit.\n" + + "".join([i.makefile_rules() for i in db])) + +def write_maybe(name, new_content): + """Write a file if and only if its contents have changed. + This simplifies interactions with "make". + """ + old_content = None + if os.path.isfile(name): + f = open(name, "r") + old_content = f.read() + f.close() + if old_content != new_content: + print "Writing", name + f = open(name, "w") + f.write(new_content) + f.close() + +class allocation_db(list): + """Class to represent an allocation database.""" + + def __init__(self): + self.allocation_map = {} + + def add(self, name, **kw): + """Add a new entry to this allocation database. + All arguments passed through to the allocation constructor. + """ + self.insert(0, allocation(name = name, allocation_map = self.allocation_map, **kw)) + +class allocation(object): + """Class representing one entity holding allocated resources. + + In order to simplify configuration, this class automatically + computes the set of resources that this entity must hold in order to + serve both itself and its children. + """ + + parent = None + + def __init__(self, name, asn = None, ipv4 = None, ipv6 = None, children = [], allocation_map = None): + """Create a new allocation entry. + + This binds the parent attributes of any children, and computes the + transitive closure of the set of resources this entity needs. + """ + self.name = name + self.children = [allocation_map[i] for i in children] + for child in self.children: + assert child.parent is None + child.parent = self + self.asn = self.summarize("asn", rpki.resource_set.resource_set_as(asn)) + self.ipv4 = self.summarize("ipv4", rpki.resource_set.resource_set_ipv4(ipv4)) + self.ipv6 = self.summarize("ipv6", rpki.resource_set.resource_set_ipv6(ipv6)) + allocation_map[name] = self + + def summarize(self, attrname, seed = None): + """Compute the transitive resource closure for one resource attribute.""" + if seed is None: + seed = getattr(self, attrname) + for child in self.children: + seed = seed.union(child.summarize(attrname)) + return seed + + def __str__(self): + return "%s\n ASN: %s\n IPv4: %s\n IPv6: %s" % (self.name, self.asn, self.ipv4, self.ipv6) + + def cfg_string(self): + """Generate the OpenSSL configuration file needed for this entity.""" + keys = { "self" : self.name, + "keybits" : keybits, + "no_parent" : "#", + "no_asid" : "#", + "no_addr" : "#", + "parent" : "???", + "asid" : "???", + "addr" : "???" } + if self.parent: + keys["no_parent"] = "" + keys["parent"] = self.parent.name + if self.asn: + keys["no_asid"] = "" + keys["asid"] = ",".join(["AS:" + str(x) for x in self.asn]) + if self.ipv4 or self.ipv6: + keys["no_addr"] = "" + keys["addr"] = ",".join(["IPv4:" + str(x) for x in self.ipv4] + ["IPv6:" + str(x) for x in self.ipv6]) + return openssl_cfg_fmt % keys + + def makefile_rules(self): + """Generate the makefile rules needed for this entity.""" + keys = { "self" : self.name, + "keybits" : keybits, + "openssl" : openssl } + if self.parent: + keys["signconf"] = "%s.cnf" % self.parent.name + keys["signdeps"] = "%s.key" % self.parent.name + else: + keys["signconf"] = "%s.cnf -selfsign" % self.name + keys["signdeps"] = "%s.key" % self.name + return makefile_fmt % keys + +makefile_fmt = '''\ + +all:: %(self)s.cer + +%(self)s.key: + %(openssl)s genrsa -out $@ %(keybits)d + +%(self)s.req: %(self)s.key %(self)s.cnf Makefile + %(openssl)s req -new -config %(self)s.cnf -key %(self)s.key -out $@ + +%(self)s.cer: %(self)s.req %(self)s.cnf %(signdeps)s Makefile + @test -d %(self)s || mkdir %(self)s + @test -f %(self)s/index || touch %(self)s/index + @test -f %(self)s/serial || echo 01 >%(self)s/serial + %(openssl)s ca -batch -out $@ -in %(self)s.req -extfile %(self)s.cnf -config %(signconf)s + + +show_req:: + %(openssl)s req -noout -text -in %(self)s.req -config /dev/null + +show_cer:: + %(openssl)s x509 -noout -text -in %(self)s.cer +''' + +openssl_cfg_fmt = '''# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = %(self)s.cer +serial = %(self)s/serial +private_key = %(self)s.key +database = %(self)s/index +new_certs_dir = %(self)s +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = %(keybits)d +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY %(self)s + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/%(self)s/ +%(no_parent)sauthorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/%(parent)s.cer +%(no_asid)ssbgp-autonomousSysNum = critical,%(asid)s +%(no_addr)ssbgp-ipAddrBlock = critical,%(addr)s + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +%(no_parent)sauthorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/%(self)s/ +%(no_parent)sauthorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/%(parent)s.cer +%(no_asid)ssbgp-autonomousSysNum = critical,%(asid)s +%(no_addr)ssbgp-ipAddrBlock = critical,%(addr)s + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always +''' + +main() diff --git a/rpkid/resource-cert-samples/.stamp b/rpkid/resource-cert-samples/.stamp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/.stamp diff --git a/rpkid/resource-cert-samples/ISP1.cer b/rpkid/resource-cert-samples/ISP1.cer new file mode 100644 index 00000000..db526ea5 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP1.cer @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 2f:cc:ba:e1:32:d5:77:93:89:d2:62:00:83:52:99:02:11:31: + 50:c2:8f:84:ba:52:22:cd:76:f0:b6:ef:f1:3d:9e:20:02:11: + be:41:38:d0:88:df:2f:8b:f8:86:0c:f7:f4:50:4a:5e:7a:e8: + b2:63:9a:dc:eb:0a:eb:c8:a4:3c:b5:83:c8:ef:22:61:28:35: + 14:23:1e:be:f6:2b:af:76:59:a3:1c:47:e9:db:60:0f:5a:18: + 87:c3:c5:96:27:68:bd:2d:cc:24:e2:b6:e9:8d:5e:7f:ba:d9: + bc:7d:5a:14:67:8c:17:40:ea:09:31:4d:83:39:e0:a9:e7:eb: + fe:a3:37:cc:f9:45:80:17:20:57:50:be:38:48:6a:e5:4f:13: + 55:05:07:2a:7b:9f:f2:da:96:27:a2:df:67:07:44:6c:c5:a7: + 14:73:ac:58:97:83:5c:28:e3:4b:f0:18:f7:9d:be:6b:50:e9: + 90:c8:64:5c:6d:17:98:ed:8c:ba:b0:2c:26:61:bc:d2:75:a8: + 30:63:7a:5e:61:62:aa:91:e8:b2:11:b1:7d:b7:65:46:c9:17: + 02:5a:e9:da:96:fa:5d:1b:de:0d:ff:c0:5c:33:b5:81:6e:a5: + 3b:cc:11:c8:b0:7e:88:bc:d9:98:2c:96:c1:ed:fe:98:ff:d3: + f1:96:e2:5c +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBGjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAC/MuuEy +1XeTidJiAINSmQIRMVDCj4S6UiLNdvC27/E9niACEb5BONCI3y+L+IYM9/RQSl56 +6LJjmtzrCuvIpDy1g8jvImEoNRQjHr72K692WaMcR+nbYA9aGIfDxZYnaL0tzCTi +tumNXn+62bx9WhRnjBdA6gkxTYM54Knn6/6jN8z5RYAXIFdQvjhIauVPE1UFByp7 +n/Laliei32cHRGzFpxRzrFiXg1wo40vwGPedvmtQ6ZDIZFxtF5jtjLqwLCZhvNJ1 +qDBjel5hYqqR6LIRsX23ZUbJFwJa6dqW+l0b3g3/wFwztYFupTvMEciwfoi82Zgs +lsHt/pj/0/GW4lw= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP1.cnf b/rpkid/resource-cert-samples/ISP1.cnf new file mode 100644 index 00000000..b43440bf --- /dev/null +++ b/rpkid/resource-cert-samples/ISP1.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP1.cer +serial = ISP1/serial +private_key = ISP1.key +database = ISP1/index +new_certs_dir = ISP1 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP1 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP1/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR1.cer +sbgp-autonomousSysNum = critical,AS:64533 +sbgp-ipAddrBlock = critical,IPv4:192.0.2.1-192.0.2.33 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP1/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR1.cer +sbgp-autonomousSysNum = critical,AS:64533 +sbgp-ipAddrBlock = critical,IPv4:192.0.2.1-192.0.2.33 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP1.key b/rpkid/resource-cert-samples/ISP1.key new file mode 100644 index 00000000..515efd60 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP1.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA64BUenRL5IEV0CUtXiG+R+Yxq+L+eVVItzZVPdwRiFu3Nr7T +u9cWjfhL9MW9NMSOLGeX5icQQMU29LZsuSmCLnawKepDmtEw3gWhwVR8F2cd/Cnd +gFOygTDbE+4+5l3HvD2mEW2Bd7efPjbffNbSWiI2aHwUzKxU7a794s2xo12pZewb +i0vPgI6mmI9psaY1vWnJLmZ/IhFmVsV1TIGjbklxDfV1hxPoYugaDKgwgWq+kFkj +O2HAFV9ov7XJP686on+AAXj29FXK7sqNCJvFPnSYArILptjobniIe5V2tsq+8YCp +3eg8gJHOP/0L3bfYpoyUIAcZdPqG/8uXw/ak5wIDAQABAoIBAQDGU9TRK4+eaHeO +S0DhvVkaA+pg71GPrRsH8GHpLqQ1ScgJ+rslvgXomeqdwMmO3tk83CE4Wj19zphx +jhAR/7r6lknVgsxcXT/iOqv2vMekjdraugcoQ1RZKGPXbRTbvK6xANoSYz5dK+6X +3m5oHCIadiWL6LM7iwYbBPwbPU8UW/bevhjBGLQLaeFooQ/MFFxKiVnvTMd6lzGA +M9r83GcvB7S+rj6TcJRFq9YDajtjHoOeTNljy7bTPlbG+wtxVK3y6/BbH0tMO9mv +snyktOyLWB/wue9/9H46Hzt8vExw8URT0k/hvJeTOwemIpWy7++QXRa+vW/02kqq +A6GFhhbBAoGBAPqZ43SzlNPj8hccbjsjTQfoq4iW3BJTyMfba+VZfs+g+d+Rg60I +UKnrCM4SCDOiw6d3sI+lrkyOepgzW5FdwORvncYIxUCxonDzwVv4uAVSR6JMl47X +MrJkMm4lImo/VzSxRyYDmYaXARGNiSQN73Bv9rVm+auDIW3hb08ofoSVAoGBAPCT +KcDbty6A1ANInSde3pOLw9WvJYmHhvCHH/6sNsuV4NxzCuYPvjLmJzrW0NNvBstp +xZhxWYd+x9MofU9jUmrLfk1TugcGl2txBCl++u+HhS9ClMpkilowSHOiqvaWHLkE +3CyYiI3Wevqo+utiqaJItYa5jXQ+BJbtiSqeoAiLAoGBALhAFw1B0AXujZtSavWO +Id/TwPK/QHU1JuVSvcS2BVexGqa2/WJmP7B+v02L0n3siQADL0yeW0WsaBSphgSe +MumB6zWkUysar71uatctSleXRFXfDHuYW4zvwGhdYy1M/tgeE5qugN2E/uMh9hgN +KuO3XmPHn3/r/NMmMcm4kzT1AoGBANUwxLaIvttyBO/oAIRsOPgtylzpum0W8gji +5gKM4H4nkr4pIMZhux5mAOvOg/5qjG3kjNubz0gYnMJORkX88YN8U6/4+4jQWY03 ++QVA5uUvhmIsMajt0gE8emgnBjRBMLDxUqAeiByRrifFaZ8Aru0GW/9JHcaeUvjh +BUYEjjMjAoGAW3wL8KyxoJMfC6BRC1rU6ZQovwVLa0dpRaUNh5Qi/G4wkzRKiu7l +04MXoMggDF1XOl4noyjFsbnaZRUAbfVXalHOMIGWMXVlQy7u/RXOXcVJ2rgZj5z+ +Tt9aoZ1exEXzkm+IMfj8GqsXuv5qcgN1WibkhrC4KpJFbEFz35FGBTI= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP1.req b/rpkid/resource-cert-samples/ISP1.req new file mode 100644 index 00000000..eebdcca1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP1.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDiTCCAnECAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlV +SLc2VT3cEYhbtza+07vXFo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rR +MN4FocFUfBdnHfwp3YBTsoEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMys +VO2u/eLNsaNdqWXsG4tLz4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT +6GLoGgyoMIFqvpBZIzthwBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY +6G54iHuVdrbKvvGAqd3oPICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaCC +AScwggEjBgkqhkiG9w0BCQ4xggEUMIIBEDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBRm7CkhLnaDGTntju23BqhM5Q4uETAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYB +BQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0lTUDEvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAoYocnN5bmM6 +Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAaBggrBgEFBQcBCAEB +/wQLMAmgBzAFAgMA/BUwKQYIKwYBBQUHAQcBAf8EGjAYMBYEAgABMBAwDgMFAMAA +AgEDBQHAAAIgMA0GCSqGSIb3DQEBBQUAA4IBAQCx9lXfyZUDlBicMfvtaMwLWtGr +kkYIccWF1QALOSihij3D1eZk5gRVElivTHwFr/FAVceNmbWij7Bj62qV19ayVju4 +kfuYQKzAA+ncMk4VxYCrJAbhcnF7OCwGM90S5MX2n/SfHqaufNv86aJCJ/q09Knl +wta4E45lKUt3GGwHPeXxqCPGqmtUOFt1L//ZDBn9NEB9xZQK4+iZGYvx1TVfXLR6 +w7uUIwkWKD0mY1+JJ2iJuFWvs4hWiWQFnesMEBthIYIWEceXrvYK96jG3Q6PwpxK +zLrGOdYQunifeSNoxis2jJ8cyKcBNNEa+XxEc1IJP5ySJyfJU651IGboFNiL +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP1/index b/rpkid/resource-cert-samples/ISP1/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP1/index diff --git a/rpkid/resource-cert-samples/ISP1/serial b/rpkid/resource-cert-samples/ISP1/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP1/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/ISP2.cer b/rpkid/resource-cert-samples/ISP2.cer new file mode 100644 index 00000000..e6fdd880 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP2.cer @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 3d:68:dd:9f:54:93:58:2f:8b:c5:22:5a:10:22:09:ed:5d:90: + c9:57:ea:9f:e9:99:eb:58:42:26:38:81:ef:14:a0:3f:64:ca: + 06:ae:87:24:3d:6a:d5:94:b7:78:95:8d:00:7d:5b:eb:6d:2f: + 72:ff:4c:a6:a9:a2:cf:9b:fa:41:04:b2:71:b4:cf:eb:91:0e: + 71:98:72:05:84:b0:a2:bb:fe:68:6f:e3:92:f9:a6:c9:97:19: + 79:c5:39:c0:87:ad:e7:89:bb:bc:84:86:ee:87:55:31:be:da: + 26:8d:e8:84:bf:44:94:0b:b4:e5:52:bb:1a:0d:04:d6:a6:3c: + 66:ef:d1:44:3b:a1:b2:bc:a3:8e:5a:43:39:28:a0:2a:6a:10: + 3b:da:b6:5f:bd:e0:d7:ba:c5:d3:51:de:79:39:8f:92:91:a4: + ca:cd:62:b4:66:a1:02:f3:50:91:27:22:1f:bc:3d:68:da:e0: + 15:6c:9a:b0:1b:49:e2:53:84:3a:d3:75:09:87:d5:29:d8:58: + 86:8d:38:8a:87:fa:2d:43:f0:3a:06:e5:58:e9:32:84:c4:3f: + d0:c2:cd:2b:2e:75:ec:d7:dc:3b:39:14:0f:e7:99:23:1f:88: + 84:9f:a6:73:90:4b:e4:60:92:07:c5:90:a4:f2:ed:e3:7e:a8: + 8c:2d:f6:e8 +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBGTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBAD1o3Z9Uk1gvi8UiWhAiCe1dkMlX6p/pmetYQiY4ge8UoD9k +ygauhyQ9atWUt3iVjQB9W+ttL3L/TKapos+b+kEEsnG0z+uRDnGYcgWEsKK7/mhv +45L5psmXGXnFOcCHreeJu7yEhu6HVTG+2iaN6IS/RJQLtOVSuxoNBNamPGbv0UQ7 +obK8o45aQzkooCpqEDvatl+94Ne6xdNR3nk5j5KRpMrNYrRmoQLzUJEnIh+8PWja +4BVsmrAbSeJThDrTdQmH1SnYWIaNOIqH+i1D8DoG5VjpMoTEP9DCzSsudezX3Ds5 +FA/nmSMfiISfpnOQS+RgkgfFkKTy7eN+qIwt9ug= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP2.cnf b/rpkid/resource-cert-samples/ISP2.cnf new file mode 100644 index 00000000..befdf77b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP2.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP2.cer +serial = ISP2/serial +private_key = ISP2.key +database = ISP2/index +new_certs_dir = ISP2 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP2 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP2/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR1.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv4:192.0.2.44-192.0.2.100 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP2/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR1.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv4:192.0.2.44-192.0.2.100 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP2.key b/rpkid/resource-cert-samples/ISP2.key new file mode 100644 index 00000000..fdff214b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP2.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA0HffxCGvG1prqKco10PIm20l2I1/kSvjlf2SYKwUEtcjaIVL +Dtsr5jjgSNsYN49AwJBYDj8JZ1+OPwR1BmCSQvPkRQQ1lV3pIkIs9lymfXmM4QgZ +fDWdOv3n/5spte6JR8wNg6Dhc68fCYSoC4PMeYi/fB1z1qtCG2SaXBmDK53lrUxY +BXaVcCPupcAxyqKnyB0e8snyPTiCwlPlVIbyfLFz4dzphnMIrFk7vi9YwULFgBiM +OgoqMvb+KNAoUoPGMGlRkFkZm9PUwuBSasFOWZoY5HguV/l/K112KMnJxX7lQ6Gb +aNIGHL4/afnC+p5PaM9jb9tt/Gc1wLFuCjfsMwIDAQABAoIBAQCXyZCOGBCNlAqr +Y/risiIQuSpDQNPPeetdvKGl7eU3ypmnctYx3Pdby7HSmmRJn+5/xxm2VcOdFwBV +dgNXP11/jmF4txXkydoD7bcbMl6vIZ+oAeO8grUWzOTtQabfJu2h7zsvyiYduzaY +EZThvXdWTnFOB4velBewJlIWGSVezWqRr5T156dGA6RetSIZhGidm+HGA2o5cSPW +jRC9gPL9PGEXmjpFeKqLMobIZvPnSnM03oZ76IJ/B/nInfk3uCBGmldspBa3Pcyl +mP85VfYR83UQUigZeVHxgQN+ijDSGJHLp5dXCfkp/DO0MiRtobHBgvRP8+e8t2J7 +p2q+bRaBAoGBAOfyNu6z26DGIm1iYBeK114EiN/cXzIUD62eFmU9DESiGIrJzrfJ +xpJyb70v42nCXCFoyM4HLeNqXEGhzOb3s1ueUlSqMoxp2RJ8ygedlN/YwtAb8+4+ +sQjQxGH1zwDbKeNSvKU3wtNs1HC1FU3I7yZaYc2NxB2y1Qmct/EIvO+TAoGBAOYW +XERTVFkTDjTzn8orgGIkS0FtXTgdQMDBvJj1yiQCJn94imQrEQq/XMY/Kp2/w/W8 +rdtOWDlPP7vDLOtsFOzsAxsIkvfJpt/plpU1zaNN/BTthE1BX1HY1ql74QE5Kp13 +gzVwmrcaR79nZz/hH/yLBz8bcK7YTV38MzkDMrThAoGBAK3uo6TiuOraSYzPPZHJ +6vC049NDVRufkZY3O0IVwnJhP5gr91k49TByojozhAyV1DK1egeNuKqV4rLQ22/E +BfrJQaH9s0Q6R66mZ3XIhJBL4uLeY1CgMG+U5f8zrlRNBR9TtuUKaI3VSYVvNZeL ++1I+aqMTESLYLQs1O3aDf/MDAoGBAKKjSaMOWAACpTcuwlNQvpYg24Uq/gqtOtlF +2L8ydilPz9Co7wHxI0G6lKSZf9Ez/RtVvHrZfSk9aGqbgsQCiSQTi/pu7Bv00V1T +KxrbhjkZ5ccRQUSuoecj5FC2/Qw1UXcvRHLg3qvxCqg0OlqAEnEcAQpNpjAhO0bk +/3wcU5phAoGAWkhNG8ehVyEeoAbw4A/ij66C3QjTQVMISqzGPERhxKKfAPdmgOeZ +C6Gs+XTV3Y5w6cO6S74lLNvI0n2C759P4eAk2HxN/NwC5yxJNH/z+3lIV4LfY54+ +O96PzPOAAaHbjl7LklcM/E3AEZgI0Sx+U9yr+EQcijoR0QvyjdFXY38= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP2.req b/rpkid/resource-cert-samples/ISP2.req new file mode 100644 index 00000000..63ee5838 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP2.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDazCCAlMCAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er +45X9kmCsFBLXI2iFSw7bK+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd +6SJCLPZcpn15jOEIGXw1nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9ar +QhtkmlwZgyud5a1MWAV2lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZz +CKxZO74vWMFCxYAYjDoKKjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5 +fytddijJycV+5UOhm2jSBhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaCC +AQkwggEFBgkqhkiG9w0BCQ4xgfcwgfQwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUc7IWGs3c1zBgD/qBlfii9U6V860wDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9JU1AyLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMS5jZXIwKQYIKwYBBQUHAQcBAf8E +GjAYMBYEAgABMBAwDgMFAsAAAiwDBQDAAAJkMA0GCSqGSIb3DQEBBQUAA4IBAQAA +OhLVxJb0yeEqJ1TPd9J95a+mbWXtF2QbEDk6cJ+9Xd+5S/G7e7O7oVZfDyN4K5VT +IsI+G4Rm9+bt1OaGsFz5DUC7fxVUnvTWykP8w/LMBdJcLxVc/ugPvKQZ0Z6TxaZo +excGiDlkYCdUUxl3CoALC/pIMnNruqHCad2b9WkphGyk89diN5enRV14bcS622na +FOfmpt+5RqO4EQK3NivX9T6YbLj80vZW95CxI/PRjqt5RsDhl1cYJ5+pexVOa10B +BwA/R7S658Rs35Ad/DWM36DHVrGYBU2IRpyhnsADixZLXxWlhz9CqNvj+DWQvqpa +IH++V9c1MUulNBZdmf7K +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP2/index b/rpkid/resource-cert-samples/ISP2/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP2/index diff --git a/rpkid/resource-cert-samples/ISP2/serial b/rpkid/resource-cert-samples/ISP2/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP2/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/ISP3.cer b/rpkid/resource-cert-samples/ISP3.cer new file mode 100644 index 00000000..e8e63c2a --- /dev/null +++ b/rpkid/resource-cert-samples/ISP3.cer @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + 01:16:7e:4c:bd:b7:d8:6c:23:58:7f:26:76:ac:97:37:06:64: + 2d:a8:66:59:65:d3:9a:1c:d6:79:11:d3:e9:87:cc:1f:a9:9d: + 8b:74:1e:f0:b7:47:58:e9:40:e0:d5:29:2b:1f:5b:89:72:2c: + fe:ca:cf:8a:04:e6:3e:e8:d9:f6:26:15:18:c4:67:10:c4:a8: + 13:59:1b:cc:04:e8:96:a9:68:c8:90:54:e9:16:16:c0:7f:dd: + 1a:7d:5a:af:82:26:70:ff:c4:34:3f:d6:f3:3e:0b:45:61:f9: + a4:5e:59:b9:cf:6b:6b:32:f1:8d:2e:4f:78:de:ac:0d:5f:1e: + b0:59:b2:a9:c5:a4:cc:48:87:50:6c:8d:7d:41:ef:cd:68:4d: + 3b:e7:a9:f2:2d:50:ad:7e:d0:84:51:03:55:b6:a3:f1:e3:0a: + 46:f8:e7:23:b6:7b:76:5d:8b:13:a5:14:ac:07:e5:9c:13:df: + 6f:b2:a0:48:3d:00:3e:f0:16:7f:6d:b4:c0:e7:1f:8d:86:7b: + 9e:6e:31:17:22:98:d4:53:82:6b:21:01:d2:82:10:9f:43:fc: + c5:df:92:56:b9:eb:10:44:dc:46:58:82:3b:05:54:14:58:e1: + 2c:f8:2f:ca:e3:54:0b:d1:f1:87:5a:67:9f:3b:b3:a7:28:b3: + bb:5b:bf:1c +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBGjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEAARZ+TL232Gwj +WH8mdqyXNwZkLahmWWXTmhzWeRHT6YfMH6mdi3Qe8LdHWOlA4NUpKx9biXIs/srP +igTmPujZ9iYVGMRnEMSoE1kbzATolqloyJBU6RYWwH/dGn1ar4ImcP/END/W8z4L +RWH5pF5Zuc9razLxjS5PeN6sDV8esFmyqcWkzEiHUGyNfUHvzWhNO+ep8i1QrX7Q +hFEDVbaj8eMKRvjnI7Z7dl2LE6UUrAflnBPfb7KgSD0APvAWf220wOcfjYZ7nm4x +FyKY1FOCayEB0oIQn0P8xd+SVrnrEETcRliCOwVUFFjhLPgvyuNUC9Hxh1pnnzuz +pyizu1u/HA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP3.cnf b/rpkid/resource-cert-samples/ISP3.cnf new file mode 100644 index 00000000..ded3be5d --- /dev/null +++ b/rpkid/resource-cert-samples/ISP3.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP3.cer +serial = ISP3/serial +private_key = ISP3.key +database = ISP3/index +new_certs_dir = ISP3 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP3 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP3/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR2.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv6:2001:db8::44-2001:db8::100 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP3/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR2.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv6:2001:db8::44-2001:db8::100 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP3.key b/rpkid/resource-cert-samples/ISP3.key new file mode 100644 index 00000000..ad66c7a0 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP3.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA0SR1wUQpEpr+jB0eAaoF6h9HqxqNz9JCoTF9nD5mcs4s3wEX +FUBAlNGubdfK/VLZ7F/wZDCjQnChoW8FLRDusQVlP/LBeITMHWbuNVLHrpl2sWNN +wS4k+/dDLQshDdPWt89gUEk9F1M+K/holX4cxeIecwaMslOhcDnZnuVW/FjQs/OQ +N1puWjvvBb7xZC8xLlpY8jB6c1J/uA1xPGNSFw+3BzvDRrmciLxz3xRavBb8+Hmw +oUGHBflSqDZhYt6QaCGDu4yDR6+7gj5EKJcrAqiBBAUWzb/vngL5VGYqKJl5K7UZ +ENTfNZXzP/oTagZv9Tgo1rYLinBbjXCNNJmWPwIDAQABAoIBAD88rv5JBcJCa0Ui +aLhIGJG584mg9dAo20yyEjD0DTYZcSfcxIYAb4aQABXmcdI3Av2d5Knmqvaj57tQ +PlhqDkIoR30WgblXLgCV5uDorsf0TxdD13bZ5QTqtr0f6Fat/vaFFbIw8u/ik6Hn +8neBMmIDBQHysQgakW3FkC+jWLHj/OgtEfCxa4eE3chJkkiGmTFVnHsYEdv+yZVS +3lLAoRyl6yfU/AH7QSM/UXPq41kkGViKgB4MgIBUuoHxCOnPomlGKZ8A83ba2Prf +h1/RQPWdQCQJkVai4tC3sDsiJPzxF97zTBl2vjXE2TY7Ow2jF+cxY81F3qXGecef +ATrevYECgYEA8YgdTsZqAaPBkWUReqBFJSusxQzcMQQTCN81mPqiGDYqUuTKbG/i +86LGnw/2/J03bhdydak9BbsXqcpClqdV6RcDng49VW0HZsS5mebPqh9dkT7qFhf0 +JE0ocC0MHypl0zti1BfR3GL6yVD1fkzRl72s3tVhRPCJ3uchWBEGcukCgYEA3auo +B8zgw55kYwnlp1AmYbBtHXJYJnMQQ6KhOniLVJQD/EvIAD6cvjU5dyGizZWG9E9A +/rVL8G+A4vekElFiq1X3hED24rh4YNyeyKaJywFJnz416GuJHTn7FDo79149TQ51 +eQAAvdRS1NYNjrHzw+5AbKUe4R2Ay6JfN0j89ucCgYEA0x6cJ5BNdrNx7in+1kYj +SnNbqD4udfXOwZGB4v8pEqq94gk0WwaNxVKB9OVaicLOgb+i/+/3c/vumi4+eDs6 +X+0K72wY9oO/1XedmEXlPRn/iocIzFkRwW1kLHFjyBYiPToKj8NmYBJwjenjPAvf +pJhZ88lmJYFvsdQsFDOFhIkCgYBBcg2xB98QQjJXPzPLexFp5CHDAOBfsbcKkPhT +AAX62Zx3n5QT5mh2i9ZEguzDD7OBa+i/ip06BmGiIQUS125vMXlbVabOdzIrPteu +W+Twx5eJ6V8XGLCprVWgujS8KtmkZ3FtYP/XC9nMtsnX6FgU78GbkgCU7BX7iRvd +gbIV3wKBgQDwLIYE6CuhmD68vELr2PLX8Su9VsxSBBwZKYAfLIOkacANFRSKkngN +eFwWUOzhF6kc1cIrZJHLRUsqYx6VGgWZbXLQ0eOYgicdmXRYAOwH5569i5bQTjvp +wBQ49yr3PKKbJiuNSpHAfXtmN8PlTcH7KOBqWBMzM7+XNld2yEn6Dg== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP3.req b/rpkid/resource-cert-samples/ISP3.req new file mode 100644 index 00000000..778b5d87 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP3.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDhTCCAm0CAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/S +QqExfZw+ZnLOLN8BFxVAQJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiE +zB1m7jVSx66ZdrFjTcEuJPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJT +oXA52Z7lVvxY0LPzkDdablo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5 +nIi8c98UWrwW/Ph5sKFBhwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/ +754C+VRmKiiZeSu1GRDU3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaCC +ASMwggEfBgkqhkiG9w0BCQ4xggEQMIIBDDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBThly4ZcLV//IJPMz1rLN6amzY9fjAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYB +BQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0lTUDMvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAoYocnN5bmM6 +Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLmNlcjBBBggrBgEFBQcBBwEB +/wQyMDAwLgQCAAIwKDAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAA +AAAAAQAwDQYJKoZIhvcNAQEFBQADggEBAMA7nOGLldNHO8nRhTnDGiNPWIf+YRB1 +tsbUmD1IhvZiQQnl4s871cxid0cBAOJpY7glGJZ6XbHmLRtLpROkDHURt23QmFy5 +0RL3iQSRb0/yW7yP5hxtmPyU5FlgM/4Ft5np3OD2n9zNeAI/biH7VUMKQ12CzLf7 +PLBsfBK1dbUojxA8gi2s8xbIH9OMxPqJybx664JPOxR0NTaQRdS55jQhpHG10SxY +mvbB6htt/nM4GG6FKfOsggMp0J6tdWhqJOljFGW07jZwUbHBZX1AsQJAl6B5Ykx7 +4B4SMGLiZXMfG1r72UcWCUlNyd/xo4GT9ay7hB6isl9U2Ac1nsTrdEw= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP3/index b/rpkid/resource-cert-samples/ISP3/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP3/index diff --git a/rpkid/resource-cert-samples/ISP3/serial b/rpkid/resource-cert-samples/ISP3/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP3/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/ISP4.cer b/rpkid/resource-cert-samples/ISP4.cer new file mode 100644 index 00000000..b8a5574d --- /dev/null +++ b/rpkid/resource-cert-samples/ISP4.cer @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 7d:61:80:4e:39:a7:2f:32:90:94:a0:93:18:80:b5:2c:28:44: + ab:84:74:d5:e2:94:b6:7a:b2:1a:ae:54:f1:61:53:c8:b1:fc: + cc:96:0e:44:b3:62:a1:05:a0:e4:d5:ad:0b:96:86:53:0e:f9: + 17:04:e5:30:ab:21:20:3e:91:66:30:08:a4:c2:4e:14:a6:80: + 41:90:0c:a6:d6:14:43:0e:2b:60:55:8f:01:64:d6:72:24:43: + e9:b1:67:6b:da:a1:fe:93:0d:03:85:bb:49:49:13:13:70:db: + a7:a8:70:e5:93:12:7c:4d:fe:ba:d0:13:f4:7e:23:c7:2c:ea: + 7b:a1:2a:75:39:39:ba:b3:58:ec:c6:8e:89:ce:6b:3e:d0:0d: + 90:e5:e0:ef:41:f8:0b:5c:0a:cf:ec:3d:1e:c7:33:ad:2a:57: + 34:cc:77:2a:f7:e6:7c:73:f0:79:c0:34:d1:a5:07:f6:fb:66: + 4a:c4:1f:72:51:30:e5:af:9a:f6:63:da:8d:b3:90:b5:62:9e: + 53:ff:29:77:50:2f:6c:cc:86:80:e9:3a:a9:eb:4b:d2:bf:d0: + c0:77:4f:9e:ed:57:7a:0d:f9:65:93:87:5a:f4:a9:35:8c:4d: + 19:d0:56:a0:36:38:51:5d:52:54:a5:1f:ce:6f:30:7c:27:71: + da:42:79:8e +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBGTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBAH1h +gE45py8ykJSgkxiAtSwoRKuEdNXilLZ6shquVPFhU8ix/MyWDkSzYqEFoOTVrQuW +hlMO+RcE5TCrISA+kWYwCKTCThSmgEGQDKbWFEMOK2BVjwFk1nIkQ+mxZ2vaof6T +DQOFu0lJExNw26eocOWTEnxN/rrQE/R+I8cs6nuhKnU5ObqzWOzGjonOaz7QDZDl +4O9B+AtcCs/sPR7HM60qVzTMdyr35nxz8HnANNGlB/b7ZkrEH3JRMOWvmvZj2o2z +kLVinlP/KXdQL2zMhoDpOqnrS9K/0MB3T57tV3oN+WWTh1r0qTWMTRnQVqA2OFFd +UlSlH85vMHwncdpCeY4= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP4.cnf b/rpkid/resource-cert-samples/ISP4.cnf new file mode 100644 index 00000000..f9effea4 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP4.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP4.cer +serial = ISP4/serial +private_key = ISP4.key +database = ISP4/index +new_certs_dir = ISP4 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP4 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP4/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR2.cer +sbgp-autonomousSysNum = critical,AS:64544 +sbgp-ipAddrBlock = critical,IPv6:2001:db8::10:0:44/128 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP4/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR2.cer +sbgp-autonomousSysNum = critical,AS:64544 +sbgp-ipAddrBlock = critical,IPv6:2001:db8::10:0:44/128 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP4.key b/rpkid/resource-cert-samples/ISP4.key new file mode 100644 index 00000000..20370dc9 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP4.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAswWt+wbbSYGt31AE4Bjo8fSD5iZLnvwtHN/iK1c4SOvEE6P9 +bMXiHNU6/WbX/y7/SrdaxfQZsY2eqElOOyBG2gjesJxxXnepFOJMIA7/xSD68207 +C87hcrb/9XV/PjWvHE/gkkXwH1fOOGw+9i+Wcx9g22OOY7PzNYXpADmSs59Ka73p +oADKvv4neJtEI1NWE0h9zdEBOog2Zk9/8yyfx8RSdR4OPFApyTng/5BNlUdWE+Ew +8zAz7gJgcLC93TuquSqGv+fiqOxkKgsSBQgDfthBuyPeKeUPmzsALk8O9TGR7L00 +Amht13GpjE0j0kOu1/jlaSuuE4YTJzhySHD4HwIDAQABAoIBAQCcCoNPnvZc5+/K +ClF1k8DXxS2C2jZn6Z7Y4DyfUnL4/Kf4BqTKvuEMCMBWR+JVx302fwNcMByFKs/0 +F5Fc8BFR0xFoF7SphtuWHHoGJ4zBIrIapEcnT7gq6V/JcBTtAJYVs3onhVZ7u2lA +vPlUVL5qshsWn3xpY1zGdmZVj9lTPjr186AVg+Di2D8RWKrBiLgT0gy9nK0dX7AU +8C4w/C2b/1Yp6D8L7benbRCRjYcuyoS211B/yC7KDP+YoHv2AYqPXEUdyBMnk+KR +lhw793xI5ec7ryinBtjmiIds0iDrJOztiWgLdGHrxT5OFOUJNjtZ6W9PvYi5Reu7 +vin+ugrhAoGBAOTIA0urho2JA1wsmMYtpUpsr+Ep+4SMpu0Gbrqs9uFHIFYGRrT8 +hgO1yZk3TwJVPsbYiROIIPkv9pJQKGzkyF+zEaJsnR40iybbW3arPr5UqKVauNLc +KbqtChetfY81vA/8HjFB6mKq2K6tdOTqLGhJlX9Y9baNBNrRn0ReLnUtAoGBAMhS +J4suczgkv27PWqa2nmzAxsArsCcubFTYJE0qV6qRbtN3eH+S8c1/tTk29MPRgzX4 ++3oLowRhiArVui79X43Y+6J5akbnLoR3duGOpqdza+UmE5UExokpDag2/hKuUEZu +youzuik3pMipu9rjc45CXGbvuaqg6mw48bnAS4n7AoGBAKFQLpKydQNjMo1RnL9P +/BZIIJOBSKmjiyfhuz3BK6qYvkIp1r1SuSPwkB+KkhkxBjyq/axZ9fX+TbvI7Vgq +0OY5mxuNvhNINT3Gue0overyQp+lImD7gCjyTgV3/Op3lw0mVhuhQKUllfdEswGd +5IX8LH9IuKhpMp0f5U8NoXBZAoGBAL33EqLtYLxcNOHbZ2bzhVcylQgGJh1x66+l +7P70aYBKPGPzRuUML5wmQHBKimDsXVagj7JUOLpd10oXFmGbS7NTkoWoSD2G3Fko +hScvRSFE1ovOyQEnLzNBKD9eLyD+BwhT5mYHAUI3D2BvfcL8sUe17LR9H4AM62HH +uovhLIFjAoGAVa8vZTyEude+ZCu5RmBmNx0N4uj7M2zLTUjWoyssZOnS1z7MIuFL +9xr511YAc3FIkQj1byn7O9CkwaYfEeGaTr18aw7b1BZqOA9Sk329kH3Uahi2JTE1 +0eXQ2ExBRexCq5Aoz8tnmFhTEMS0ECN7poa+VAT7c9OsrDeB0XMOJJ4= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP4.req b/rpkid/resource-cert-samples/ISP4.req new file mode 100644 index 00000000..5c9d865c --- /dev/null +++ b/rpkid/resource-cert-samples/ISP4.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDjDCCAnQCAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578 +LRzf4itXOEjrxBOj/WzF4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53 +qRTiTCAO/8Ug+vNtOwvO4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz +8zWF6QA5krOfSmu96aAAyr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQ +Kck54P+QTZVHVhPhMPMwM+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inl +D5s7AC5PDvUxkey9NAJobddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaCC +ASowggEmBgkqhkiG9w0BCQ4xggEXMIIBEzAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSYz/gAguzX6RdPvXqHYDKlu521DjAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYB +BQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0lTUDQvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAoYocnN5bmM6 +Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLmNlcjAaBggrBgEFBQcBCAEB +/wQLMAmgBzAFAgMA/CAwLAYIKwYBBQUHAQcBAf8EHTAbMBkEAgACMBMDEQAgAQ24 +AAAAAAAAABAAAABEMA0GCSqGSIb3DQEBBQUAA4IBAQBq2qdZveIZPxJTOaKb5JUV +0VlBFjDht7k9mw7dxqvFZ2CL7oNbTTG3n0t9060xR89jp2+4760LdAkNn62MQlzw +p42DZy65fBnNpwDY9+0khoJqZIjYdYnUrW+002S+sxRFToAdpTd13RKre/KFPAx4 +jaMzCZ8ARONVR8TfjT0FGsh/0PpdwNsdihltVqw/SfPGK50kXX1Xlp1Yo82wjmZ/ +R9ohWBBJzcf//GdHp5yBoKFjBD6ZJ7QRP6I/vxYOpq4VrqkCa6MVmsoirRAHVgoe +JsHjusxM9SRyBPaZXywaswuCC3jm1R6s6FYH0df+3IjfNXb6PqUXIFX3/xMIZI44 +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP4/index b/rpkid/resource-cert-samples/ISP4/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP4/index diff --git a/rpkid/resource-cert-samples/ISP4/serial b/rpkid/resource-cert-samples/ISP4/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP4/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/ISP5a.cer b/rpkid/resource-cert-samples/ISP5a.cer new file mode 100644 index 00000000..787aacd7 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5a.cer @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 27 (0x1b) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + 38:f3:dc:20:93:3e:ff:25:8d:0e:90:b3:7f:65:ea:67:69:9a: + f0:6a:a1:77:5b:49:da:26:66:ac:3d:4d:20:a9:39:bb:e1:85: + 8a:a2:eb:5c:e8:b6:d2:d8:6b:04:19:32:cc:a7:1b:f6:24:d9: + 30:ee:ef:e3:d7:9f:85:01:02:6e:4e:4b:ad:af:97:71:59:e2: + 24:b3:29:86:16:79:ae:04:be:9c:43:70:99:63:98:f9:6e:1c: + 8a:69:48:64:90:70:b4:51:e6:12:95:b3:c1:bc:d4:1d:c0:dc: + 3e:cc:af:6e:a5:a5:d2:79:b3:bb:d7:b5:8a:a6:d7:64:83:87: + 8c:54:49:b8:c9:e8:76:18:40:20:ec:2c:52:0a:57:4c:7a:a0: + 87:f2:c7:13:42:24:c6:10:e7:db:d3:4c:6a:d7:65:ec:19:13: + 7c:15:13:74:9b:95:13:0a:91:9f:ad:ad:e7:85:40:16:8d:44: + ff:fa:e7:3b:a1:96:da:46:cb:e8:18:92:7f:9a:42:bb:8b:7f: + 25:bb:da:46:a3:2f:92:59:26:eb:66:17:b9:12:3f:52:58:a7: + b6:31:f6:2a:68:35:11:a7:f0:b9:aa:44:c3:f3:ad:05:7e:3a: + 25:96:9e:01:ce:6b:e5:87:b5:c5:99:da:e3:b6:00:8a:e7:11: + f7:98:16:3a +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBGzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MzIzM1oXDTA4MTAyODE2MzIzM1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEAOPPcIJM+/yWNDpCzf2Xq +Z2ma8Gqhd1tJ2iZmrD1NIKk5u+GFiqLrXOi20thrBBkyzKcb9iTZMO7v49efhQEC +bk5Lra+XcVniJLMphhZ5rgS+nENwmWOY+W4cimlIZJBwtFHmEpWzwbzUHcDcPsyv +bqWl0nmzu9e1iqbXZIOHjFRJuMnodhhAIOwsUgpXTHqgh/LHE0IkxhDn29NMatdl +7BkTfBUTdJuVEwqRn62t54VAFo1E//rnO6GW2kbL6BiSf5pCu4t/JbvaRqMvklkm +62YXuRI/UlintjH2Kmg1EafwuapEw/OtBX46JZaeAc5r5Ye1xZna47YAiucR95gW +Og== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP5a.cnf b/rpkid/resource-cert-samples/ISP5a.cnf new file mode 100644 index 00000000..fa470452 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5a.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP5a.cer +serial = ISP5a/serial +private_key = ISP5a.key +database = ISP5a/index +new_certs_dir = ISP5a +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP5a + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP5a/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR3.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv4:10.0.0.0/24,IPv6:2001:db8::a00:0/120 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP5a/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR3.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv4:10.0.0.0/24,IPv6:2001:db8::a00:0/120 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP5a.key b/rpkid/resource-cert-samples/ISP5a.key new file mode 100644 index 00000000..0bec780e --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5a.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpgIBAAKCAQEA5kuteChr5lAbZYHVjStWd827yUegqjKwLKwf8eSQK8Izb+dT +sdAdqwUnnbeh7qhPyFs2I+MS5FFZJ839eqrcVgWhc6t53TyCso+u+ezANjjmAqr9 +iWAhUlu2M4B15X/9rG7s1JomL34oRRYpR33zinLV5GX69FRvrkgzYsEy8SuDMzZj +YJ68x+eZXVHazS+Pg0cgnunMo3LAcr1JLcRS6m/aQkZxkMevf5/H3QuWljxFn8Dq +ZWpD4/OS1eFzwG4g9Rfl0VjaIbPpDE3w6L18t++ByfVwz6ggfeJq+Rtmqchx1jL4 +cj2DmRkNDGvp+JLNMxeGaj2vDQWUqxzULKRFywIDAQABAoIBAQDf6vFOBa90Dqu0 +tNrZGixG7IkMGlMDaamWpf2hiuULRxYQVlIwb/SI1shAN86BaLG6U8V+e0lhKh+P +7l/qJ7t5AJyNBUvGaxGBYOd3JlV14zjxmyRNsGR12ap8xQjdDueuA2TPCtraDsZE +9llIpBRqp2GFZArwCjFUuesMuGE5z4aqQ1A0lno3bibyGx/bGTWxJi54djyGr/T/ +5htxmoGsAw7PWnJQ0Vi9XQ+ZcHTfVK0KVBUYHnWSRCGuW0oriwT8O5g90dU4O+tI +vFDOAV8ANVAWBCKpQ/YxBS4c/txVUZJpUIDvWmvJiWwrXv5cmzOjvBEX1K/nwjw0 +oFjL0xdRAoGBAPpjxMVzmbDzbDHbctWnKafLVSrY2Guetvs04x+wuVAkSZNMgXpn +vd2ETOmB/rqXf7cv406HctGYUSxcNIOrfQKXy69Ew9w5WwjrExRBLbbFET5kBIn2 +5kCiENydWZuEhK1KwLYKAu5ZN9fQ4zVRyHROPkr8DpCcnGrl6jR/IZLNAoGBAOt0 +pkaYTAX3A7siLulKZpwsRmRvkb+mXJL//K7BqUkFZbesBy6zVBKSStJfpV5aqml/ +GnWgzoSWh2Ur8zV98fnpwOTeYpGSoFLjwapSl4G9+zIeKhNMVj2369FQA5wwWm9v +ey9nuaiOvMdka0A0C7XOR5qxTvp0/4dI+dfp0ir3AoGBANBi3i3ykrOpM5+e4sib +0dg7Kot5Y0zWD7WsA2apfuELAkzb/FpyIptMc3JXZTfHxFwiN8xwgAed+9iueGoo +++Z/jN42nccX2QLoGb3erPwSsNI7DWgBGwopl1z0e9IpjP5oW1BlrqDNkeNEjwQe +J3VcdQ2VD04deTSiWrQMJlX1AoGBAI0STPWLFjGUuDWM25KHM0dq95oBhs/O+zRQ +D7Mc8TKA+1q6xWrjowGliRLWn5wSsnuW3eGQQWwLTH//fy6TkUFtHleCLoiN02UW +dNh5t7DShQiYLhl16U39Plsgl6kjB2ww3RugCArHyq+kqOXEySdaumgix/Ej3F3Q +CXGl9HgtAoGBAK2r9s+RrQX4g/vnrFKXSv9LuxM0tWyAcfg6rug6vcKiWI8zHS6k +zDTJnldKS0q+K76W07oSx2kDJYHeXimXoh9V4LE2n20hoJF4+qRIDLrcMU7nb4Sq +gyE5TaX4CluAMoTCRmdUQFaVZ26nSk4GyCM1aXVQIYeWp7IXiufiyIUc +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP5a.req b/rpkid/resource-cert-samples/ISP5a.req new file mode 100644 index 00000000..66bc9022 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5a.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDfzCCAmcCAQAwHDEaMBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6Cq +MrAsrB/x5JArwjNv51Ox0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3nd +PIKyj6757MA2OOYCqv2JYCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0 +VG+uSDNiwTLxK4MzNmNgnrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQ +x69/n8fdC5aWPEWfwOplakPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDP +qCB94mr5G2apyHHWMvhyPYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGg +ggEcMIIBGAYJKoZIhvcNAQkOMYIBCTCCAQUwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUCfAUC3n7C/+o71S57D65i9DLnOwwDgYDVR0PAQH/BAQDAgEGMEIGCCsG +AQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21iYXRzLXItdXMuaGFj +dHJuLm5ldC9JU1A1YS8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3lu +YzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2VyMDkGCCsGAQUFBwEH +AQH/BCowKDAMBAIAATAGAwQACgAAMBgEAgACMBIDEAAgAQ24AAAAAAAAAAAKAAAw +DQYJKoZIhvcNAQEFBQADggEBABc2bf9ptC+SWMjUqZJ+WSb6DvrU2VKIDK75cbD9 +OVLCBqyjxDcctO1ZT8wXJNwEJaB6P4i83LfSttGpkWr6sBR+H1HVNptuXWo31m6D +rRSZZ+DEx+01nzmEXJ2+Iskm1+/YQbxygqHQqm+i4ca/Y9PXTl1unH69ONdSfD3c +qee4VepkOdru3LWkxoF/oPSg9WRjbBXTOfwJ1jGBTqRGYFA5cvzKKciHPhL0EPOZ +XencgWNNzkumzH60Bu6TVf1TDSne/nDOMdMZaYgwOyaN7nyPXbjr+WhQT9GrZIIi +YI3RaCitfdN9pPS2CLqHWXxHrJ5MdREdefks1XMfQk8dlWo= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP5a/index b/rpkid/resource-cert-samples/ISP5a/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5a/index diff --git a/rpkid/resource-cert-samples/ISP5a/serial b/rpkid/resource-cert-samples/ISP5a/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5a/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/ISP5b.cer b/rpkid/resource-cert-samples/ISP5b.cer new file mode 100644 index 00000000..8f133ac8 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5b.cer @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 3a:6d:f2:b8:e4:50:4d:f6:f0:f3:04:1b:73:bf:36:13:d5:e6: + 70:d9:31:b4:47:b7:5e:ca:8a:25:93:fc:6c:dd:63:5e:09:dc: + 47:d9:d4:43:39:f3:ed:c5:f2:64:d5:ac:72:02:76:f2:07:ca: + a5:d9:1a:e3:9d:6a:7d:90:4c:d5:c7:09:c9:64:dd:38:f0:2f: + ab:0d:5f:e4:13:02:2c:85:02:56:f4:6d:31:07:f9:0b:c7:e9: + a4:0a:ee:13:03:18:9d:81:b8:78:68:d2:99:a3:e4:4f:e7:96: + 86:99:06:10:8c:b5:c2:39:03:8a:94:2e:21:00:67:82:f5:25: + 6c:cb:71:6b:8c:e6:31:0a:19:ed:1a:34:0c:a9:48:ca:c8:69: + fc:91:4e:f9:0c:e5:24:2b:70:52:1c:ff:1c:cf:38:28:17:3a: + 3d:22:a7:fa:93:dd:8f:46:03:2e:b0:ce:10:57:4a:3c:fc:a8: + 1a:a6:c1:0e:fa:09:49:9e:d1:89:b8:4c:b0:7a:5b:76:25:05: + fe:80:d9:8d:c1:9e:84:0b:83:53:16:9a:1e:2d:55:9a:b7:81: + d4:3f:0a:c7:56:ac:87:58:fa:3b:27:77:c6:f6:31:c1:c8:56: + 4a:28:6a:de:20:32:c4:80:b0:d1:36:25:ac:2c:94:28:8a:b8: + 2b:f2:04:f0 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBGjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MzIzM1oXDTA4MTAyODE2MzIzM1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAOm3yuORQTfbw8wQbc782 +E9XmcNkxtEe3XsqKJZP8bN1jXgncR9nUQznz7cXyZNWscgJ28gfKpdka451qfZBM +1ccJyWTdOPAvqw1f5BMCLIUCVvRtMQf5C8fppAruEwMYnYG4eGjSmaPkT+eWhpkG +EIy1wjkDipQuIQBngvUlbMtxa4zmMQoZ7Ro0DKlIyshp/JFO+QzlJCtwUhz/HM84 +KBc6PSKn+pPdj0YDLrDOEFdKPPyoGqbBDvoJSZ7RibhMsHpbdiUF/oDZjcGehAuD +UxaaHi1VmreB1D8Kx1ash1j6Oyd3xvYxwchWSihq3iAyxICw0TYlrCyUKIq4K/IE +8A== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP5b.cnf b/rpkid/resource-cert-samples/ISP5b.cnf new file mode 100644 index 00000000..c7127044 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5b.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP5b.cer +serial = ISP5b/serial +private_key = ISP5b.key +database = ISP5b/index +new_certs_dir = ISP5b +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP5b + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP5b/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR3.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv4:10.3.0.0/24,IPv6:2001:db8::a03:0/120 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP5b/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR3.cer +#sbgp-autonomousSysNum = critical,??? +sbgp-ipAddrBlock = critical,IPv4:10.3.0.0/24,IPv6:2001:db8::a03:0/120 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP5b.key b/rpkid/resource-cert-samples/ISP5b.key new file mode 100644 index 00000000..60313862 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5b.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAv49Z2Pz6HQRwKc57AWQhQNxcQ/5Mr4jIYpu+nHKPiqU0ijsj +jZuKT79mrGhxnP1oWfW/n00utdbj+r3zYFNctxGslQvAh82ZnpRXjewFuN+q/I44 +0w9lbQlg8uGYgXLYUT5BkbMQlfX10PnlXKGF+nEmhePRTAJ/FOIeSoqWaJ7WFqXv +rbWDYs0jdHyCVrTRNFNainphn65UW+/5Vt6Ha0KSvEn0tcM1B0oYR9KSxhwWdHSx +6Tk8UxIFnevcnHIrl00nIXeWfUzOeQz7p7iZa2YgLlacRLTjXoDEfXihtAX3IH0m +HkS/XWkVPHokZ725tQgPM02vOy3nuasdK9b7cwIDAQABAoIBAEURnOW+ITiBNyf7 +ySIxRkQqsCHb+S55dTcIzOt/6v2kn5MPy7vtTyt96blUV1KxlASLtTHtFGCAQOdR +wgUDSbTAbKe4+wx8N12UQxVq+o00KGSzqw1+yaVM8mXgrapPDGwOtHmiROKtMprM +38RMgRBR5//yqq5rYALZnO5nld/WdcthhCjrb6zltE4n9E/jDwIC1ug5vfIX/wWq +6f8lrQ/Lq5IduFntShh8Ld4rQewSjul6wprGsSeG3CLS+9+2cnR2uunhA9c2CS/X +qnZgoUVrDI9ooBU/IQ7y68j+0JPureM/XMy2poyi+KmI8PTz3G6IgEqNDmbcc16Q +K5hvBOECgYEA37OoIV+616WQme4uW2Wmk4ZLu5Qs4VeIIXg1WUi+s3YcHDfL/oib +sNfDy7pEOvGA2F6hO5vuZ2QGZx8J7qJOCE2AbgVbvF4w70ft/g3ftDtZQHhp+NBN +XyeIJeBcY0PVsUMgS4gKPqNib5bSDpMYN2w/rsO4ylSKs/cI5d/GB7sCgYEA2zev +kem0+22dmBCggTWpTfvWxdJkkzMAoxvIfvfrN6Ic6h2Dw29qxYlw8+38PS/Xrw77 +kUhnMfMNvwWTkqQ/i5XLxsZ66Or6f/GEoQQMgsCXAOv4vAFWZVwLVQ3Lu4mcyPmJ +1bX6KKKFpanMof9+54KPOxz+H0uesWBxLleLE6kCgYBTzhJmrl5o+3W4tSpYwzQs +gFtO4qwNn6U4JLiXwlDvGohdaenaaYMqNSr838M/8cm7RXhRxJED2s0rRM2LwPJK +2f4LOaasYv0iJ2hZjQkJlFJTfMj2ldLmmwC+b9csuPUNe4BVy5lK7hqqg24eV6zy +1nLlHh3UbuenlByZQcQGkQKBgQDY1tpKILyuv5zVYA0EAkp4IxYtE5H8sMR+kurd +/OmkXCzxv0QouzsILo2WG+AXvg1A0jcxXEcHd34vZ5qzwNhCgGfTNV06q8Qhbotc +oh6l707u0Ht3rHMDS+rBtSXDWbnGal9XD+xk6W39kloiHBIxekmnlWQhHLHajqUl +y958EQKBgQCIanjEpqaekayux7wQXPiJEAl3vQ71rbasqufX5f2x4TwIu4dUFoVo +PoYfEesJ2iZYkK8jQJA9eGbq8c6AZFDcTkKW7rf3W8pxunXk0qF5FaVQMPl6jMLr +aR6sRBSlwppoBgol/DcTphmTUgeTKhgNMyQ0LAQteLySqgzzouTG9g== +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP5b.req b/rpkid/resource-cert-samples/ISP5b.req new file mode 100644 index 00000000..7ec17a74 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5b.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDfzCCAmcCAQAwHDEaMBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyv +iMhim76cco+KpTSKOyONm4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CH +zZmelFeN7AW436r8jjjTD2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FM +An8U4h5KipZontYWpe+ttYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1 +wzUHShhH0pLGHBZ0dLHpOTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxE +tONegMR9eKG0BfcgfSYeRL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGg +ggEcMIIBGAYJKoZIhvcNAQkOMYIBCTCCAQUwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUbLNllP7Gn0pQnU2LQBqh/ZcXl5IwDgYDVR0PAQH/BAQDAgEGMEIGCCsG +AQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21iYXRzLXItdXMuaGFj +dHJuLm5ldC9JU1A1Yi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3lu +YzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2VyMDkGCCsGAQUFBwEH +AQH/BCowKDAMBAIAATAGAwQACgMAMBgEAgACMBIDEAAgAQ24AAAAAAAAAAAKAwAw +DQYJKoZIhvcNAQEFBQADggEBAA/icNEGnX4wn19sxuN9GlvQnMVPiUeX3rMyFJxp +VODe9wcHWIzz02tXVxaPbsbi5DVQih10HCgw/TC/zYoNjtjL3ygsWUZqCaCGhYUd +hAKJhhZPwCB5ZX3F17JsWxDqDTjc6+DuUXhMS4jbAGWYeOSeTXfHGiP9IErJOL53 +e58y2QVVtlkjweUYy5bvu0xBS4pA/5PBcYIWxvmc+0tYMmaSpNWv80cMvaWnZ/Dd +dzcEJJDiX7QcK8fFu4rzFiS7Kkr6zfzehgdrKBCLpWGoO0dYzYoq5tgShXxFAjR1 +l2Z6vyqq/NSYmTMYVFiyY7zY13gnFX9NyMQEnjsvtuLP4Ls= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP5b/index b/rpkid/resource-cert-samples/ISP5b/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5b/index diff --git a/rpkid/resource-cert-samples/ISP5b/serial b/rpkid/resource-cert-samples/ISP5b/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5b/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/ISP5c.cer b/rpkid/resource-cert-samples/ISP5c.cer new file mode 100644 index 00000000..969f45e5 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5c.cer @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 2c:6e:f1:28:d7:06:69:d5:38:e5:77:75:9c:d0:9f:3b:52:f4: + ff:83:1d:51:70:18:b1:76:57:29:1c:f4:0c:fc:bd:6d:dc:c6: + 95:68:2d:38:fc:5b:b8:66:b8:92:95:3e:0d:cb:f6:49:3f:6e: + 63:01:88:9b:44:7a:d1:7a:48:03:20:73:c7:f1:c8:f6:8d:be: + 1c:6e:ca:28:0e:32:93:90:9a:76:d1:7f:f3:33:55:24:67:65: + fd:05:03:c8:1f:7e:68:7d:c9:83:f9:47:26:d1:dc:4b:04:a2: + 68:bb:74:2c:9c:f3:33:ec:d7:0e:d9:23:f9:a4:10:9e:af:94: + 41:09:a0:67:2d:21:d7:b5:0a:e1:41:b3:b6:4d:bc:8d:74:6c: + f6:b6:32:fe:ee:c4:71:b6:73:e1:bc:2a:25:54:df:91:84:4e: + 15:09:05:98:a1:99:33:48:38:7e:7e:b1:38:73:c7:66:a2:19: + 31:2e:93:86:65:40:20:c0:0f:86:e9:a4:77:d9:61:a5:a4:92: + 35:c7:9c:51:15:a0:dd:21:56:76:a4:d1:75:76:0a:b6:51:9a: + 08:c3:d4:21:ec:86:f0:b7:66:2e:7c:8b:0f:76:5c:29:3d:a6: + 9c:ea:0c:e0:5d:14:14:b5:cc:cc:84:e0:33:95:17:06:11:c4: + d9:d9:98:d1 +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBGTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MzIzM1oXDTA4MTAyODE2MzIzM1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBACxu8SjXBmnVOOV3dZzQnztS9P+DHVFwGLF2Vykc9Az8vW3cxpVoLTj8 +W7hmuJKVPg3L9kk/bmMBiJtEetF6SAMgc8fxyPaNvhxuyigOMpOQmnbRf/MzVSRn +Zf0FA8gffmh9yYP5RybR3EsEomi7dCyc8zPs1w7ZI/mkEJ6vlEEJoGctIde1CuFB +s7ZNvI10bPa2Mv7uxHG2c+G8KiVU35GEThUJBZihmTNIOH5+sThzx2aiGTEuk4Zl +QCDAD4bppHfZYaWkkjXHnFEVoN0hVnak0XV2CrZRmgjD1CHshvC3Zi58iw92XCk9 +ppzqDOBdFBS1zMyE4DOVFwYRxNnZmNE= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/ISP5c.cnf b/rpkid/resource-cert-samples/ISP5c.cnf new file mode 100644 index 00000000..cc689a77 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5c.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = ISP5c.cer +serial = ISP5c/serial +private_key = ISP5c.key +database = ISP5c/index +new_certs_dir = ISP5c +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY ISP5c + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP5c/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR3.cer +sbgp-autonomousSysNum = critical,AS:64534-64540 +#sbgp-ipAddrBlock = critical,??? + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/ISP5c/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/LIR3.cer +sbgp-autonomousSysNum = critical,AS:64534-64540 +#sbgp-ipAddrBlock = critical,??? + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/ISP5c.key b/rpkid/resource-cert-samples/ISP5c.key new file mode 100644 index 00000000..dc7595d0 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5c.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAyIuhJWXf7qJ/VK9SChoa+g11szzp4CnTiSDpUUlnLEPaoCzU +RLOWFKkHd2C5bwHvjlSldKxaZ/gwTRD5rJ+4dWEL9ud86ptcmHpLPsTiWULTGcoP +WA63yIJO5bus/ZLliLL8ZM9uODsYg/znpq77kDbQ4cpNkEEPDzsqwAzZe33oUBP2 +CXOCo9Lju4IIh3/Suw4Oeii2JQK12VH8MzJHR//Pf7zuAAG7BV4uA5qtlTvKwsaH +ZHQ5qllrruCnURoH8o5MjmUv3/KZuuC2ik/AIHJ5mACPDVATPdE+jL3cdKkzqFYd +MXh85wKejQoUEm3TN8d68IQQ/v5NKJcmbgiFoQIDAQABAoIBAC5Y5rMn6irSby75 +HbKr+dQUTEFSMJLX18V3T7SzjB6Ux/AArEX8YxD/R3R1bCWVgvGX6m0eb/5bQ35s +D+evOggWl5dGRH5LzYiHquAkzFLouLTbF9S4Ag1a4DUDvKUVz+pZwy7hKY3hSncm +ebrx8b2QjZHBGU/fWUWh3O1pitGZDJ+D7zN4gsS+Q+L5heVuWlLKGsDBllIFEx+A +lYHik6bnCWASv/ZRxxyv1v9Nc6+S1kLGkWAq/dzdRz5hS6/1/BYkYJYF+N+yOJlh +dc8nknY3RqphRoUfKNF1mo2/CX3TiTIkI9RADl/JG7MvN8QcvsZtPY9HFvl8l3Jr +bMeB+gECgYEA8qWQpwftUj4MFSa6H8N/cNfoNVDt6CRpy3BhqcGKstfdDNWxUEyW +jKQnh4z+bypKuwtAzf26dlJzVz1tpTx81bvTyN/mhCd51ZLG/pWM/rmt0Hqt59M1 +AhDRaBVAN+mXZYv/4ULy0jcBzQJxRtSOGzb0CRT+SFyhlJ2aTBYh5xECgYEA05Tv +tPhEREDYRexYEeOsAs9uxZuM1F07OYCSqsRFWjO3Qg3MvUowtZbPnryT4KCUirQY +GCRt3zNWRkbHczxw6WWsxwv88tEQEb6HU2llZPvqz45MP77LBP7qvmASQmUOX6TI +Qav/SLmuEwPwVrwxI2nbDQtYPryaBq5vBglcVZECgYA1AgBYzP2GYvGmyUAN4lp7 +317mDtj6RsIp5FIhkJtpOIkc3a4PubuF2/KaxS1sQZPzyqCMn6pVYOu7mjrSxyUK +WC8LCgbExg7ynk8EnM0hdJTJH5PQOi6xVdU5ZLMTw98EGxJ6NnLvg37MN4VhkNu+ +jEHBnilyy3GtEsT7bDZZ0QKBgHqc1ej+8rjHB05GL6d2U+lxAlWb1hn/SWICY3x4 +r2QdkjbCPoL3qpChLAJmcB/9jvdudIQRIGb3niitvcnHHfvzwxO6m8SvaOuPiWbK +Lks+Pg43/XH3hDmJ7MmUbSBy5ciBeter8A3aJMm6P55UAvntz1aY23PH4k666XYL +GKoxAoGAB+YRlWhaIeUgTlImA33lZ89g8juxuttShAEZGtMOsX9I7J5XoxktOGI0 +Sqc2eCf/HLvcLrt1g66foAPvLmkxEHqncqLAE7MKIvMIIvCu7GVrVx/8O2vcFDed +QV1Ruj41vFLljQqArXZ3dxCSxNRrWPFOO8c0Thfps2zBfRF1Rq0= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/ISP5c.req b/rpkid/resource-cert-samples/ISP5c.req new file mode 100644 index 00000000..fe5a3802 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5c.req @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDZDCCAkwCAQAwHDEaMBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOng +KdOJIOlRSWcsQ9qgLNREs5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zq +m1yYeks+xOJZQtMZyg9YDrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2Q +QQ8POyrADNl7fehQE/YJc4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4A +AbsFXi4Dmq2VO8rCxodkdDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8N +UBM90T6Mvdx0qTOoVh0xeHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGg +ggEBMIH+BgkqhkiG9w0BCQ4xgfAwge0wDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/BAQDAgEGMEIGCCsGAQUF +BwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2VyMCEGCCsGAQUFBwEIAQH/ +BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEFBQADggEBAEmtz8vZK79t +8D6z0UadBwNhrxSQzoXBJQkjq0rRxAePomXejmnzLdFaCtMkgqVQ/bow4VGlqlzM +tLUb7sqlKFw61vC1K80WwMjag4l3mQv7XJ0BQujhwzVvtfHhnRLuCCnN9yh30yDs +2WE6cRoQl44zHNakXlGTW00sX8kA3o73r9Key40sa0UmOcDLKUvvxP0VCOjYOyl+ +I6V/GNAI+7dBDyAdkEXynOYuAkkcRMPAmgx+Nt+I8lxbyXPRtcD84ZwMbQ95RBBY +QgjxJLABunz5i8L/XFp/6vXBGdLKsLv40IwxoaWCrbxsz5zqD+yemg8r3sXBQCs/ +OuVcypkSpdk= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/ISP5c/index b/rpkid/resource-cert-samples/ISP5c/index new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5c/index diff --git a/rpkid/resource-cert-samples/ISP5c/serial b/rpkid/resource-cert-samples/ISP5c/serial new file mode 100644 index 00000000..8a0f05e1 --- /dev/null +++ b/rpkid/resource-cert-samples/ISP5c/serial @@ -0,0 +1 @@ +01 diff --git a/rpkid/resource-cert-samples/LIR1.cer b/rpkid/resource-cert-samples/LIR1.cer new file mode 100644 index 00000000..348c6275 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1.cer @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 50 (0x32) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 71:ca:3c:b4:39:4f:ec:c2:ba:bd:c4:e5:9d:b8:9e:12:5a:0d: + af:f6:e0:f5:65:0c:54:ac:5c:17:d2:29:92:a4:84:ea:47:09: + 53:75:52:7c:af:67:11:7b:fb:35:14:77:9e:8e:34:a9:39:5a: + 87:65:7f:5e:e7:81:80:82:4b:b2:e4:07:c3:7d:1e:bf:0a:31: + ff:43:9c:66:31:b0:19:0a:ea:52:14:67:62:f6:91:15:5c:d4: + da:f7:bb:87:1c:9d:31:4c:0d:8c:f6:c9:1c:44:68:21:09:49: + a9:d7:cc:7f:54:c2:cd:44:09:98:e9:7c:73:a3:9d:36:38:e8: + e2:bd:16:19:94:fd:97:ff:91:ca:62:22:1a:ff:f7:2c:a0:b9: + 79:a4:07:84:37:bb:50:8b:6a:6b:25:9a:8e:3c:fb:4f:09:2b: + e1:75:c4:d4:2e:73:a2:cd:ce:f5:83:3c:a5:ca:33:f6:c8:39: + f8:dd:78:3f:61:05:7a:ae:09:3c:d4:bc:b1:4e:0d:4d:83:f8: + 77:6c:a0:ea:6d:e6:5d:df:c4:e4:e0:7f:0f:9c:da:d0:f1:3b: + 37:05:e4:77:1f:54:7b:d0:57:6d:55:dd:ba:41:ba:4b:90:df: + 54:8e:a3:cd:0c:a8:ae:c9:09:e8:02:a6:23:e3:f9:62:f8:0e: + 39:f7:87:f9 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBMjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAcco8tDlP7MK6vcTlnbieEloNr/bg9WUMVKxcF9IpkqSE6kcJU3VS +fK9nEXv7NRR3no40qTlah2V/XueBgIJLsuQHw30evwox/0OcZjGwGQrqUhRnYvaR +FVzU2ve7hxydMUwNjPbJHERoIQlJqdfMf1TCzUQJmOl8c6OdNjjo4r0WGZT9l/+R +ymIiGv/3LKC5eaQHhDe7UItqayWajjz7Twkr4XXE1C5zos3O9YM8pcoz9sg5+N14 +P2EFeq4JPNS8sU4NTYP4d2yg6m3mXd/E5OB/D5za0PE7NwXkdx9Ue9BXbVXdukG6 +S5DfVI6jzQyorskJ6AKmI+P5YvgOOfeH+Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1.cnf b/rpkid/resource-cert-samples/LIR1.cnf new file mode 100644 index 00000000..7e2fa61f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = LIR1.cer +serial = LIR1/serial +private_key = LIR1.key +database = LIR1/index +new_certs_dir = LIR1 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY LIR1 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/LIR1/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/RIR.cer +sbgp-autonomousSysNum = critical,AS:64533 +sbgp-ipAddrBlock = critical,IPv4:192.0.2.1-192.0.2.33,IPv4:192.0.2.44-192.0.2.100 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/LIR1/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/RIR.cer +sbgp-autonomousSysNum = critical,AS:64533 +sbgp-ipAddrBlock = critical,IPv4:192.0.2.1-192.0.2.33,IPv4:192.0.2.44-192.0.2.100 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/LIR1.key b/rpkid/resource-cert-samples/LIR1.key new file mode 100644 index 00000000..0f79c031 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64U +Yum8tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/ +lizduJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisT +ecKy8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++ +LJ1edSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLs +r2XVuWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABAoIBAQCeqVFRIVWXiGb7 +3x2Hvz9sb9wPIy/hNkphCbJ4SL1UEUH6ao8ZWz8Zl4cKqEfmHm2EIW2vJmpOiwK7 +GNL6lrmrMOMItWFrXzPlgz/6lUKeZ9MzTcGR/y/wFvM8zggI0SpQV7XfxlkMJ6OS +7H+On7yBobKen8eCkUzpksm/E3fK/9llCsY14arag7CxIR+G239Eh9yfKlIYPb7D +U1UR7wrDeLvRVkP3C+BBCYrP4fNkSpdd5Xn02nrNXdSM+BR3O7cWXjtvGiUJbdSw +Ec4sfApj0YCFP7ZBx+WvMavRGKfz8VCDzs2LNvu5szOGt87CVxVvjsheNCzDfmwD +JzBo9q7hAoGBANe2RljcUbbEBF+PjjUHgmt/HCbyqhcwjiwJsQh6m6AY7HjrWawf +zB7ud1oTrMUzW87qTZcn5XnNPl266bEjo54Xbm1QHvNxzWKmHclYjzYbyPnz6z91 +9WY/PKs7+VtHz/XZD9q8UbbrDM5GLBtNR2bd3AmKjDtnprIXhq30LCPxAoGBANAd +r9gWSA6qnuhiCG5/b9LtR1hBYftchw3UQNdMrmmqK1OteuyPG5CkyMinq49uHRjX +ZWU58y97PvSy+oqXeDQBNp85/ojkqBooV1JiA/leu0AzYNCOV2j/NaaTk35IoqFm +OQyc90JA1yDAzSBaEGXc1L59Rrng/tPnRKEJvLEvAoGBAJYi6YeDoOQiPiD826+R +EHcdO0zobPZC91EzVaJfI94kOsJWnE0uvHVy6GMren6upmG3tlVUkWVbMuMt6uU9 +tu2bxWIT99bdCGR21hiDqPmyEQnXeY7r3OdTcDiGP6IGs3mboGtP01gK9RjEwoIm +IWI5XKLPaZcXJ3Cg6z47ylUhAoGBAMIN/Go8FIKAe93pkz0dXPLLx0u245sTIuc1 +NCTNXpAuWWoUB9vOcQCFdqcLGQCLx1vjdKtXxrdOb1ySCuXx6OZs/zanR/zzYP/K +/+lUdaovt+BcR/kP0NeZqLgjQVNufR6MB8QIFNJVTYM/48U31bR1nnXksG8gKd0C +905FmwmHAoGAa2SzsiVuvx+ROq7zsN/L32tJY8iL5N0r4qYQWuPK/+C6VK3zUtjb +jcj76nGADSxGapDciZI2p/QCAxLQnLJHn4f67VctaifiaslmI2uHbN3opvtc1E7I +PmPL7Jm4Ib3C6Q3Y4+TKHPRZvjDfmUfQdk2mWF72DlUBZE4EnTUYWVA= +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/LIR1.req b/rpkid/resource-cert-samples/LIR1.req new file mode 100644 index 00000000..d1390df5 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1.req @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDmDCCAoACAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgTElSMTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9dHPnZu9UB4Vs2zFH2/YZXYKqex+xO +Ba/7UVx6wljEqFeuFGLpvLZyfc9JyEpAgkr0PjC1lCWebHiBV0PWhQKN0Zy11zQv +4ql9GCe1R5pCFsiQf5Ys3biYFx93YkoIAC3gcww5N7oPp1lZTHzN4lzXmDYQbIg+ +RZmmiC/2fzFJukIrE3nCsvEJ2a03pEG2bUahGAWgUweO4Jiy0f1naHdk1fP+HSI2 +niZaGqoYlMMsfpqvviydXnUsSdY3KwYfzGOXfu4sX2evTWI+eh8M4R4C8tIGda4/ +EbyODxNkOBQ2HV0C7K9l1blo9CJmK+9HW6078q+2cQyUVop8ATbwOj8CAwEAAaCC +ATYwggEyBgkqhkiG9w0BCQ4xggEjMIIBHzAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSKlBf5U/JblFRW33ZREyn2cRmoszAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYB +BQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0xJUjEvMEMGCCsGAQUFBwEBBDcwNTAzBggrBgEFBQcwAoYncnN5bmM6 +Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9SSVIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8FTA5BggrBgEFBQcBBwEB/wQqMCgwJgQCAAEwIDAOAwUAwAAC +AQMFAcAAAiAwDgMFAsAAAiwDBQDAAAJkMA0GCSqGSIb3DQEBBQUAA4IBAQA/lEvf +enGH4JCh23gVr/cnd19rfe4RgglfFtk0uUKFws2s9C8yIJjF13RhLURe9WD/kqh6 +aj/pZ3zvgKqe1gHK5WquZWTikK2l2O+E0HAgGIB2HY9WbGlfVdGcoQ72Fnu1u2KJ +/SuZSiBCJIdbKhUi82T1JdDajSqrLuoFjWZhe6A0YUrcfcSeaGS7po+rLx7k58a6 +cxyXd69qKOGbDcx5RfEujCgQcWVMnbmOdhrbjbN9RoLSyLsLkYGPtLhLgKorFN2I +e9tTJOMvoKwawKffimHAaZjv7+d7WYc4XjPl2IcDwyo41Mo0l+rjN/lwkOu6Y3qm +XiKfe7oTJ5XJAmin +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/LIR1/01.pem b/rpkid/resource-cert-samples/LIR1/01.pem new file mode 100644 index 00000000..29733e89 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/01.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDzDCCArSgAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTA1NDUyOVoXDTA4MDczMTA1NDUyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOCARkwggEVMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFHOyFhrN3NcwYA/6gZX4ovVOlfOtMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMCkGCCsGAQUFBwEHAQH/ +BBowGDAWBAIAATAQMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEA +FmbqWBmcgPw3k/OjxA3mZX807TFQiP7mB8SCzWNbXeCRuWdhcNzcLSgxZovfvREB +Op6/dlpd3XXrY94uwKsZbgq2+qRQZFdYHJh1WE0KHkgvf6krFNTl6hVKrbosSY9A +T9uHihn6L4kBYp29D4wLINNDgJR4QdzhKjvH+l/pYACteUcFb5MFI2RvmNjRlCj4 +9QWwl0o1to0LlIvS+k1ROu69a6EvzBCO5JMpp8o6+yzz8UCbn+4rcJYaoxkq4cR/ +esIYsghTavMYgTm13U3IZfRoKTu32t9k8aYsQ/bcmF9l31pI7HQIUI6KwhgBAtkE +Ivo8c0ekAlpRKRlodSrb+w== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/02.pem b/rpkid/resource-cert-samples/LIR1/02.pem new file mode 100644 index 00000000..0bcefb6f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/02.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID6DCCAtCgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTA1NDUzMloXDTA4MDczMTA1NDUzMlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCATUwggExMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUAwAAC +AQMFAcAAAiAwDQYJKoZIhvcNAQEFBQADggEBABJPI16u1ywCxckILgDoEsNompwz +KH1JqwC3ItaXvsUPmnMU1H4eN8Ehh226p10JmPlTEiEu3nnZGfmNN3D1fKvfeqdU +C3Hwws/H1L/O1zymy/NBSp+bEAkdsmR1TX3brCfjigjxUY7CjI33Bjx9WI50ZVZn ++Pmj30Ojef8QhGwML7qiLE5xBzLoTyIMrIBiBq6H2DAUaL1PhSCXzUdHQNAYz9nK +KrU4HP7Q8O2YtjNItgxyt7uGy0WbT13PdbmWasgf6lfLXMAqrqDXaWr6wGS9hlER +SKRH53fVsd1oGtkJ0LbPuHu6p99CGMz6+Ah8UryjFQxGeZPdVEWbwTBZSms= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/03.pem b/rpkid/resource-cert-samples/LIR1/03.pem new file mode 100644 index 00000000..e6b6ac76 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/03.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3 (0x3) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 2c:66:2e:23:8b:0c:9a:b9:a4:48:06:1e:da:0d:8a:51:f0:f3: + c2:0c:0b:d8:ea:10:2e:24:a9:f1:a8:a2:da:dd:8c:09:0f:7a: + 9a:fb:54:b2:44:6a:32:91:9e:88:d3:db:5e:53:49:dc:12:59: + 9b:b5:7c:55:86:85:48:74:9e:03:e4:42:3d:68:f2:ee:e8:ca: + fa:cc:56:9f:1e:b0:49:61:af:b1:6d:f1:d5:1a:3c:3e:2e:86: + 4c:a3:ff:31:a5:2f:91:64:3a:f5:7e:6a:78:b5:cd:80:d7:34: + 38:72:f4:18:0c:c6:de:f5:bb:d8:89:84:6d:69:1f:da:42:b4: + fc:73:34:76:fa:42:df:bd:a1:e0:6e:f4:5b:b1:18:70:15:b3: + 75:02:a6:0d:e0:79:de:fd:d5:bd:2e:a0:22:df:bf:4f:dc:15: + 1f:8e:23:26:26:ab:7b:67:5a:c0:f3:39:25:fd:d6:97:47:f3: + e0:c5:8c:6e:b3:19:b6:f2:0f:98:f4:8c:57:59:88:9f:b0:b4: + c6:0e:f8:56:60:f2:1a:f5:ad:20:5e:dc:93:2d:7e:e8:2f:44: + 54:ff:5d:21:d6:df:17:36:31:c8:d7:af:c4:f8:c6:58:31:59: + df:34:12:81:4d:eb:5c:ca:ee:7f:b7:4c:c2:17:8a:94:66:f1: + e5:4d:e4:67 +-----BEGIN CERTIFICATE----- +MIIDzDCCArSgAwIBAgIBAzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0MDUyOVoXDTA4MDczMTE0MDUyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOCARkwggEVMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFHOyFhrN3NcwYA/6gZX4ovVOlfOtMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMCkGCCsGAQUFBwEHAQH/ +BBowGDAWBAIAATAQMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEA +LGYuI4sMmrmkSAYe2g2KUfDzwgwL2OoQLiSp8aii2t2MCQ96mvtUskRqMpGeiNPb +XlNJ3BJZm7V8VYaFSHSeA+RCPWjy7ujK+sxWnx6wSWGvsW3x1Ro8Pi6GTKP/MaUv +kWQ69X5qeLXNgNc0OHL0GAzG3vW72ImEbWkf2kK0/HM0dvpC372h4G70W7EYcBWz +dQKmDeB53v3VvS6gIt+/T9wVH44jJiare2dawPM5Jf3Wl0fz4MWMbrMZtvIPmPSM +V1mIn7C0xg74VmDyGvWtIF7cky1+6C9EVP9dIdbfFzYxyNevxPjGWDFZ3zQSgU3r +XMruf7dMwheKlGbx5U3kZw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/04.pem b/rpkid/resource-cert-samples/LIR1/04.pem new file mode 100644 index 00000000..193985fc --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/04.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4 (0x4) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha1WithRSAEncryption + 7b:5f:02:90:6c:dc:6a:39:29:5a:23:3a:03:ab:7b:7e:80:fe: + ed:ce:07:e2:9e:e9:0d:4d:dd:c2:40:6a:9d:07:ce:b3:af:ba: + cf:b5:7b:45:77:bd:c2:bf:b5:52:94:f6:14:37:2a:3c:a4:00: + c6:6a:bd:26:66:b8:51:5a:9d:16:1c:9b:69:8e:a4:8f:42:39: + 39:97:9f:77:0d:08:73:5d:8f:e3:d4:d9:2f:c0:8d:d2:e5:18: + f0:6a:4b:d2:15:d3:f6:8a:fd:1a:e9:da:28:98:93:87:21:97: + e6:dc:73:ac:80:e3:08:ff:0e:27:a5:f5:37:0d:dc:0a:29:eb: + 5a:48:03:57:24:29:fe:7f:62:07:7f:77:c0:11:ae:d7:27:c6: + f4:21:78:26:10:cb:f8:04:ba:21:5f:c3:4f:dc:b5:60:4b:44: + 0f:a5:64:f6:4d:d6:6e:08:9f:f2:bb:9a:04:89:44:65:1c:b5: + c2:01:0d:4f:03:c1:97:31:d5:0b:4e:66:99:85:df:d0:45:b1: + f2:a8:ba:47:9e:4d:c9:b9:73:d7:e4:fa:1f:e9:0a:d5:be:a5: + 34:32:c9:07:df:6d:2f:b3:9d:11:8c:f4:0a:68:bb:b1:fa:43: + 77:be:fd:84:d5:36:5c:f3:cb:ad:c4:ff:96:9b:79:77:79:01: + 46:e0:92:91 +-----BEGIN CERTIFICATE----- +MIID6DCCAtCgAwIBAgIBBDANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0MDUyOVoXDTA4MDczMTE0MDUyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCATUwggExMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUAwAAC +AQMFAcAAAiAwDQYJKoZIhvcNAQEFBQADggEBAHtfApBs3Go5KVojOgOre36A/u3O +B+Ke6Q1N3cJAap0HzrOvus+1e0V3vcK/tVKU9hQ3KjykAMZqvSZmuFFanRYcm2mO +pI9COTmXn3cNCHNdj+PU2S/AjdLlGPBqS9IV0/aK/Rrp2iiYk4chl+bcc6yA4wj/ +Diel9TcN3Aop61pIA1ckKf5/Ygd/d8ARrtcnxvQheCYQy/gEuiFfw0/ctWBLRA+l +ZPZN1m4In/K7mgSJRGUctcIBDU8DwZcx1QtOZpmF39BFsfKoukeeTcm5c9fk+h/p +CtW+pTQyyQffbS+znRGM9Apou7H6Q3e+/YTVNlzzy63E/5abeXd5AUbgkpE= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/05.pem b/rpkid/resource-cert-samples/LIR1/05.pem new file mode 100644 index 00000000..d39a4c28 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/05.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 5 (0x5) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 46:2c:90:67:a5:55:7e:77:09:b8:1e:6a:87:44:25:86:d1:82: + 3a:c9:a8:54:5f:fd:cc:92:fe:55:32:11:12:6c:61:7c:13:aa: + 80:85:bf:68:1a:7f:98:67:32:23:0f:ff:61:70:6f:50:cb:e1: + 64:4a:76:85:f1:99:6b:b8:59:6a:1a:23:65:14:e5:dc:ae:de: + 50:92:54:98:eb:b2:80:2b:4a:32:77:87:71:1a:52:a8:64:a6: + b9:22:91:74:35:33:29:43:f2:db:0c:ba:21:99:e8:e3:98:e2: + 6d:a9:1e:7a:9f:db:fb:a7:2a:ab:8a:f5:f6:28:99:4b:11:5c: + f2:d2:d3:e7:4d:02:09:8a:b1:1b:b2:41:5d:72:fa:89:37:a6: + ec:f7:ed:7a:b2:0c:d7:2e:c0:17:16:1c:33:7f:22:49:3e:13: + 88:67:c3:b1:ac:1b:5f:b5:81:4d:25:9e:87:7b:6c:95:90:57: + e5:4e:2c:ab:4a:96:4a:e8:9c:d8:19:58:d0:a2:c5:9a:bc:f4: + 9a:96:17:bd:dd:a4:55:20:87:25:4c:91:70:73:99:fc:86:a9: + 1a:0f:8f:63:6a:9a:85:37:69:48:9d:b9:ff:59:7b:2e:ae:bb: + 70:27:0c:a2:1b:4d:2a:21:1f:b6:89:fa:c7:0a:5a:47:6d:22: + 1b:3f:97:a7 +-----BEGIN CERTIFICATE----- +MIIDzDCCArSgAwIBAgIBBTANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0MDgyOVoXDTA4MDczMTE0MDgyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOCARkwggEVMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFHOyFhrN3NcwYA/6gZX4ovVOlfOtMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMCkGCCsGAQUFBwEHAQH/ +BBowGDAWBAIAATAQMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEA +RiyQZ6VVfncJuB5qh0QlhtGCOsmoVF/9zJL+VTIREmxhfBOqgIW/aBp/mGcyIw// +YXBvUMvhZEp2hfGZa7hZahojZRTl3K7eUJJUmOuygCtKMneHcRpSqGSmuSKRdDUz +KUPy2wy6IZno45jibakeep/b+6cqq4r19iiZSxFc8tLT500CCYqxG7JBXXL6iTem +7PfterIM1y7AFxYcM38iST4TiGfDsawbX7WBTSWeh3tslZBX5U4sq0qWSuic2BlY +0KLFmrz0mpYXvd2kVSCHJUyRcHOZ/IapGg+PY2qahTdpSJ25/1l7Lq67cCcMohtN +KiEfton6xwpaR20iGz+Xpw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/06.pem b/rpkid/resource-cert-samples/LIR1/06.pem new file mode 100644 index 00000000..c03635c3 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/06.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 6 (0x6) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha1WithRSAEncryption + a2:f2:1a:a9:b9:28:fd:c0:26:62:1f:01:e1:02:29:b7:8c:b8: + 96:4e:b7:e9:6d:00:f2:85:6c:c9:7c:af:b1:d7:e6:b5:90:21: + 7c:33:94:95:72:9c:c9:36:5e:68:1a:71:af:47:a7:ca:b5:4c: + 16:aa:ea:5d:fd:1b:c1:b9:52:a7:05:db:66:93:c4:95:a5:c6: + 58:16:60:04:73:94:3b:be:7c:a3:34:84:af:d5:7a:03:26:57: + 09:b2:db:02:59:0b:54:58:23:a5:3f:9c:f1:ad:b4:2e:2b:1b: + e5:67:9d:c5:41:01:05:b2:7b:76:26:00:dd:1c:c5:c4:d4:31: + 3d:9a:ba:1d:4f:7c:93:31:5f:fa:43:4a:ce:ab:db:6f:9d:d6: + fa:9b:c4:ad:be:2c:68:1b:64:23:fb:01:d3:b7:db:fc:a4:1c: + ec:f6:36:79:02:d8:b4:99:af:de:1f:a2:68:15:ad:bc:66:18: + 31:3e:6d:3b:97:2e:f8:b0:f0:89:36:67:8e:e3:54:45:65:bf: + aa:87:a7:81:83:c2:d3:19:4f:77:91:6a:50:12:9e:85:e8:b6: + 95:b1:7a:27:db:15:a7:19:66:04:d3:c6:47:49:10:a1:9f:72: + 3c:c3:62:1c:4a:66:5c:42:a0:2b:fd:fd:c6:48:ab:c7:55:6a: + 26:6e:12:8e +-----BEGIN CERTIFICATE----- +MIID6DCCAtCgAwIBAgIBBjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0MDgyOVoXDTA4MDczMTE0MDgyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCATUwggExMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUAwAAC +AQMFAcAAAiAwDQYJKoZIhvcNAQEFBQADggEBAKLyGqm5KP3AJmIfAeECKbeMuJZO +t+ltAPKFbMl8r7HX5rWQIXwzlJVynMk2Xmgaca9Hp8q1TBaq6l39G8G5UqcF22aT +xJWlxlgWYARzlDu+fKM0hK/VegMmVwmy2wJZC1RYI6U/nPGttC4rG+VnncVBAQWy +e3YmAN0cxcTUMT2auh1PfJMxX/pDSs6r22+d1vqbxK2+LGgbZCP7AdO32/ykHOz2 +NnkC2LSZr94fomgVrbxmGDE+bTuXLviw8Ik2Z47jVEVlv6qHp4GDwtMZT3eRalAS +noXotpWxeifbFacZZgTTxkdJEKGfcjzDYhxKZlxCoCv9/cZIq8dVaiZuEo4= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/07.pem b/rpkid/resource-cert-samples/LIR1/07.pem new file mode 100644 index 00000000..a8742d9b --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/07.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:09:35 2007 GMT + Not After : Jul 31 14:09:35 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 2d:8b:40:01:ec:c8:92:30:65:52:2b:3b:a0:66:e5:c6:e5:09: + 87:2b:c0:a4:10:4f:a9:e1:e2:da:17:ff:5e:30:19:16:68:78: + 91:5c:70:56:90:e8:e9:1a:06:94:3f:ed:0c:ef:94:aa:8a:85: + 55:ad:ee:ba:56:c0:fd:c1:59:6c:ac:3f:11:d5:fc:1f:10:74: + 3d:62:a1:c2:c3:46:76:ff:34:dd:b1:0b:c6:c1:b1:8c:7c:0c: + 14:aa:3b:34:a5:fb:da:6a:6c:cc:a5:3d:bc:29:66:f6:d1:7a: + db:84:fe:69:10:b7:02:c0:8b:29:98:1b:06:5c:fd:7b:02:64: + 25:91:4d:38:25:0f:2a:7a:3a:02:85:11:af:71:cc:cd:f3:45: + 93:e3:ae:bd:db:00:54:44:5c:c2:3e:6d:82:c1:fb:a0:13:44: + 02:6a:ae:25:98:8e:57:f0:b7:5f:13:e7:22:5d:36:0a:99:f7: + ab:21:b1:7d:79:27:ae:94:d0:97:b8:7d:a0:4e:5f:63:18:ef: + 7b:95:be:e6:df:e0:6c:75:a9:17:01:7e:18:41:0c:95:9f:b9: + a2:48:f9:13:e1:86:9a:1a:2a:9f:b8:a0:c3:8c:32:f5:10:40: + 77:72:65:40:c9:cf:17:fa:f3:4f:43:fe:9f:91:77:98:33:74: + cd:c4:6f:d9 +-----BEGIN CERTIFICATE----- +MIIDzDCCArSgAwIBAgIBBzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0MDkzNVoXDTA4MDczMTE0MDkzNVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOCARkwggEVMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFHOyFhrN3NcwYA/6gZX4ovVOlfOtMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMCkGCCsGAQUFBwEHAQH/ +BBowGDAWBAIAATAQMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEA +LYtAAezIkjBlUis7oGblxuUJhyvApBBPqeHi2hf/XjAZFmh4kVxwVpDo6RoGlD/t +DO+UqoqFVa3uulbA/cFZbKw/EdX8HxB0PWKhwsNGdv803bELxsGxjHwMFKo7NKX7 +2mpszKU9vClm9tF624T+aRC3AsCLKZgbBlz9ewJkJZFNOCUPKno6AoURr3HMzfNF +k+OuvdsAVERcwj5tgsH7oBNEAmquJZiOV/C3XxPnIl02Cpn3qyGxfXknrpTQl7h9 +oE5fYxjve5W+5t/gbHWpFwF+GEEMlZ+5okj5E+GGmhoqn7igw4wy9RBAd3JlQMnP +F/rzT0P+n5F3mDN0zcRv2Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/08.pem b/rpkid/resource-cert-samples/LIR1/08.pem new file mode 100644 index 00000000..7f2b5154 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/08.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 8 (0x8) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:09:35 2007 GMT + Not After : Jul 31 14:09:35 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha1WithRSAEncryption + 17:33:25:69:a3:33:ba:c8:75:1b:55:bd:1d:fb:4a:8f:f6:f5: + 51:f6:b6:5a:ff:e3:de:4f:cc:e9:f5:53:b1:2b:5d:7f:e4:2e: + a5:6d:c9:24:fa:5d:0b:dc:26:e4:45:1c:31:7e:8e:5f:3b:b4: + 6d:0f:6c:08:4c:90:8e:a6:50:7d:6b:32:47:2a:1e:24:f3:8f: + bf:4a:5a:93:1c:09:63:c1:97:2a:67:48:55:2f:95:57:41:48: + 48:60:6b:ef:b4:cc:9e:53:85:88:d5:b9:77:b6:a4:f2:d1:71: + 44:91:a1:e5:44:c5:05:2f:1d:b3:10:dd:28:39:24:1f:99:1f: + 12:21:4e:a8:bb:55:03:de:d0:82:7e:53:a1:9c:e9:d8:da:20: + 2d:3e:03:73:00:47:26:93:cc:e2:7e:84:0d:0d:67:f8:8d:e8: + c4:20:36:79:75:0b:d4:90:17:bf:b6:65:6f:24:07:f3:95:cd: + ba:49:28:c6:62:64:3a:1a:60:ea:34:7f:23:20:6f:1d:82:82: + 20:89:50:30:30:1a:e1:c8:8b:18:bc:eb:55:67:68:6b:12:05: + 42:ac:1b:1e:f2:0b:15:c3:5f:9e:8a:70:13:d5:0e:d2:d5:17: + 74:32:b1:32:93:a9:f1:4c:bf:8f:94:ca:70:11:4b:d5:02:8a: + 49:4a:df:30 +-----BEGIN CERTIFICATE----- +MIID6DCCAtCgAwIBAgIBCDANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0MDkzNVoXDTA4MDczMTE0MDkzNVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCATUwggExMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUAwAAC +AQMFAcAAAiAwDQYJKoZIhvcNAQEFBQADggEBABczJWmjM7rIdRtVvR37So/29VH2 +tlr/495PzOn1U7ErXX/kLqVtyST6XQvcJuRFHDF+jl87tG0PbAhMkI6mUH1rMkcq +HiTzj79KWpMcCWPBlypnSFUvlVdBSEhga++0zJ5ThYjVuXe2pPLRcUSRoeVExQUv +HbMQ3Sg5JB+ZHxIhTqi7VQPe0IJ+U6Gc6djaIC0+A3MARyaTzOJ+hA0NZ/iN6MQg +Nnl1C9SQF7+2ZW8kB/OVzbpJKMZiZDoaYOo0fyMgbx2CgiCJUDAwGuHIixi861Vn +aGsSBUKsGx7yCxXDX56KcBPVDtLVF3QysTKTqfFMv4+UynARS9UCiklK3zA= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/09.pem b/rpkid/resource-cert-samples/LIR1/09.pem new file mode 100644 index 00000000..0a5c3837 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/09.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 9 (0x9) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:48:22 2007 GMT + Not After : Jul 31 14:48:22 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 0a:f1:b5:af:38:f9:7d:93:95:d4:ea:bf:48:ef:8d:63:3c:4e: + 1c:80:3d:7a:06:20:42:0e:0d:52:99:aa:4b:3e:af:d7:b4:61: + 47:4f:b7:b4:f7:cc:9b:3c:5e:a5:3b:3c:ba:dd:b7:2a:27:8e: + 1b:b4:5c:3c:6b:d1:d9:ff:c2:12:f7:9d:82:ba:cf:75:34:bc: + d7:0b:b4:d6:a8:4f:58:93:6a:ae:23:7a:37:e3:2e:f1:70:8a: + dd:f5:0e:fa:df:b0:3f:12:d4:5a:ac:33:ad:15:1c:a5:dc:be: + 08:c3:8e:1a:0f:35:12:0e:de:ef:b8:80:78:90:a9:eb:8f:00: + 0a:15:1d:05:12:3a:1d:37:e9:f4:f9:4a:77:6e:69:27:b7:e3: + 7f:ae:78:32:92:86:6d:39:16:5e:59:4f:93:10:b5:b0:be:1c: + 25:47:2a:e2:8f:92:9f:5c:c0:2a:48:d7:53:00:14:8e:9e:86: + ea:cf:a6:21:66:50:89:95:39:3e:ff:27:95:85:ef:3d:c8:98: + 7f:cd:fe:c1:30:65:94:b1:ad:48:5c:ae:b7:c8:64:e9:69:a2: + 07:ca:c2:d7:fe:63:4b:de:a9:25:a1:91:4b:17:a3:a9:dd:2b: + f7:d1:a5:3e:b7:be:42:03:1e:d9:34:5f:16:e3:35:7a:ca:1d: + ee:3d:4c:d5 +-----BEGIN CERTIFICATE----- +MIIDzDCCArSgAwIBAgIBCTANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOCARkwggEVMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFHOyFhrN3NcwYA/6gZX4ovVOlfOtMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMCkGCCsGAQUFBwEHAQH/ +BBowGDAWBAIAATAQMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEA +CvG1rzj5fZOV1Oq/SO+NYzxOHIA9egYgQg4NUpmqSz6v17RhR0+3tPfMmzxepTs8 +ut23KieOG7RcPGvR2f/CEvedgrrPdTS81wu01qhPWJNqriN6N+Mu8XCK3fUO+t+w +PxLUWqwzrRUcpdy+CMOOGg81Eg7e77iAeJCp648AChUdBRI6HTfp9PlKd25pJ7fj +f654MpKGbTkWXllPkxC1sL4cJUcq4o+Sn1zAKkjXUwAUjp6G6s+mIWZQiZU5Pv8n +lYXvPciYf83+wTBllLGtSFyut8hk6WmiB8rC1/5jS96pJaGRSxejqd0r99GlPre+ +QgMe2TRfFuM1esod7j1M1Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/0A.pem b/rpkid/resource-cert-samples/LIR1/0A.pem new file mode 100644 index 00000000..86da6423 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/0A.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 10 (0xa) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 1 14:48:22 2007 GMT + Not After : Jul 31 14:48:22 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Authority Key Identifier: + keyid:8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha1WithRSAEncryption + 77:f8:b2:d3:a4:61:38:f7:23:0d:a8:bc:33:a9:5e:fe:b5:1d: + 09:ea:ee:5b:93:4c:b1:76:ea:27:9c:ad:ab:ba:b7:44:a1:8b: + 69:89:71:a7:50:39:05:e5:69:e6:f2:7b:33:70:2a:a1:1d:87: + ad:48:45:2a:ab:02:a2:fd:df:08:36:8d:2b:25:8d:c2:06:d5: + 10:49:8b:88:62:94:47:5a:27:78:2e:2d:51:aa:b8:9b:13:27: + ef:38:af:43:1f:61:f7:da:48:13:2a:0b:66:b4:7d:b4:3a:02: + 1a:d3:88:c3:c4:df:1c:1b:86:29:05:da:61:ef:f2:b4:d4:86: + 67:14:54:cb:21:b9:8f:38:7b:f8:ba:87:71:66:7d:cf:61:ee: + 0b:bb:55:89:46:9d:b4:96:ab:55:90:bd:2c:c6:cf:fa:2d:c3: + 18:a2:40:44:0e:85:dd:65:de:b1:2c:79:1b:12:e7:f6:2d:af: + 1d:88:61:4a:67:38:17:f1:dc:2e:7c:6a:79:c2:94:8e:f4:e6: + c2:6a:6a:7f:3f:40:bf:03:fd:22:ad:ee:df:9b:e4:bc:4b:a0: + 73:2d:14:75:ca:c9:7c:06:2c:79:b2:c8:6f:83:d2:81:72:a8: + 09:0b:a2:39:cb:68:b5:38:f4:09:bc:4a:83:53:26:f4:b2:ca: + 3d:31:ed:e7 +-----BEGIN CERTIFICATE----- +MIID6DCCAtCgAwIBAgIBCjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCATUwggExMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMB8GA1UdIwQY +MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUAwAAC +AQMFAcAAAiAwDQYJKoZIhvcNAQEFBQADggEBAHf4stOkYTj3Iw2ovDOpXv61HQnq +7luTTLF26iecrau6t0Shi2mJcadQOQXlaebyezNwKqEdh61IRSqrAqL93wg2jSsl +jcIG1RBJi4hilEdaJ3guLVGquJsTJ+84r0MfYffaSBMqC2a0fbQ6AhrTiMPE3xwb +hikF2mHv8rTUhmcUVMshuY84e/i6h3Fmfc9h7gu7VYlGnbSWq1WQvSzGz/otwxii +QEQOhd1l3rEseRsS5/Ytrx2IYUpnOBfx3C58annClI705sJqan8/QL8D/SKt7t+b +5LxLoHMtFHXKyXwGLHmyyG+D0oFyqAkLojnLaLU49Am8SoNTJvSyyj0x7ec= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/0B.pem b/rpkid/resource-cert-samples/LIR1/0B.pem new file mode 100644 index 00000000..f078c91f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/0B.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 11 (0xb) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 00:58:18 2007 GMT + Not After : Aug 9 00:58:18 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Signature Algorithm: sha256WithRSAEncryption + 48:2e:66:23:11:dd:1c:f1:3a:9a:28:62:9a:5c:73:75:4a:7a: + 2d:25:24:60:36:62:e5:92:ad:ff:69:08:49:d6:35:7f:e1:53: + c4:6c:17:30:d0:6d:f1:35:4c:9a:54:67:e2:78:d8:a3:88:c9: + ef:29:be:ad:5b:f1:2e:66:4e:b6:df:a5:f2:2b:c6:45:48:a5: + b6:54:2d:bb:35:96:75:0a:c1:7b:79:fc:00:ad:9b:a1:d3:dd: + f6:b3:72:1b:68:3a:24:92:96:46:1f:46:1e:a8:ea:50:27:f6: + d4:3c:ba:ce:11:d2:79:88:a9:fc:43:55:ed:1f:38:92:6c:e3: + 23:26:51:26:c4:5f:f5:11:a3:0f:bf:dd:ff:45:0c:54:08:0a: + 48:cd:7f:91:70:b2:e7:83:83:55:33:10:ba:36:27:5d:c5:e0: + d4:44:94:f7:19:25:8f:c0:e3:c4:99:5c:fd:f8:03:58:57:75: + 6d:de:e2:71:55:1f:1c:20:51:17:ae:98:8f:93:30:6c:59:49: + c9:a4:f1:cc:81:83:ae:49:10:d3:13:e8:44:61:c3:16:a2:f1: + c4:02:9e:0f:44:3b:9d:a5:3e:81:b1:01:37:e9:33:28:87:f0: + 4a:7b:c9:5a:25:ba:76:b0:09:97:b5:11:8c:60:96:1d:17:22: + 8e:72:80:4c +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAwNTgxOFoXDTA4MDgwOTAwNTgxOFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOBhjCBgzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMA0GCSqGSIb3DQEBCwUAA4IBAQBILmYj +Ed0c8TqaKGKaXHN1SnotJSRgNmLlkq3/aQhJ1jV/4VPEbBcw0G3xNUyaVGfieNij +iMnvKb6tW/EuZk6236XyK8ZFSKW2VC27NZZ1CsF7efwArZuh0932s3IbaDokkpZG +H0YeqOpQJ/bUPLrOEdJ5iKn8Q1XtHziSbOMjJlEmxF/1EaMPv93/RQxUCApIzX+R +cLLng4NVMxC6NiddxeDURJT3GSWPwOPEmVz9+ANYV3Vt3uJxVR8cIFEXrpiPkzBs +WUnJpPHMgYOuSRDTE+hEYcMWovHEAp4PRDudpT6BsQE36TMoh/BKe8laJbp2sAmX +tRGMYJYdFyKOcoBM +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/0C.pem b/rpkid/resource-cert-samples/LIR1/0C.pem new file mode 100644 index 00000000..f10e0062 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/0C.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 12 (0xc) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 00:58:18 2007 GMT + Not After : Aug 9 00:58:18 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Signature Algorithm: sha256WithRSAEncryption + 91:b8:bc:18:27:a1:ec:e7:7b:49:59:f6:83:d7:e9:7a:86:73: + 54:84:23:20:5d:00:cc:a4:08:68:9e:ef:33:ad:75:1b:ed:34: + bb:36:82:b6:e9:ae:00:5d:a6:9e:11:98:cb:72:f7:a0:77:bd: + d0:8e:32:28:b6:cf:e9:3a:8c:bf:4c:94:2b:db:ca:1b:ee:07: + 37:c9:51:15:9b:f0:43:b7:31:a2:67:cc:7f:f9:2e:6a:33:ae: + 23:6b:de:04:03:03:99:bc:8a:e9:6c:e9:dd:8c:62:3c:b2:df: + c0:5c:19:c7:50:c5:5a:86:68:2a:52:fd:7d:85:8c:5f:a8:a2: + 5c:7d:58:70:1f:05:c3:cb:4b:f6:91:a3:9d:00:64:0e:1c:f2: + ed:1b:45:f4:e0:82:a1:0b:22:e0:77:c0:7a:e9:9d:ce:e3:62: + e7:f6:12:0d:4d:bb:be:fc:7a:3d:fd:54:14:4f:0b:5c:44:f5: + 7e:6a:74:20:cd:15:9d:3c:86:21:9c:54:ef:d5:ed:8d:b4:36: + 34:45:c1:3f:8b:49:27:4d:f5:2d:03:ab:b4:c6:b4:aa:74:da: + 37:23:b7:88:70:8e:e9:37:88:54:98:91:b3:42:50:8f:61:ce: + 8c:5f:99:4e:f7:61:0a:aa:b9:15:95:87:92:1f:ef:00:02:2b: + ea:5f:09:60 +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIBDDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAwNTgxOFoXDTA4MDgwOTAwNTgxOFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOBhjCBgzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRm7CkhLnaDGTntju23BqhM5Q4uETAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDEvMA0GCSqGSIb3DQEBCwUAA4IBAQCRuLwY +J6Hs53tJWfaD1+l6hnNUhCMgXQDMpAhonu8zrXUb7TS7NoK26a4AXaaeEZjLcveg +d73QjjIots/pOoy/TJQr28ob7gc3yVEVm/BDtzGiZ8x/+S5qM64ja94EAwOZvIrp +bOndjGI8st/AXBnHUMVahmgqUv19hYxfqKJcfVhwHwXDy0v2kaOdAGQOHPLtG0X0 +4IKhCyLgd8B66Z3O42Ln9hINTbu+/Ho9/VQUTwtcRPV+anQgzRWdPIYhnFTv1e2N +tDY0RcE/i0knTfUtA6u0xrSqdNo3I7eIcI7pN4hUmJGzQlCPYc6MX5lO92EKqrkV +lYeSH+8AAivqXwlg +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/0D.pem b/rpkid/resource-cert-samples/LIR1/0D.pem new file mode 100644 index 00000000..cc8d1185 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/0D.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 13 (0xd) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 94:90:a1:91:c0:51:6b:ee:1c:74:7a:1f:7e:6e:4e:cc:50:c0: + 97:c7:15:df:63:ab:71:65:77:44:2f:f5:4f:91:1c:67:84:42: + 78:0a:ef:8c:cd:66:16:92:90:32:76:ca:d9:f0:6a:b4:e3:38: + 21:59:a5:13:a7:f7:bc:51:ac:6f:f6:f0:95:85:f3:bb:c7:4c: + cf:68:fd:07:9c:f5:cf:79:47:47:71:76:54:4f:8c:37:f1:d5: + 1f:85:a9:2c:27:80:57:40:6a:80:71:10:c6:ff:12:74:cb:1a: + 8a:a4:92:6a:66:2b:5c:3a:99:8c:d1:2f:ac:e1:66:17:19:20: + a9:27:2c:a4:e2:54:dc:d3:a9:71:30:0c:2b:48:a1:af:a4:52: + e8:a3:03:b2:03:00:b8:f2:51:b6:6c:c4:b4:c7:d5:cc:a4:d3: + f4:2d:70:de:99:76:21:6e:08:29:0f:90:f3:c9:bf:2c:7d:f2: + 9c:4f:6f:30:ed:75:a6:64:28:7a:e6:46:ed:ac:d4:b6:71:5d: + 91:da:20:2b:eb:eb:d7:32:82:30:5a:68:9a:2d:e8:ef:90:3b: + c9:85:fd:5a:0e:3c:55:f0:2b:59:ae:00:e3:d8:cc:e9:90:59: + 93:80:9c:26:87:90:15:6e:9e:00:17:b1:c7:95:e7:9e:0d:4a: + 92:68:8c:a0 +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBAJSQoZHAUWvuHHR6H35uTsxQwJfHFd9jq3Fld0Qv9U+RHGeE +QngK74zNZhaSkDJ2ytnwarTjOCFZpROn97xRrG/28JWF87vHTM9o/Qec9c95R0dx +dlRPjDfx1R+FqSwngFdAaoBxEMb/EnTLGoqkkmpmK1w6mYzRL6zhZhcZIKknLKTi +VNzTqXEwDCtIoa+kUuijA7IDALjyUbZsxLTH1cyk0/QtcN6ZdiFuCCkPkPPJvyx9 +8pxPbzDtdaZkKHrmRu2s1LZxXZHaICvr69cygjBaaJot6O+QO8mF/VoOPFXwK1mu +AOPYzOmQWZOAnCaHkBVungAXsceV554NSpJojKA= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/0E.pem b/rpkid/resource-cert-samples/LIR1/0E.pem new file mode 100644 index 00000000..08cab1ec --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/0E.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 14 (0xe) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 99:05:da:53:ce:ce:f7:7b:64:64:ad:31:94:37:41:ee:e1:05: + 25:5f:20:df:04:ae:b1:8b:56:98:b9:6e:f6:f8:e1:a1:03:e4: + 2b:28:58:4b:9f:fe:4b:bc:67:c0:3f:76:94:a7:2d:52:7e:81: + 5a:f4:9e:d8:36:59:ad:98:1e:0e:79:63:26:08:cf:c6:a9:37: + 39:3b:75:53:22:6f:e8:ad:3d:6e:3a:00:50:62:b3:4e:87:c3: + f3:38:58:15:b9:34:d5:0e:37:1e:2a:f9:16:42:ee:40:6b:6b: + 30:2b:1f:c1:ca:23:9d:66:66:ac:09:d2:e1:f3:63:41:12:d4: + 9c:d7:7c:5a:61:37:f1:70:a5:5a:50:bc:12:b0:cd:4a:7d:57: + cb:82:f3:bc:72:58:81:ab:ce:07:3b:e1:8e:4a:d7:03:f2:79: + 7a:2d:83:b5:27:4e:53:2a:99:1e:3c:01:cc:eb:ee:7e:47:34: + da:59:27:73:54:20:d2:cd:2d:a2:8d:c5:93:7e:4f:0a:8a:ee: + b2:3a:d0:5a:cb:c9:19:5b:55:d5:41:22:90:6e:a2:2f:df:81: + ad:ec:f4:ab:e7:31:68:e9:32:b3:9c:e3:87:b5:1e:22:5e:f8: + 8c:0e:da:7f:b0:cd:29:24:4b:c3:a5:cd:28:69:89:b2:1c:05: + b9:18:c5:2b +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBDjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAJkF2lPO +zvd7ZGStMZQ3Qe7hBSVfIN8ErrGLVpi5bvb44aED5CsoWEuf/ku8Z8A/dpSnLVJ+ +gVr0ntg2Wa2YHg55YyYIz8apNzk7dVMib+itPW46AFBis06Hw/M4WBW5NNUONx4q ++RZC7kBrazArH8HKI51mZqwJ0uHzY0ES1JzXfFphN/FwpVpQvBKwzUp9V8uC87xy +WIGrzgc74Y5K1wPyeXotg7UnTlMqmR48Aczr7n5HNNpZJ3NUINLNLaKNxZN+TwqK +7rI60FrLyRlbVdVBIpBuoi/fga3s9KvnMWjpMrOc44e1HiJe+IwO2n+wzSkkS8Ol +zShpibIcBbkYxSs= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/0F.pem b/rpkid/resource-cert-samples/LIR1/0F.pem new file mode 100644 index 00000000..8fc7b413 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/0F.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 15 (0xf) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + a5:94:a6:fa:e0:84:ac:c4:8d:f8:46:1b:4d:69:0b:ca:0d:ba: + 20:e9:51:0d:7f:76:0b:ae:9a:76:0e:11:0e:7c:6a:2f:c8:a0: + 6e:83:6d:51:3c:93:f7:7d:1b:5f:8f:da:06:c5:2b:28:0f:41: + 96:a2:9a:d9:ca:0d:57:16:15:79:e5:58:7a:72:45:b9:63:a5: + 27:84:d8:e5:b5:8a:2b:27:90:b0:d8:58:67:30:7d:dc:7e:33: + 8d:d8:42:e4:af:04:3a:6a:b8:79:07:a3:30:85:7a:29:3c:7d: + 44:15:a8:48:f6:e1:f9:d1:50:f9:70:29:3a:ba:e5:43:37:e0: + 93:67:2e:a9:1a:03:ea:95:f2:14:46:bf:96:b2:c5:7e:d8:74: + 2f:23:e0:60:56:12:52:90:1f:f5:ce:b9:e4:5c:e7:69:64:62: + 56:b8:34:77:7a:c7:25:03:16:ff:fc:93:67:e5:54:4f:5f:23: + 19:05:59:9c:c9:01:97:6d:54:81:fd:1d:c8:3c:9f:c0:1e:a9: + ca:ba:52:ca:d4:7f:23:e7:1d:e9:b4:cd:56:82:d8:f2:58:83: + c8:28:fd:41:4d:fc:81:54:e2:24:be:7d:32:f4:02:10:cb:dc: + 6a:07:28:a2:4f:7d:bd:6d:f8:56:4f:74:87:fc:b4:88:20:17: + 0c:b9:28:fb +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBDzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBAKWUpvrghKzEjfhGG01pC8oNuiDpUQ1/dguumnYOEQ58ai/I +oG6DbVE8k/d9G1+P2gbFKygPQZaimtnKDVcWFXnlWHpyRbljpSeE2OW1iisnkLDY +WGcwfdx+M43YQuSvBDpquHkHozCFeik8fUQVqEj24fnRUPlwKTq65UM34JNnLqka +A+qV8hRGv5ayxX7YdC8j4GBWElKQH/XOueRc52lkYla4NHd6xyUDFv/8k2flVE9f +IxkFWZzJAZdtVIH9Hcg8n8Aeqcq6UsrUfyPnHem0zVaC2PJYg8go/UFN/IFU4iS+ +fTL0AhDL3GoHKKJPfb1t+FZPdIf8tIggFwy5KPs= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/10.pem b/rpkid/resource-cert-samples/LIR1/10.pem new file mode 100644 index 00000000..6c572f7c --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/10.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 16 (0x10) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 8a:0e:25:de:ee:ec:8e:ac:b0:c5:2c:20:60:1d:65:aa:c6:9c: + 60:a1:87:25:ae:fd:18:37:40:e5:8d:a2:7e:5f:fb:3d:df:25: + ca:4f:32:48:7b:4e:bc:b1:a9:d0:7a:10:67:84:cf:40:87:45: + 97:fd:2e:8e:4c:53:fa:0d:71:f9:33:d7:82:7a:76:d3:90:a4: + 46:e3:1a:55:a1:ec:3b:4d:29:0f:e1:49:6b:e7:e2:02:c8:79: + 73:99:92:85:b6:4e:b0:54:cc:9a:34:24:b3:0e:3d:64:3a:57: + 51:e4:a0:40:04:a2:e0:bb:38:fa:e7:52:49:e8:26:45:1e:07: + 98:93:a8:7b:2d:d0:08:74:75:1f:51:46:f5:2a:cf:e1:b7:79: + 4b:93:a1:c3:f8:0c:b3:67:ef:15:a8:64:10:51:bf:ac:6c:97: + ae:12:79:ec:2e:4e:b2:a1:b5:55:db:78:c6:6f:99:c4:42:cf: + 1e:49:cd:c2:2b:e6:ed:bb:c1:83:11:7b:c5:a1:ab:04:1a:2c: + 75:56:66:dc:cc:43:8e:61:07:88:22:21:6e:9c:a3:73:0d:b8: + f5:3f:71:89:05:2e:52:3c:7a:d3:90:af:4b:0b:cc:d6:e3:b1: + c6:dd:c4:0d:5c:36:79:05:1e:24:71:19:29:2a:68:13:e9:0a: + 10:8e:25:99 +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBEDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAIoOJd7u +7I6ssMUsIGAdZarGnGChhyWu/Rg3QOWNon5f+z3fJcpPMkh7TryxqdB6EGeEz0CH +RZf9Lo5MU/oNcfkz14J6dtOQpEbjGlWh7DtNKQ/hSWvn4gLIeXOZkoW2TrBUzJo0 +JLMOPWQ6V1HkoEAEouC7OPrnUknoJkUeB5iTqHst0Ah0dR9RRvUqz+G3eUuTocP4 +DLNn7xWoZBBRv6xsl64SeewuTrKhtVXbeMZvmcRCzx5JzcIr5u27wYMRe8WhqwQa +LHVWZtzMQ45hB4giIW6co3MNuPU/cYkFLlI8etOQr0sLzNbjscbdxA1cNnkFHiRx +GSkqaBPpChCOJZk= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/11.pem b/rpkid/resource-cert-samples/LIR1/11.pem new file mode 100644 index 00000000..b9659189 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/11.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 17 (0x11) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:13:40 2007 GMT + Not After : Aug 9 01:13:40 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Signature Algorithm: sha256WithRSAEncryption + 6d:01:ed:47:42:63:b1:28:58:2b:d2:a2:fc:c5:b2:b8:49:3b: + dd:1a:cf:5a:28:c2:35:ae:e8:7e:ec:39:e8:7f:ca:d3:eb:a5: + c6:7a:ef:46:6f:c8:48:5f:9d:eb:dc:c8:4c:cf:88:68:be:59: + a5:be:03:22:18:27:1c:3a:f2:90:3a:db:ae:6a:b0:fe:ce:4e: + 71:cb:3c:c9:d7:c1:ff:69:a8:78:6e:45:15:c5:b5:a5:74:92: + 87:7d:76:d1:ec:38:91:25:86:71:a0:5b:fb:e2:97:c4:b6:a3: + ec:21:22:89:71:d4:36:da:c2:90:a7:09:c9:3f:4a:a7:ed:eb: + 64:b5:4e:6f:44:16:60:42:72:49:38:e2:92:f4:62:a9:de:56: + a9:70:fb:aa:8e:63:1f:d6:71:a2:b0:6b:c2:76:a2:27:05:69: + 53:5b:fd:b8:9e:29:ee:ba:eb:a8:32:8c:28:0c:39:94:64:72: + 6f:d3:33:a9:6d:be:9a:62:86:62:60:95:57:1a:c4:fa:c9:cd: + dd:19:a2:90:76:24:01:47:32:8b:3a:95:dc:24:d9:79:07:c8: + 30:5d:7f:e8:23:ea:3d:5a:bd:d6:99:b3:1c:01:0e:6d:5d:0b: + 87:eb:88:4e:8c:78:2b:d0:b6:80:07:c6:10:3c:79:bd:ba:95: + 9c:0e:84:3e +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIBETANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMTM0MFoXDTA4MDgwOTAxMTM0MFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaNmMGQwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAF +hiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMA0GCSqGSIb3 +DQEBCwUAA4IBAQBtAe1HQmOxKFgr0qL8xbK4STvdGs9aKMI1ruh+7Dnof8rT66XG +eu9Gb8hIX53r3MhMz4hovlmlvgMiGCccOvKQOtuuarD+zk5xyzzJ18H/aah4bkUV +xbWldJKHfXbR7DiRJYZxoFv74pfEtqPsISKJcdQ22sKQpwnJP0qn7etktU5vRBZg +QnJJOOKS9GKp3lapcPuqjmMf1nGisGvCdqInBWlTW/24ninuuuuoMowoDDmUZHJv +0zOpbb6aYoZiYJVXGsT6yc3dGaKQdiQBRzKLOpXcJNl5B8gwXX/oI+o9Wr3WmbMc +AQ5tXQuH64hOjHgr0LaAB8YQPHm9upWcDoQ+ +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/12.pem b/rpkid/resource-cert-samples/LIR1/12.pem new file mode 100644 index 00000000..88877bb3 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/12.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 18 (0x12) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:13:40 2007 GMT + Not After : Aug 9 01:13:40 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Signature Algorithm: sha256WithRSAEncryption + 95:4a:1c:f9:a4:d7:b8:75:16:2e:25:5a:ae:7d:e4:d0:eb:27: + 51:b9:40:12:86:f2:98:9d:f2:76:ee:d4:be:0b:74:8f:81:f3: + 14:a7:57:10:be:2c:19:b6:80:1c:4f:8e:e0:8d:96:70:8d:50: + 0f:55:22:27:d1:1a:a4:e9:cf:77:32:89:54:3f:10:9d:d8:ab: + 17:26:67:3e:ea:99:89:d8:57:6c:e5:7b:9b:bd:5a:1c:f4:18: + 14:8f:d1:2f:6b:93:34:ad:19:8b:a0:90:dc:69:48:96:65:7c: + 7b:f0:6d:25:f9:5d:9d:2d:2f:57:bf:1c:c1:ee:01:e0:f7:e9: + 52:bc:45:4b:4e:fc:94:78:92:98:66:56:d3:e0:cb:38:7f:4e: + dd:97:b7:03:16:fa:fa:7b:2d:b8:78:f2:9f:f3:61:d3:02:3c: + 47:7a:a3:a7:36:27:19:d3:c9:53:a8:e7:09:d0:50:84:a7:fc: + 53:b3:37:8e:72:1f:a6:b9:1c:09:35:20:d9:ed:0c:66:ec:ef: + 93:39:9b:29:50:5b:ed:1f:0c:3d:30:f6:22:1a:0e:7d:4d:8d: + 17:07:96:4f:c3:a9:72:3d:6d:c0:da:af:a7:8b:14:85:0c:fc: + de:cd:cc:58:5c:a0:7b:bf:a9:de:0e:3b:92:0a:57:ab:e3:e4: + cb:83:1e:30 +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIBEjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMTM0MFoXDTA4MDgwOTAxMTM0MFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaNmMGQwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAF +hiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDEvMA0GCSqGSIb3 +DQEBCwUAA4IBAQCVShz5pNe4dRYuJVqufeTQ6ydRuUAShvKYnfJ27tS+C3SPgfMU +p1cQviwZtoAcT47gjZZwjVAPVSIn0Rqk6c93MolUPxCd2KsXJmc+6pmJ2Fds5Xub +vVoc9BgUj9Eva5M0rRmLoJDcaUiWZXx78G0l+V2dLS9XvxzB7gHg9+lSvEVLTvyU +eJKYZlbT4Ms4f07dl7cDFvr6ey24ePKf82HTAjxHeqOnNicZ08lTqOcJ0FCEp/xT +szeOch+muRwJNSDZ7Qxm7O+TOZspUFvtHww9MPYiGg59TY0XB5ZPw6lyPW3A2q+n +ixSFDPzezcxYXKB7v6neDjuSCler4+TLgx4w +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/13.pem b/rpkid/resource-cert-samples/LIR1/13.pem new file mode 100644 index 00000000..ca17b5f4 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/13.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 19 (0x13) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + a0:55:12:46:3d:61:d3:08:29:a5:43:f1:62:19:a9:75:90:17: + 51:85:19:8c:98:29:3c:ed:b8:13:5f:14:e4:8f:1a:85:18:4f: + 92:b5:5b:5f:2b:97:49:c2:ec:7b:cb:87:b5:28:4e:99:77:6c: + f9:8f:2a:14:86:fc:1b:93:90:92:c8:21:0c:c3:ab:02:e8:e3: + 6d:c2:cf:55:51:54:08:58:a0:2f:b4:70:56:21:48:ce:1c:ba: + c6:1f:08:cb:59:e0:37:9c:75:4d:ca:cb:5d:6d:6b:53:4f:7f: + 6e:b0:21:06:52:dd:0a:24:13:b8:95:c1:0b:62:4f:31:27:b5: + df:0c:31:ce:51:62:1e:a3:89:40:2b:14:34:58:ac:62:a6:1d: + 70:09:b1:e3:ee:bb:cc:ca:61:e2:27:2b:51:81:17:73:5f:a5: + 7b:1a:9b:fb:f9:4e:6f:d3:68:ad:43:8a:0e:87:32:6f:3e:9d: + 03:4b:61:d0:b2:30:38:ec:23:3a:48:f7:1e:5c:d6:6a:eb:03: + 14:4e:69:33:04:07:3e:87:6c:7f:cd:8d:0a:2d:75:32:18:cc: + 0e:9b:74:14:87:61:39:18:5c:53:d4:90:39:56:5e:14:ae:70: + 33:1c:88:58:a7:42:7e:35:88:c9:ba:a0:af:c1:03:18:fe:4d: + 9e:40:54:a5 +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBEzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMTUxMFoXDTA4MDgwOTAxMTUxMFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBAKBVEkY9YdMIKaVD8WIZqXWQF1GFGYyYKTztuBNfFOSPGoUY +T5K1W18rl0nC7HvLh7UoTpl3bPmPKhSG/BuTkJLIIQzDqwLo423Cz1VRVAhYoC+0 +cFYhSM4cusYfCMtZ4DecdU3Ky11ta1NPf26wIQZS3QokE7iVwQtiTzEntd8MMc5R +Yh6jiUArFDRYrGKmHXAJsePuu8zKYeInK1GBF3NfpXsam/v5Tm/TaK1Dig6HMm8+ +nQNLYdCyMDjsIzpI9x5c1mrrAxROaTMEBz6HbH/NjQotdTIYzA6bdBSHYTkYXFPU +kDlWXhSucDMciFinQn41iMm6oK/BAxj+TZ5AVKU= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/14.pem b/rpkid/resource-cert-samples/LIR1/14.pem new file mode 100644 index 00000000..9121acc8 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/14.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 20 (0x14) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Aug 10 01:15:11 2007 GMT + Not After : Aug 9 01:15:11 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 66:6a:10:37:c5:13:94:1c:b1:ca:85:50:7a:20:6e:d7:a1:e5: + b5:70:cb:bc:f9:99:b6:58:64:fa:2a:fb:f2:15:77:b8:ea:94: + 28:68:c6:e7:22:69:07:57:55:4f:02:5e:5a:60:cd:fd:d7:d0: + b9:c3:df:23:f8:af:22:25:48:e5:a9:48:ab:38:d9:91:33:fc: + 88:f7:0e:94:df:a0:4e:da:06:8d:91:ed:ba:41:e5:42:ac:58: + af:84:da:d1:69:ca:f5:c3:42:52:2e:9c:5d:e5:72:7f:66:4b: + 54:8b:55:87:3c:f8:e7:16:42:ea:a8:92:2a:4c:c3:ff:f9:8d: + 1c:74:5f:7e:48:fe:24:18:4e:59:6e:44:a2:2c:19:3f:48:fb: + 50:c9:33:0f:92:9e:f7:d0:da:4b:f3:e7:a6:51:a1:da:ba:a5: + 8c:b6:55:46:0c:33:2c:3c:92:f5:90:ca:d9:f4:88:eb:c5:9f: + 31:23:3f:1f:48:66:a0:5c:b1:c0:45:45:ff:ad:0e:e8:e5:2f: + 22:0d:e0:f5:3a:9f:ee:e9:c5:0e:48:2b:70:c1:44:5b:69:fe: + 10:83:10:7e:b4:e6:e2:90:cf:dd:fd:22:6c:8a:54:69:88:99: + bd:bc:2e:11:c7:47:62:78:45:34:73:1e:73:43:38:fc:15:07: + 24:ea:82:5c +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBFDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MDgxMDAxMTUxMVoXDTA4MDgwOTAxMTUxMVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAGZqEDfF +E5QcscqFUHogbteh5bVwy7z5mbZYZPoq+/IVd7jqlChoxuciaQdXVU8CXlpgzf3X +0LnD3yP4ryIlSOWpSKs42ZEz/Ij3DpTfoE7aBo2R7bpB5UKsWK+E2tFpyvXDQlIu +nF3lcn9mS1SLVYc8+OcWQuqokipMw//5jRx0X35I/iQYTlluRKIsGT9I+1DJMw+S +nvfQ2kvz56ZRodq6pYy2VUYMMyw8kvWQytn0iOvFnzEjPx9IZqBcscBFRf+tDujl +LyIN4PU6n+7pxQ5IK3DBRFtp/hCDEH605uKQz939ImyKVGmImb28LhHHR2J4RTRz +HnNDOPwVByTqglw= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/15.pem b/rpkid/resource-cert-samples/LIR1/15.pem new file mode 100644 index 00000000..4ff96ef1 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/15.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 21 (0x15) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 5b:99:30:44:06:73:ab:e3:9b:92:9d:76:e1:4b:ac:71:0e:10: + d5:e9:1c:40:3a:c3:92:ae:b0:71:5e:0d:32:f6:4e:81:c6:37: + d3:19:ea:15:0e:12:6f:e6:65:0d:2c:cd:8c:41:b5:1f:bb:79: + dc:2a:ab:fe:7a:43:2b:97:45:d2:54:66:67:f2:3b:6a:3c:68: + e4:7c:d5:1d:83:47:2c:a0:91:71:29:a7:c1:6a:4a:44:1c:7a: + 42:6f:ab:1f:af:3e:b5:89:52:e1:8c:9e:d5:55:e6:b1:f0:db: + 7c:5d:51:bc:87:41:61:2f:e6:72:33:43:d2:8e:83:16:26:d0: + 1d:c4:21:2c:18:a5:7b:d3:3d:7d:fb:70:c2:6e:ec:1c:9b:a4: + b4:59:3a:bd:fa:65:a9:3f:ae:73:28:a4:25:df:80:cd:14:61: + 63:05:49:31:5d:3c:b3:f9:ff:ec:07:6a:28:c1:43:e9:bc:37: + 08:ee:af:d6:41:cf:9f:63:a0:2b:63:e3:a5:84:83:74:23:19: + b4:ac:36:bb:91:cd:ec:9d:c4:66:8a:f8:11:e8:d4:c3:f7:eb: + 28:c2:95:5e:9c:7f:b5:03:14:c0:db:ce:ca:fc:b5:85:16:80: + 36:94:fc:ab:af:d3:6f:a4:de:db:13:51:95:5d:c2:49:5a:14: + 8d:27:55:e2 +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBFTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAxOTE5MDYwN1oXDTA4MTAxODE5MDYwN1owGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBAFuZMEQGc6vjm5KdduFLrHEOENXpHEA6w5KusHFeDTL2ToHG +N9MZ6hUOEm/mZQ0szYxBtR+7edwqq/56QyuXRdJUZmfyO2o8aOR81R2DRyygkXEp +p8FqSkQcekJvqx+vPrWJUuGMntVV5rHw23xdUbyHQWEv5nIzQ9KOgxYm0B3EISwY +pXvTPX37cMJu7BybpLRZOr36Zak/rnMopCXfgM0UYWMFSTFdPLP5/+wHaijBQ+m8 +Nwjur9ZBz59joCtj46WEg3QjGbSsNruRzeydxGaK+BHo1MP36yjClV6cf7UDFMDb +zsr8tYUWgDaU/Kuv02+k3tsTUZVdwklaFI0nVeI= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/16.pem b/rpkid/resource-cert-samples/LIR1/16.pem new file mode 100644 index 00000000..beb187b4 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/16.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 22 (0x16) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 19 19:06:08 2007 GMT + Not After : Oct 18 19:06:08 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 54:69:df:3c:bc:66:16:55:27:c3:11:85:7e:3b:f8:49:09:68: + ea:ad:50:0d:e2:a8:b1:9e:bc:eb:ca:9f:80:7b:6e:5d:c5:65: + 23:6c:c8:70:9d:b3:f1:2f:c4:a9:2f:2e:aa:43:39:fe:3f:f8: + 45:e1:db:b2:5b:a8:83:31:73:11:43:ae:88:a7:bf:17:9e:28: + 2f:f7:97:8b:eb:39:2b:7b:c1:4d:57:79:fb:e8:d1:18:43:3e: + 9d:3d:6a:c5:10:51:21:cd:f0:0d:ef:68:5a:85:0c:7b:1c:36: + 93:a0:4c:7f:82:8e:90:ef:77:5d:41:4c:71:9f:72:1a:fc:bc: + 22:c3:8f:2a:48:1e:98:bd:a6:cf:6c:a5:8c:c4:fd:0d:2a:6c: + 3c:f5:6c:ab:e0:04:ed:02:26:f6:fb:0c:a8:4f:12:27:f6:26: + 9b:e3:a3:37:0c:f7:ac:a9:aa:40:07:e1:08:67:d6:46:25:2a: + 00:03:c2:a7:78:1f:d8:90:f7:27:6e:97:ce:ef:0c:23:e5:3c: + 41:02:3c:1e:d9:ce:8b:6f:b6:f3:8d:9f:01:20:57:cf:fb:02: + ee:b6:c1:d8:8e:72:37:c6:db:7c:ae:a2:9d:e1:44:b8:58:26: + 95:30:d1:dc:b2:6a:47:c1:2e:70:86:c5:db:6e:ca:ec:8f:cc: + 9b:10:17:22 +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBFjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAxOTE5MDYwOFoXDTA4MTAxODE5MDYwOFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAFRp3zy8 +ZhZVJ8MRhX47+EkJaOqtUA3iqLGevOvKn4B7bl3FZSNsyHCds/EvxKkvLqpDOf4/ ++EXh27JbqIMxcxFDroinvxeeKC/3l4vrOSt7wU1Xefvo0RhDPp09asUQUSHN8A3v +aFqFDHscNpOgTH+CjpDvd11BTHGfchr8vCLDjypIHpi9ps9spYzE/Q0qbDz1bKvg +BO0CJvb7DKhPEif2JpvjozcM96ypqkAH4Qhn1kYlKgADwqd4H9iQ9ydul87vDCPl +PEECPB7ZzotvtvONnwEgV8/7Au62wdiOcjfG23yuop3hRLhYJpUw0dyyakfBLnCG +xdtuyuyPzJsQFyI= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/17.pem b/rpkid/resource-cert-samples/LIR1/17.pem new file mode 100644 index 00000000..1d6affa1 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/17.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 23 (0x17) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 29 16:03:52 2007 GMT + Not After : Oct 28 16:03:52 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 26:19:f6:80:86:41:d6:c1:4f:73:58:9c:58:e4:79:9a:2e:9b: + d6:ab:1e:1e:e4:75:62:bb:7b:7e:e7:a1:fa:ea:81:83:f2:e3: + c8:e0:c2:fa:a1:5c:42:e9:f4:e0:41:2e:fa:3c:64:23:2f:d1: + 77:52:59:2d:a5:1e:fe:6e:fa:32:a4:1e:07:cd:d7:f9:f7:b7: + c3:95:62:a0:c8:88:33:76:2f:9e:e5:75:d6:8e:18:20:ef:4f: + 0a:b3:33:39:14:04:1d:87:42:ba:8f:f9:14:b0:48:c8:e3:4e: + 41:d9:25:f5:95:58:23:03:4c:3a:ab:60:7e:1e:3c:e1:77:d7: + a4:a8:14:04:d0:5e:68:89:42:5d:3c:ee:d1:f7:3c:3a:e5:18: + 0d:95:77:5f:fe:24:f8:dd:3d:0b:9d:df:56:3f:ff:ff:3b:aa: + d2:50:cf:34:17:d5:bb:09:50:72:ed:83:85:4f:a9:07:fe:ec: + 82:36:74:61:79:b7:54:37:0a:10:dc:fc:69:17:d5:31:89:63: + f6:e2:45:2a:b1:8f:b2:58:23:8e:5b:25:1f:c0:42:c6:76:67: + eb:85:62:cb:94:c0:d2:5f:1a:1a:c6:cb:46:c3:e8:2f:6b:e4: + 62:f2:ab:4c:0d:f5:aa:8c:32:10:b2:cd:a7:23:2c:a6:3d:b2: + 3b:8e:6f:f4 +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBFzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAyOTE2MDM1MloXDTA4MTAyODE2MDM1MlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBACYZ9oCGQdbBT3NYnFjkeZoum9arHh7kdWK7e37nofrqgYPy +48jgwvqhXELp9OBBLvo8ZCMv0XdSWS2lHv5u+jKkHgfN1/n3t8OVYqDIiDN2L57l +ddaOGCDvTwqzMzkUBB2HQrqP+RSwSMjjTkHZJfWVWCMDTDqrYH4ePOF316SoFATQ +XmiJQl087tH3PDrlGA2Vd1/+JPjdPQud31Y///87qtJQzzQX1bsJUHLtg4VPqQf+ +7II2dGF5t1Q3ChDc/GkX1TGJY/biRSqxj7JYI45bJR/AQsZ2Z+uFYsuUwNJfGhrG +y0bD6C9r5GLyq0wN9aqMMhCyzacjLKY9sjuOb/Q= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/18.pem b/rpkid/resource-cert-samples/LIR1/18.pem new file mode 100644 index 00000000..c74d669a --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/18.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 24 (0x18) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 29 16:03:52 2007 GMT + Not After : Oct 28 16:03:52 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 04:44:50:5a:c4:68:fd:0c:7a:51:99:27:80:ae:0a:ea:ca:62: + 4d:34:65:ec:c0:1b:16:59:fe:41:76:fa:06:06:be:4f:37:26: + ec:75:de:53:c7:c6:dd:27:bb:72:ab:4f:0f:6b:a9:3c:19:23: + 76:9f:bd:63:c8:f4:1b:f6:a4:bd:da:84:7d:8d:c4:96:58:5a: + 09:8f:e0:6c:ac:70:68:12:c5:74:db:c9:46:40:1e:20:d3:b8: + 19:8c:18:27:8a:9d:a4:47:2e:ed:29:a3:38:d9:0b:f2:fe:d9: + 22:80:2c:2c:92:9d:54:42:7e:68:ad:32:d0:4d:ad:f4:2f:d2: + 80:1c:9b:ac:13:68:a7:0a:fa:41:c4:f3:1c:02:da:f8:cb:d5: + 5e:62:a6:16:56:81:ce:82:ec:37:56:c2:59:9a:41:f2:c1:22: + 3f:63:ee:a6:ca:23:e9:60:62:07:84:2c:73:21:5a:16:8f:6f: + 06:7c:b0:c7:bb:66:f0:a8:75:6f:36:26:24:2b:7a:0e:a1:9a: + 11:28:6f:53:1f:76:fb:60:9d:9f:84:97:1f:cd:76:c6:de:c8: + f8:f9:66:a8:d0:79:31:2c:39:7f:e5:f6:76:36:ba:1e:6e:ea: + 31:02:86:60:75:8d:f7:d4:c7:35:f3:5e:8a:b5:18:31:46:30: + 7f:e0:33:d7 +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBGDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAyOTE2MDM1MloXDTA4MTAyODE2MDM1MlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAAREUFrE +aP0MelGZJ4CuCurKYk00ZezAGxZZ/kF2+gYGvk83Jux13lPHxt0nu3KrTw9rqTwZ +I3afvWPI9Bv2pL3ahH2NxJZYWgmP4GyscGgSxXTbyUZAHiDTuBmMGCeKnaRHLu0p +ozjZC/L+2SKALCySnVRCfmitMtBNrfQv0oAcm6wTaKcK+kHE8xwC2vjL1V5iphZW +gc6C7DdWwlmaQfLBIj9j7qbKI+lgYgeELHMhWhaPbwZ8sMe7ZvCodW82JiQreg6h +mhEob1MfdvtgnZ+Elx/NdsbeyPj5ZqjQeTEsOX/l9nY2uh5u6jEChmB1jffUxzXz +Xoq1GDFGMH/gM9c= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/19.pem b/rpkid/resource-cert-samples/LIR1/19.pem new file mode 100644 index 00000000..e6fdd880 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/19.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d0:77:df:c4:21:af:1b:5a:6b:a8:a7:28:d7:43: + c8:9b:6d:25:d8:8d:7f:91:2b:e3:95:fd:92:60:ac: + 14:12:d7:23:68:85:4b:0e:db:2b:e6:38:e0:48:db: + 18:37:8f:40:c0:90:58:0e:3f:09:67:5f:8e:3f:04: + 75:06:60:92:42:f3:e4:45:04:35:95:5d:e9:22:42: + 2c:f6:5c:a6:7d:79:8c:e1:08:19:7c:35:9d:3a:fd: + e7:ff:9b:29:b5:ee:89:47:cc:0d:83:a0:e1:73:af: + 1f:09:84:a8:0b:83:cc:79:88:bf:7c:1d:73:d6:ab: + 42:1b:64:9a:5c:19:83:2b:9d:e5:ad:4c:58:05:76: + 95:70:23:ee:a5:c0:31:ca:a2:a7:c8:1d:1e:f2:c9: + f2:3d:38:82:c2:53:e5:54:86:f2:7c:b1:73:e1:dc: + e9:86:73:08:ac:59:3b:be:2f:58:c1:42:c5:80:18: + 8c:3a:0a:2a:32:f6:fe:28:d0:28:52:83:c6:30:69: + 51:90:59:19:9b:d3:d4:c2:e0:52:6a:c1:4e:59:9a: + 18:e4:78:2e:57:f9:7f:2b:5d:76:28:c9:c9:c5:7e: + e5:43:a1:9b:68:d2:06:1c:be:3f:69:f9:c2:fa:9e: + 4f:68:cf:63:6f:db:6d:fc:67:35:c0:b1:6e:0a:37: + ec:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 73:B2:16:1A:CD:DC:D7:30:60:0F:FA:81:95:F8:A2:F5:4E:95:F3:AD + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 3d:68:dd:9f:54:93:58:2f:8b:c5:22:5a:10:22:09:ed:5d:90: + c9:57:ea:9f:e9:99:eb:58:42:26:38:81:ef:14:a0:3f:64:ca: + 06:ae:87:24:3d:6a:d5:94:b7:78:95:8d:00:7d:5b:eb:6d:2f: + 72:ff:4c:a6:a9:a2:cf:9b:fa:41:04:b2:71:b4:cf:eb:91:0e: + 71:98:72:05:84:b0:a2:bb:fe:68:6f:e3:92:f9:a6:c9:97:19: + 79:c5:39:c0:87:ad:e7:89:bb:bc:84:86:ee:87:55:31:be:da: + 26:8d:e8:84:bf:44:94:0b:b4:e5:52:bb:1a:0d:04:d6:a6:3c: + 66:ef:d1:44:3b:a1:b2:bc:a3:8e:5a:43:39:28:a0:2a:6a:10: + 3b:da:b6:5f:bd:e0:d7:ba:c5:d3:51:de:79:39:8f:92:91:a4: + ca:cd:62:b4:66:a1:02:f3:50:91:27:22:1f:bc:3d:68:da:e0: + 15:6c:9a:b0:1b:49:e2:53:84:3a:d3:75:09:87:d5:29:d8:58: + 86:8d:38:8a:87:fa:2d:43:f0:3a:06:e5:58:e9:32:84:c4:3f: + d0:c2:cd:2b:2e:75:ec:d7:dc:3b:39:14:0f:e7:99:23:1f:88: + 84:9f:a6:73:90:4b:e4:60:92:07:c5:90:a4:f2:ed:e3:7e:a8: + 8c:2d:f6:e8 +-----BEGIN CERTIFICATE----- +MIIDqTCCApGgAwIBAgIBGTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b +K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 +nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 +lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK +KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS +Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOB9zCB9DAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRzshYazdzXMGAP+oGV+KL1TpXzrTAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDIvMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEF +BQcwAoYocnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLmNlcjAp +BggrBgEFBQcBBwEB/wQaMBgwFgQCAAEwEDAOAwUCwAACLAMFAMAAAmQwDQYJKoZI +hvcNAQELBQADggEBAD1o3Z9Uk1gvi8UiWhAiCe1dkMlX6p/pmetYQiY4ge8UoD9k +ygauhyQ9atWUt3iVjQB9W+ttL3L/TKapos+b+kEEsnG0z+uRDnGYcgWEsKK7/mhv +45L5psmXGXnFOcCHreeJu7yEhu6HVTG+2iaN6IS/RJQLtOVSuxoNBNamPGbv0UQ7 +obK8o45aQzkooCpqEDvatl+94Ne6xdNR3nk5j5KRpMrNYrRmoQLzUJEnIh+8PWja +4BVsmrAbSeJThDrTdQmH1SnYWIaNOIqH+i1D8DoG5VjpMoTEP9DCzSsudezX3Ds5 +FA/nmSMfiISfpnOQS+RgkgfFkKTy7eN+qIwt9ug= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/1A.pem b/rpkid/resource-cert-samples/LIR1/1A.pem new file mode 100644 index 00000000..db526ea5 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/1A.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR1 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:eb:80:54:7a:74:4b:e4:81:15:d0:25:2d:5e:21: + be:47:e6:31:ab:e2:fe:79:55:48:b7:36:55:3d:dc: + 11:88:5b:b7:36:be:d3:bb:d7:16:8d:f8:4b:f4:c5: + bd:34:c4:8e:2c:67:97:e6:27:10:40:c5:36:f4:b6: + 6c:b9:29:82:2e:76:b0:29:ea:43:9a:d1:30:de:05: + a1:c1:54:7c:17:67:1d:fc:29:dd:80:53:b2:81:30: + db:13:ee:3e:e6:5d:c7:bc:3d:a6:11:6d:81:77:b7: + 9f:3e:36:df:7c:d6:d2:5a:22:36:68:7c:14:cc:ac: + 54:ed:ae:fd:e2:cd:b1:a3:5d:a9:65:ec:1b:8b:4b: + cf:80:8e:a6:98:8f:69:b1:a6:35:bd:69:c9:2e:66: + 7f:22:11:66:56:c5:75:4c:81:a3:6e:49:71:0d:f5: + 75:87:13:e8:62:e8:1a:0c:a8:30:81:6a:be:90:59: + 23:3b:61:c0:15:5f:68:bf:b5:c9:3f:af:3a:a2:7f: + 80:01:78:f6:f4:55:ca:ee:ca:8d:08:9b:c5:3e:74: + 98:02:b2:0b:a6:d8:e8:6e:78:88:7b:95:76:b6:ca: + be:f1:80:a9:dd:e8:3c:80:91:ce:3f:fd:0b:dd:b7: + d8:a6:8c:94:20:07:19:74:fa:86:ff:cb:97:c3:f6: + a4:e7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 66:EC:29:21:2E:76:83:19:39:ED:8E:ED:B7:06:A8:4C:E5:0E:2E:11 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR1.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + + Signature Algorithm: sha256WithRSAEncryption + 2f:cc:ba:e1:32:d5:77:93:89:d2:62:00:83:52:99:02:11:31: + 50:c2:8f:84:ba:52:22:cd:76:f0:b6:ef:f1:3d:9e:20:02:11: + be:41:38:d0:88:df:2f:8b:f8:86:0c:f7:f4:50:4a:5e:7a:e8: + b2:63:9a:dc:eb:0a:eb:c8:a4:3c:b5:83:c8:ef:22:61:28:35: + 14:23:1e:be:f6:2b:af:76:59:a3:1c:47:e9:db:60:0f:5a:18: + 87:c3:c5:96:27:68:bd:2d:cc:24:e2:b6:e9:8d:5e:7f:ba:d9: + bc:7d:5a:14:67:8c:17:40:ea:09:31:4d:83:39:e0:a9:e7:eb: + fe:a3:37:cc:f9:45:80:17:20:57:50:be:38:48:6a:e5:4f:13: + 55:05:07:2a:7b:9f:f2:da:96:27:a2:df:67:07:44:6c:c5:a7: + 14:73:ac:58:97:83:5c:28:e3:4b:f0:18:f7:9d:be:6b:50:e9: + 90:c8:64:5c:6d:17:98:ed:8c:ba:b0:2c:26:61:bc:d2:75:a8: + 30:63:7a:5e:61:62:aa:91:e8:b2:11:b1:7d:b7:65:46:c9:17: + 02:5a:e9:da:96:fa:5d:1b:de:0d:ff:c0:5c:33:b5:81:6e:a5: + 3b:cc:11:c8:b0:7e:88:bc:d9:98:2c:96:c1:ed:fe:98:ff:d3: + f1:96:e2:5c +-----BEGIN CERTIFICATE----- +MIIDxzCCAq+gAwIBAgIBGjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIxMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAOuAVHp0S+SBFdAlLV4hvkfmMavi/nlVSLc2VT3cEYhbtza+07vX +Fo34S/TFvTTEjixnl+YnEEDFNvS2bLkpgi52sCnqQ5rRMN4FocFUfBdnHfwp3YBT +soEw2xPuPuZdx7w9phFtgXe3nz4233zW0loiNmh8FMysVO2u/eLNsaNdqWXsG4tL +z4COppiPabGmNb1pyS5mfyIRZlbFdUyBo25JcQ31dYcT6GLoGgyoMIFqvpBZIzth +wBVfaL+1yT+vOqJ/gAF49vRVyu7KjQibxT50mAKyC6bY6G54iHuVdrbKvvGAqd3o +PICRzj/9C9232KaMlCAHGXT6hv/Ll8P2pOcCAwEAAaOCARQwggEQMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFGbsKSEudoMZOe2O7bcGqEzlDi4RMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMS8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8FTApBggrBgEFBQcBBwEB/wQaMBgw +FgQCAAEwEDAOAwUAwAACAQMFAcAAAiAwDQYJKoZIhvcNAQELBQADggEBAC/MuuEy +1XeTidJiAINSmQIRMVDCj4S6UiLNdvC27/E9niACEb5BONCI3y+L+IYM9/RQSl56 +6LJjmtzrCuvIpDy1g8jvImEoNRQjHr72K692WaMcR+nbYA9aGIfDxZYnaL0tzCTi +tumNXn+62bx9WhRnjBdA6gkxTYM54Knn6/6jN8z5RYAXIFdQvjhIauVPE1UFByp7 +n/Laliei32cHRGzFpxRzrFiXg1wo40vwGPedvmtQ6ZDIZFxtF5jtjLqwLCZhvNJ1 +qDBjel5hYqqR6LIRsX23ZUbJFwJa6dqW+l0b3g3/wFwztYFupTvMEciwfoi82Zgs +lsHt/pj/0/GW4lw= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR1/index b/rpkid/resource-cert-samples/LIR1/index new file mode 100644 index 00000000..69a21e9d --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/index @@ -0,0 +1,26 @@ +V 080731054529Z 01 unknown /CN=TEST ENTITY ISP2 +V 080731054532Z 02 unknown /CN=TEST ENTITY ISP1 +V 080731140529Z 03 unknown /CN=TEST ENTITY ISP2 +V 080731140529Z 04 unknown /CN=TEST ENTITY ISP1 +V 080731140829Z 05 unknown /CN=TEST ENTITY ISP2 +V 080731140829Z 06 unknown /CN=TEST ENTITY ISP1 +V 080731140935Z 07 unknown /CN=TEST ENTITY ISP2 +V 080731140935Z 08 unknown /CN=TEST ENTITY ISP1 +V 080731144822Z 09 unknown /CN=TEST ENTITY ISP2 +V 080731144822Z 0A unknown /CN=TEST ENTITY ISP1 +V 080809005818Z 0B unknown /CN=TEST ENTITY ISP2 +V 080809005818Z 0C unknown /CN=TEST ENTITY ISP1 +V 080809010231Z 0D unknown /CN=TEST ENTITY ISP2 +V 080809010231Z 0E unknown /CN=TEST ENTITY ISP1 +V 080809010709Z 0F unknown /CN=TEST ENTITY ISP2 +V 080809010709Z 10 unknown /CN=TEST ENTITY ISP1 +V 080809011340Z 11 unknown /CN=TEST ENTITY ISP2 +V 080809011340Z 12 unknown /CN=TEST ENTITY ISP1 +V 080809011510Z 13 unknown /CN=TEST ENTITY ISP2 +V 080809011511Z 14 unknown /CN=TEST ENTITY ISP1 +V 081018190607Z 15 unknown /CN=TEST ENTITY ISP2 +V 081018190608Z 16 unknown /CN=TEST ENTITY ISP1 +V 081028160352Z 17 unknown /CN=TEST ENTITY ISP2 +V 081028160352Z 18 unknown /CN=TEST ENTITY ISP1 +V 081028163234Z 19 unknown /CN=TEST ENTITY ISP2 +V 081028163234Z 1A unknown /CN=TEST ENTITY ISP1 diff --git a/rpkid/resource-cert-samples/LIR1/index.attr b/rpkid/resource-cert-samples/LIR1/index.attr new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/index.attr @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/LIR1/index.attr.old b/rpkid/resource-cert-samples/LIR1/index.attr.old new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/index.attr.old @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/LIR1/index.old b/rpkid/resource-cert-samples/LIR1/index.old new file mode 100644 index 00000000..c484ba08 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/index.old @@ -0,0 +1,25 @@ +V 080731054529Z 01 unknown /CN=TEST ENTITY ISP2 +V 080731054532Z 02 unknown /CN=TEST ENTITY ISP1 +V 080731140529Z 03 unknown /CN=TEST ENTITY ISP2 +V 080731140529Z 04 unknown /CN=TEST ENTITY ISP1 +V 080731140829Z 05 unknown /CN=TEST ENTITY ISP2 +V 080731140829Z 06 unknown /CN=TEST ENTITY ISP1 +V 080731140935Z 07 unknown /CN=TEST ENTITY ISP2 +V 080731140935Z 08 unknown /CN=TEST ENTITY ISP1 +V 080731144822Z 09 unknown /CN=TEST ENTITY ISP2 +V 080731144822Z 0A unknown /CN=TEST ENTITY ISP1 +V 080809005818Z 0B unknown /CN=TEST ENTITY ISP2 +V 080809005818Z 0C unknown /CN=TEST ENTITY ISP1 +V 080809010231Z 0D unknown /CN=TEST ENTITY ISP2 +V 080809010231Z 0E unknown /CN=TEST ENTITY ISP1 +V 080809010709Z 0F unknown /CN=TEST ENTITY ISP2 +V 080809010709Z 10 unknown /CN=TEST ENTITY ISP1 +V 080809011340Z 11 unknown /CN=TEST ENTITY ISP2 +V 080809011340Z 12 unknown /CN=TEST ENTITY ISP1 +V 080809011510Z 13 unknown /CN=TEST ENTITY ISP2 +V 080809011511Z 14 unknown /CN=TEST ENTITY ISP1 +V 081018190607Z 15 unknown /CN=TEST ENTITY ISP2 +V 081018190608Z 16 unknown /CN=TEST ENTITY ISP1 +V 081028160352Z 17 unknown /CN=TEST ENTITY ISP2 +V 081028160352Z 18 unknown /CN=TEST ENTITY ISP1 +V 081028163234Z 19 unknown /CN=TEST ENTITY ISP2 diff --git a/rpkid/resource-cert-samples/LIR1/serial b/rpkid/resource-cert-samples/LIR1/serial new file mode 100644 index 00000000..8787ed81 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/serial @@ -0,0 +1 @@ +1B diff --git a/rpkid/resource-cert-samples/LIR1/serial.old b/rpkid/resource-cert-samples/LIR1/serial.old new file mode 100644 index 00000000..268de3f3 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR1/serial.old @@ -0,0 +1 @@ +1A diff --git a/rpkid/resource-cert-samples/LIR2.cer b/rpkid/resource-cert-samples/LIR2.cer new file mode 100644 index 00000000..dcc97dd1 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2.cer @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 49 (0x31) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 02:2b:a6:e7:ef:15:1e:a6:bf:dc:1f:4e:c5:5d:41:de:c2:82: + 03:1b:94:25:3e:35:3f:ed:ac:cc:25:49:cb:f2:a3:91:cb:33: + 72:3a:ef:f8:93:24:42:f9:3e:13:5d:50:07:6c:00:40:60:80: + 06:22:db:07:43:d2:58:17:37:bd:22:89:d2:8d:9f:a0:e3:7e: + 10:cd:e7:98:3d:4e:fa:5a:8b:05:23:b1:c6:88:9c:41:72:a9: + b7:7c:b8:a2:37:9f:76:6f:98:23:e2:90:02:75:dc:94:ae:3f: + 72:1d:51:53:f3:dc:ec:a1:00:28:6e:13:5f:66:4f:6e:4a:61: + c1:0e:4e:b9:db:4e:11:bc:d9:57:fd:07:05:6e:05:5d:7a:52: + ae:7f:d5:50:cf:e3:6b:ff:87:03:9f:6c:b2:aa:f4:28:c3:75: + 6d:09:bf:31:da:cb:40:fa:8f:ed:15:32:59:a7:9e:5b:8b:0d: + b2:4b:f1:1d:fd:37:ac:dc:6b:56:b5:64:1b:ce:56:12:41:e0: + d6:ff:7e:f4:84:f5:27:42:a2:2c:c5:b7:47:14:e1:f9:84:80: + a9:6e:cf:5f:64:40:ac:36:6e:03:f2:db:ae:e2:bf:ba:d4:98: + 99:35:21:6f:5d:d9:db:f1:a9:1b:dc:13:11:aa:86:e7:a8:bc: + aa:ee:dd:ce +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBMTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEAAium5+8VHqa/3B9O +xV1B3sKCAxuUJT41P+2szCVJy/Kjkcszcjrv+JMkQvk+E11QB2wAQGCABiLbB0PS +WBc3vSKJ0o2foON+EM3nmD1O+lqLBSOxxoicQXKpt3y4ojefdm+YI+KQAnXclK4/ +ch1RU/Pc7KEAKG4TX2ZPbkphwQ5OudtOEbzZV/0HBW4FXXpSrn/VUM/ja/+HA59s +sqr0KMN1bQm/MdrLQPqP7RUyWaeeW4sNskvxHf03rNxrVrVkG85WEkHg1v9+9IT1 +J0KiLMW3RxTh+YSAqW7PX2RArDZuA/LbruK/utSYmTUhb13Z2/GpG9wTEaqG56i8 +qu7dzg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2.cnf b/rpkid/resource-cert-samples/LIR2.cnf new file mode 100644 index 00000000..7e691e6d --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = LIR2.cer +serial = LIR2/serial +private_key = LIR2.key +database = LIR2/index +new_certs_dir = LIR2 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY LIR2 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/LIR2/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/RIR.cer +sbgp-autonomousSysNum = critical,AS:64544 +sbgp-ipAddrBlock = critical,IPv6:2001:db8::44-2001:db8::100,IPv6:2001:db8::10:0:44/128 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/LIR2/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/RIR.cer +sbgp-autonomousSysNum = critical,AS:64544 +sbgp-ipAddrBlock = critical,IPv6:2001:db8::44-2001:db8::100,IPv6:2001:db8::10:0:44/128 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/LIR2.key b/rpkid/resource-cert-samples/LIR2.key new file mode 100644 index 00000000..4259796f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccL +m3h6Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286s +ndNkPbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/d +kRzwsCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bd +u6B45TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N +8Ar/f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABAoIBAQDGF27931cL9Nv1 +tE0WU36IzmZX6HH3xWwVNzS24MIIVkcV68A+umt+y6DvAtXtgLI4+WwW7ftf+3wA +LdmhKoS/x/0bykbSnrsb99t7Z5X3Ca/iYFp1xpVLHNblZADCLHF3u1VR/4+PQi4M +PmnobBRebmN5NyX1KzlVIS2FkU2G8T/TOmEv7ffzMAtBkZIdodUPVwQD2nCOeFeT +pw0ih1g+r+/RZKXZBU/tPEPhJQhEm91Sos3s1LsgRI6XuJux4Qdp3zrXHglnOpMN +tzoK4AUlDQOhm0xA0F0Ds2do1v3sQS2Bek0qGU/xUs469/wJljs+sFMwg1WfHyQn +TZ4jkE8BAoGBAP2jp08Kv6q4vVudGSQVYfp893lI7DprhNTZi4byug8RAGdaPvat +6UwRTEocl091i7k1bbNR7M2KFIRrqv81BXKWY9IF+jSHLMdkQiA9ftEPAPIPSMWk +aIa4+gE+7QzK5YMJZN3iDLF+FUNQOLMqm08C6pLFmCsKcdWhBqeY4n73AoGBAPNX +LHQZd+lmtPX4q22bEt820OGXxAcwkKua9+qchNVae95/PmhrAaWPXgbViD6YzMxX +lZXGz1gE9gsiEL/KaQWrxFfCUaMDjoJKXOAw0/n1nLscE1FGcgnmXC3MDdOOuI50 +9ESkEAJa5880KVioRWGFyyHLDYyrSsLB2bHB8UWBAoGAXGlyHgRmjQc+RtDYRiNc +TW2WpSQCnc5q2Tph8csiKzcglId3BV2b8NEkoKQGJTdIrzReQcWJp+G1VAH+jXl+ +AJ/2wqDW5qiRkhxfU2vUdssmpwsWkpwyUVO4ExggOlb6hGG51HX19f1gNeRWpEDT +0VfYq50+sf/eNd2zlQDJFUUCgYBp6BfN08PPjkbWAstBYcud4HKarH3Bj053kXOy +5ToezUm59XFI6sGFt9b5bHfmnoQLr1bIIAXfzhDzmXjmsAZzVGWYuFbldsfQRuMT +I80uLcpv2PFDX0CEtICL4hJmb+g9AAPL2AerrrrTAGW6U0oW/q8A3ynffjGEf+/q +IHmMgQKBgG+nAjRSJvdc7sMhHSbXCO4G3Jzy39iK0UeSKZHHHbJzmsPTJ5eJ36Zh +yA19eiX8eC7/GTgrGg+daW8YADPS/wZ2KWZTgavvRhUkAsBW2MSybJgZ5QWEgSa3 +TxH462NH6PiJ755pEcU+ILwIJAcwskR0z2SsL6LaQbXlHNinYWMj +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/LIR2.req b/rpkid/resource-cert-samples/LIR2.req new file mode 100644 index 00000000..96d673be --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2.req @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDszCCApsCAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgTElSMjCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAPEYtnkLNcWDZEiDMQOe53IoZbGsYeF3 +LsBN8LEcYdjMWi3HC5t4ej79N636sHMLnPy7b2DqOO+u0Se4gVkPs+fQZ7Ki9U/i +BMbME58zKDWWetvOrJ3TZD24RLzLQyKS1jwuv5duOWpuaJNdHKhYt6N6JkT+/jCt +4gWJTMnvLOBOMWk/3ZEc8LAlTD6EiupeA7OozZAaHsjgr/4R7SEGvTxeCKGT4kFD +QzjTIbNM+oWLQ1dgXbugeOUzR6gzdr7fbmNh4zGLXY4Mx/XIkQy+V8fyvL4Lunof +9hnx6wB0wRLC3CsujfAK/3/oYAiQulH80JARN/OeRLZkQ2ldYdPhjXcCAwEAAaCC +AVEwggFNBgkqhkiG9w0BCQ4xggE+MIIBOjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBQDet8M39yTPfelzCd73CL26VWX8DAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYB +BQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0xJUjIvMEMGCCsGAQUFBwEBBDcwNTAzBggrBgEFBQcwAoYncnN5bmM6 +Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9SSVIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8IDBUBggrBgEFBQcBBwEB/wRFMEMwQQQCAAIwOzAmAxECIAEN +uAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEQAgAQ24AAAAAAAAABAA +AABEMA0GCSqGSIb3DQEBBQUAA4IBAQCFx6Mb43W5xnHDV/cqywQ3qJjVQUsl6Gcg +1h426JuSWoB526DFqFxBAmZR5DK+L8jU7jxBJn7tG6P22GrITSbU4BDVdFCD9znO +juds7+q/qvfTDSNrNwyzldW/UaL3VJ0YF2xXutLJC4jbkH4QfEcmGriGFTRiwvJS +LJvotN7i2TNKtj3ARaIaKhonzPZg7Qn/bck2KJutG00gm9u3m9wGZ37+tDQE1yMd +sqX/uhtZB/YM7q3OGeaj8hkjCMkInZL/1FCzxp4qo3F25KLiWNVz+0xxW4A/1kA8 +a1Rdzb9+y318vQce1eAgMo/64tABUYEILwkAXJ6sPBV2V7PdksW4 +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/LIR2/01.pem b/rpkid/resource-cert-samples/LIR2/01.pem new file mode 100644 index 00000000..832d72fb --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/01.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID6zCCAtOgAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTA1NDUyN1oXDTA4MDczMTA1NDUyN1owGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCATgwggE0MA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBswGQQCAAIwEwMRACABDbgA +AAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAMqX2PAuB9SLv2QsFdzblcv1 +84gGa2Raf1OXAe7J6j45YUxzwGsO1MlJ/lN5XWW6VDu3GayE/uZpuuD0jur0m1N0 +AweSWd9WVOF2kbR4QNPNTgbfNRCKTlWMUyiNoozf1wbAUVFE4VrVKY8k9eDBcECS +3Kw+f2O5ozocba3ciWY7yVrQ6HquDMF3pmqpAcwsaOXHaMsAp6989fY81lg07sL3 +eeGef71CmplynfI3DNTkznlKOwC9rDLBROCvFBAKBswEQTZEfHBr+kjifJLh2Nsy +wXE8Xx67UeerTmxnyyP1mOAkQcQ7TcE9xBELp+GrcgdYSTMmtlFuDsBPanAnVow= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/02.pem b/rpkid/resource-cert-samples/LIR2/02.pem new file mode 100644 index 00000000..055a369b --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/02.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID5DCCAsygAwIBAgIBAjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTA1NDUyOFoXDTA4MDczMTA1NDUyOFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCATEwggEtMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMEEGCCsGAQUFBwEHAQH/ +BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABADANBgkqhkiG9w0BAQUFAAOCAQEAFiSiwdirDq2HcTM/KB/mU1NpVOf2CWFE +nsU+gqeXMBOGdF9g0KzHXi09pYapo4xQGDJQmuQhDOOAJI0zKEM0hhito1vKD1xv +Gxaw+VzXgqHkUaMQxPW+TsCi5+Gu0va7kBobK7i+6QYoSHcqMeahJPsiRT/Ni226 +vhoHDkmZmFfhbgIFg1Mysr9yZwDwECikCspsFjGrHRLqocDrEtnhLgWgK7c3L7Ia +DVpmFhRzHor2XOu6heyu+FwUTy/MH+OcsVt8hMrdLcWig6iKXOJYbz5NB8y/azmY +Dl5+MgWa3zFn/142ENc7JUegb/+dLia0ZuoUl5emkDy9zZ8tCrEFzg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/03.pem b/rpkid/resource-cert-samples/LIR2/03.pem new file mode 100644 index 00000000..380a3354 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/03.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3 (0x3) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 55:03:75:e5:85:6b:3b:7d:fd:6b:04:94:5c:6b:65:bb:c2:46: + 93:29:ba:ec:40:93:6c:65:b7:e4:eb:f9:47:cf:ed:cd:bf:a5: + 3e:32:1e:ce:d4:1c:39:9e:47:e4:31:c7:d9:8a:68:ea:ec:fa: + 5b:74:df:2d:5e:e4:7c:1a:41:53:1f:07:4f:7b:51:df:0d:0f: + e3:48:87:51:7c:81:72:25:1a:43:4f:f7:2e:1c:f5:3e:86:ae: + 72:b4:0c:5a:1e:4b:5d:57:16:4a:bf:ab:1f:23:4e:80:5b:b6: + de:09:f6:36:03:dc:9a:34:d5:52:47:c6:65:98:3a:2e:e1:4d: + 18:37:c9:24:f3:18:11:f1:81:0e:0c:9d:f5:6c:4d:c1:1c:bb: + 21:73:3c:b0:62:4d:83:28:40:2b:ce:9f:9e:2d:2b:59:f3:e2: + 5d:dc:03:98:db:c3:99:35:22:e7:a8:93:43:41:91:56:c0:6e: + af:df:83:a0:8e:2c:16:9c:00:ce:c6:db:86:f8:75:62:d8:fe: + af:e5:4d:dd:38:9d:bd:67:f8:2f:27:b1:f3:26:cd:7f:ad:af: + d0:e4:aa:09:6a:47:17:95:62:33:08:40:d5:09:c4:ee:ee:3a: + 4f:b2:82:f8:3a:74:d4:a5:b9:db:54:33:9b:c1:00:27:a7:8d: + 38:25:77:a4 +-----BEGIN CERTIFICATE----- +MIID6zCCAtOgAwIBAgIBAzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0MDUyOVoXDTA4MDczMTE0MDUyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCATgwggE0MA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBswGQQCAAIwEwMRACABDbgA +AAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAFUDdeWFazt9/WsElFxrZbvC +RpMpuuxAk2xlt+Tr+UfP7c2/pT4yHs7UHDmeR+Qxx9mKaOrs+lt03y1e5HwaQVMf +B097Ud8ND+NIh1F8gXIlGkNP9y4c9T6GrnK0DFoeS11XFkq/qx8jToBbtt4J9jYD +3Jo01VJHxmWYOi7hTRg3ySTzGBHxgQ4MnfVsTcEcuyFzPLBiTYMoQCvOn54tK1nz +4l3cA5jbw5k1Iueok0NBkVbAbq/fg6COLBacAM7G24b4dWLY/q/lTd04nb1n+C8n +sfMmzX+tr9DkqglqRxeVYjMIQNUJxO7uOk+ygvg6dNSludtUM5vBACenjTgld6Q= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/04.pem b/rpkid/resource-cert-samples/LIR2/04.pem new file mode 100644 index 00000000..55678af1 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/04.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4 (0x4) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha1WithRSAEncryption + e5:f9:79:e8:d7:09:da:a8:1b:3b:35:a2:2a:47:66:5e:ef:c7: + 0e:a3:0a:d5:28:d6:2c:78:42:c5:73:69:31:9b:89:fa:2e:7a: + 95:95:36:bd:bf:c7:09:de:04:3f:4e:fc:8b:52:d0:2b:db:da: + 91:a9:2c:c0:1e:d1:a4:2d:22:0a:e4:57:e4:06:e3:9c:08:22: + f9:02:1f:a9:b1:a2:ae:15:eb:40:d7:08:78:83:f4:de:0b:54: + 93:a6:c9:1c:0f:73:f3:43:d0:12:64:c8:29:19:d3:9b:07:91: + 24:4a:33:85:45:03:a7:73:01:80:b6:17:cf:24:18:1a:1e:e4: + 33:9d:1f:53:34:c6:fa:a3:ab:fa:2f:ea:ff:eb:69:a4:6e:d7: + 87:d6:aa:ed:64:d4:81:2f:aa:de:35:c4:44:3a:65:72:05:8e: + 3e:30:a4:30:3d:2b:b4:a5:53:12:af:0e:3c:56:bb:e3:24:d3: + bd:c7:b5:ad:25:19:2a:d0:f7:f3:9f:cf:21:33:9a:46:23:43: + 0b:13:9d:62:ac:bb:3d:3e:8a:f5:19:37:1f:05:4c:8f:be:2e: + 69:d6:78:ac:76:25:64:15:0c:12:65:6a:f9:4d:1d:eb:95:8c: + ef:00:d0:08:c0:5a:59:e0:cd:c5:78:51:cc:63:40:7e:36:a3: + 05:82:9e:67 +-----BEGIN CERTIFICATE----- +MIID5DCCAsygAwIBAgIBBDANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0MDUyOVoXDTA4MDczMTE0MDUyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCATEwggEtMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMEEGCCsGAQUFBwEHAQH/ +BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABADANBgkqhkiG9w0BAQUFAAOCAQEA5fl56NcJ2qgbOzWiKkdmXu/HDqMK1SjW +LHhCxXNpMZuJ+i56lZU2vb/HCd4EP078i1LQK9vakakswB7RpC0iCuRX5AbjnAgi ++QIfqbGirhXrQNcIeIP03gtUk6bJHA9z80PQEmTIKRnTmweRJEozhUUDp3MBgLYX +zyQYGh7kM50fUzTG+qOr+i/q/+tppG7Xh9aq7WTUgS+q3jXERDplcgWOPjCkMD0r +tKVTEq8OPFa74yTTvce1rSUZKtD385/PITOaRiNDCxOdYqy7PT6K9Rk3HwVMj74u +adZ4rHYlZBUMEmVq+U0d65WM7wDQCMBaWeDNxXhRzGNAfjajBYKeZw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/05.pem b/rpkid/resource-cert-samples/LIR2/05.pem new file mode 100644 index 00000000..21fc68de --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/05.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 5 (0x5) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + cf:89:36:be:f0:e0:c8:98:8d:4d:af:19:f7:14:c6:98:8c:7d: + 80:88:38:7e:4a:86:21:11:11:48:d1:5d:ab:45:c7:13:ea:40: + de:69:2b:a4:ed:b9:19:34:74:95:2d:65:5a:38:4d:5c:04:0b: + 1e:5c:59:15:ac:6c:0e:38:b0:ec:bf:f4:61:3c:78:5b:61:24: + 2a:e0:ec:38:df:f8:f0:6e:9f:91:52:56:c1:14:8f:b1:57:4a: + 3f:62:8d:55:a3:83:38:e2:e7:3f:bb:16:14:59:9a:97:b7:60: + 05:29:cc:0f:2d:74:1c:71:0e:1f:fb:59:31:76:c5:69:8f:98: + aa:9a:d2:d9:50:07:c8:67:23:cd:31:9a:ae:70:bd:be:82:7e: + a5:7d:4a:2a:eb:77:8e:59:cd:4b:eb:6b:78:39:82:ac:46:5d: + 0b:7c:26:76:ce:cc:c4:94:b3:3e:c6:7d:75:d0:32:ab:32:fd: + 5c:96:fa:aa:b3:c2:56:4d:6f:43:a4:7a:28:94:ce:40:1d:1c: + a6:72:d1:a3:66:7b:9b:5c:d2:cc:69:55:15:09:1d:aa:84:d2: + 4c:c1:65:d5:6c:d3:c0:82:7a:a9:6e:dc:37:77:ab:29:b3:8f: + 10:19:49:21:b4:e3:85:8d:d7:2a:34:5c:8c:fb:88:12:3c:23: + ea:18:34:22 +-----BEGIN CERTIFICATE----- +MIID6zCCAtOgAwIBAgIBBTANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0MDgyOVoXDTA4MDczMTE0MDgyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCATgwggE0MA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBswGQQCAAIwEwMRACABDbgA +AAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAM+JNr7w4MiYjU2vGfcUxpiM +fYCIOH5KhiEREUjRXatFxxPqQN5pK6TtuRk0dJUtZVo4TVwECx5cWRWsbA44sOy/ +9GE8eFthJCrg7Djf+PBun5FSVsEUj7FXSj9ijVWjgzji5z+7FhRZmpe3YAUpzA8t +dBxxDh/7WTF2xWmPmKqa0tlQB8hnI80xmq5wvb6CfqV9Sirrd45ZzUvra3g5gqxG +XQt8JnbOzMSUsz7GfXXQMqsy/VyW+qqzwlZNb0OkeiiUzkAdHKZy0aNme5tc0sxp +VRUJHaqE0kzBZdVs08CCeqlu3Dd3qymzjxAZSSG044WN1yo0XIz7iBI8I+oYNCI= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/06.pem b/rpkid/resource-cert-samples/LIR2/06.pem new file mode 100644 index 00000000..cdd0108c --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/06.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 6 (0x6) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha1WithRSAEncryption + 82:d3:6f:ff:0f:ea:b2:49:89:b9:7a:6f:9f:7a:67:11:40:9e: + aa:00:cd:04:3e:6d:1f:88:c9:af:63:1e:ec:bd:7e:11:38:3c: + a0:cf:7f:89:9f:18:e5:ae:f6:3c:a9:f3:2a:84:4d:15:b3:6d: + 83:39:08:45:f6:ab:e0:d4:96:0d:38:93:0e:92:6a:ec:3e:ed: + ae:fc:42:1f:2e:d3:ef:e3:18:32:da:4c:ed:18:a6:08:a1:3d: + 79:af:41:b5:b4:f6:17:12:32:6a:bd:88:76:89:76:50:52:3d: + 71:01:b9:bf:79:6a:bf:e5:dd:d1:89:2d:8e:4f:89:7b:d2:9d: + 12:bc:42:d1:0b:a2:ff:b6:61:4e:86:79:af:f3:a5:57:a0:39: + 3b:e8:2e:6d:aa:65:1c:e7:58:36:47:de:3c:5f:a2:04:02:5b: + 63:d4:86:d1:2b:4a:1a:ce:00:8b:81:5b:9c:d1:71:a4:dd:4e: + d2:41:34:f7:69:f8:e0:df:80:08:35:90:c6:52:3b:4a:97:e0: + de:09:ad:36:f6:c1:aa:77:3d:26:e1:c9:7d:a3:34:3b:09:b9: + 83:40:86:d8:c9:7b:d1:05:48:8a:f6:90:97:bd:05:9b:6a:8f: + cf:96:7e:9b:f5:fa:aa:21:1a:95:aa:31:ce:fb:78:5d:d5:a8: + a6:2e:ca:c6 +-----BEGIN CERTIFICATE----- +MIID5DCCAsygAwIBAgIBBjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0MDgyOVoXDTA4MDczMTE0MDgyOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCATEwggEtMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMEEGCCsGAQUFBwEHAQH/ +BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABADANBgkqhkiG9w0BAQUFAAOCAQEAgtNv/w/qskmJuXpvn3pnEUCeqgDNBD5t +H4jJr2Me7L1+ETg8oM9/iZ8Y5a72PKnzKoRNFbNtgzkIRfar4NSWDTiTDpJq7D7t +rvxCHy7T7+MYMtpM7RimCKE9ea9BtbT2FxIyar2Idol2UFI9cQG5v3lqv+Xd0Ykt +jk+Je9KdErxC0Qui/7ZhToZ5r/OlV6A5O+gubaplHOdYNkfePF+iBAJbY9SG0StK +Gs4Ai4FbnNFxpN1O0kE092n44N+ACDWQxlI7Spfg3gmtNvbBqnc9JuHJfaM0Owm5 +g0CG2Ml70QVIivaQl70Fm2qPz5Z+m/X6qiEalaoxzvt4XdWopi7Kxg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/07.pem b/rpkid/resource-cert-samples/LIR2/07.pem new file mode 100644 index 00000000..00cf79e5 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/07.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:09:35 2007 GMT + Not After : Jul 31 14:09:35 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + b8:19:54:a2:c8:99:67:2c:52:0c:a7:ab:fa:60:12:7e:3e:e9: + 72:81:c0:89:11:85:e0:cf:b7:f8:27:b4:18:3d:fd:cc:3c:69: + 9b:ec:f8:73:f8:81:ef:06:63:90:95:ad:9c:85:bf:ec:ad:13: + 53:59:d8:a3:1e:17:49:0d:94:ba:f1:38:4a:1e:9b:9d:a4:34: + b5:1b:c8:d4:8c:b8:35:07:04:d0:9f:54:81:05:3e:8f:56:10: + 32:6a:e8:32:ce:89:bb:44:c1:09:7a:c6:69:9b:12:2d:05:e2: + d9:5c:f9:ba:16:07:bc:d0:8b:92:68:5a:93:5b:d0:25:0a:4e: + 3c:7c:f4:62:44:43:98:7f:97:81:43:43:ef:1f:38:59:55:64: + ca:68:a6:bb:91:0f:26:51:47:d3:6c:19:c2:30:4d:55:55:91: + e9:fb:30:01:10:cd:eb:7e:42:33:1b:5b:82:95:c7:38:54:ab: + e5:0b:fc:8a:15:3d:7e:48:45:57:4c:26:e9:22:79:71:58:86: + 25:22:38:4d:c7:78:8c:58:a2:17:1b:ce:ff:ff:34:22:ba:6f: + 17:be:f0:47:76:a5:01:e6:33:07:62:f0:d8:47:8c:00:15:04: + d5:37:73:6d:62:7e:b9:de:60:41:e5:e3:f2:e4:96:c9:e2:7a: + db:56:f0:3a +-----BEGIN CERTIFICATE----- +MIID6zCCAtOgAwIBAgIBBzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0MDkzNVoXDTA4MDczMTE0MDkzNVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCATgwggE0MA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBswGQQCAAIwEwMRACABDbgA +AAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBALgZVKLImWcsUgynq/pgEn4+ +6XKBwIkRheDPt/gntBg9/cw8aZvs+HP4ge8GY5CVrZyFv+ytE1NZ2KMeF0kNlLrx +OEoem52kNLUbyNSMuDUHBNCfVIEFPo9WEDJq6DLOibtEwQl6xmmbEi0F4tlc+boW +B7zQi5JoWpNb0CUKTjx89GJEQ5h/l4FDQ+8fOFlVZMpopruRDyZRR9NsGcIwTVVV +ken7MAEQzet+QjMbW4KVxzhUq+UL/IoVPX5IRVdMJukieXFYhiUiOE3HeIxYohcb +zv//NCK6bxe+8Ed2pQHmMwdi8NhHjAAVBNU3c21ifrneYEHl4/LklsniettW8Do= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/08.pem b/rpkid/resource-cert-samples/LIR2/08.pem new file mode 100644 index 00000000..0d2eebd5 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/08.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 8 (0x8) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:09:35 2007 GMT + Not After : Jul 31 14:09:35 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha1WithRSAEncryption + c9:76:93:8c:9f:ac:9a:b1:29:fb:5b:b0:ad:c4:e4:70:74:5b: + e3:a2:91:cd:39:ab:25:82:6b:8b:46:3d:86:74:73:04:95:5d: + f4:5d:6f:9b:78:91:44:f9:16:07:ca:75:56:2f:ac:84:3c:3c: + b4:1d:fe:f3:62:f2:70:16:86:7f:94:16:22:f3:7a:a5:98:7e: + 6b:1b:cc:61:3e:7c:a0:57:f4:80:3d:69:0b:a0:3c:3b:a1:3f: + f6:50:a6:1a:40:c0:85:e6:20:88:94:20:f2:b7:41:a1:42:39: + 91:b0:46:4f:07:df:b5:59:30:18:22:97:ad:95:4b:92:cc:d7: + 31:ee:cb:99:90:ec:82:e2:19:34:99:9e:94:2c:16:9f:6e:f4: + 89:9a:79:40:96:d2:1b:d6:79:e0:da:f2:a2:f7:ee:c4:3a:91: + 21:02:77:8a:6c:5f:c6:aa:77:c7:ae:15:6e:3f:38:b9:97:69: + ac:cf:44:95:74:dc:a6:bc:c8:e4:a0:f4:e4:c4:f9:55:de:5a: + ba:f5:ae:d7:e9:b9:44:c7:46:54:53:dc:74:cd:f7:fe:48:9a: + 1a:1a:57:bc:af:3d:47:38:9f:67:10:7f:6a:4f:17:d7:7d:45: + d0:05:ec:fd:8b:a2:aa:52:c3:7b:73:eb:96:f8:11:cc:12:4f: + e8:81:ad:f1 +-----BEGIN CERTIFICATE----- +MIID5DCCAsygAwIBAgIBCDANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0MDkzNVoXDTA4MDczMTE0MDkzNVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCATEwggEtMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMEEGCCsGAQUFBwEHAQH/ +BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABADANBgkqhkiG9w0BAQUFAAOCAQEAyXaTjJ+smrEp+1uwrcTkcHRb46KRzTmr +JYJri0Y9hnRzBJVd9F1vm3iRRPkWB8p1Vi+shDw8tB3+82LycBaGf5QWIvN6pZh+ +axvMYT58oFf0gD1pC6A8O6E/9lCmGkDAheYgiJQg8rdBoUI5kbBGTwfftVkwGCKX +rZVLkszXMe7LmZDsguIZNJmelCwWn270iZp5QJbSG9Z54NryovfuxDqRIQJ3imxf +xqp3x64Vbj84uZdprM9ElXTcprzI5KD05MT5Vd5auvWu1+m5RMdGVFPcdM33/kia +GhpXvK89RzifZxB/ak8X131F0AXs/YuiqlLDe3PrlvgRzBJP6IGt8Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/09.pem b/rpkid/resource-cert-samples/LIR2/09.pem new file mode 100644 index 00000000..b117c94d --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/09.pem @@ -0,0 +1,96 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 9 (0x9) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:48:22 2007 GMT + Not After : Jul 31 14:48:22 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 1c:53:2a:8f:55:44:b1:71:d1:50:79:f1:3c:3d:fe:15:1d:72: + 5e:22:91:d1:54:3d:a4:e0:9e:ba:e4:8d:b3:71:c5:93:cd:5b: + 54:5c:e5:2c:af:a1:a9:d7:8d:32:b7:92:95:8c:0e:2e:05:d3: + 9d:da:ac:a9:7a:01:d2:19:9e:b7:88:80:92:b1:26:95:6d:0a: + b4:01:a3:f1:9f:15:fe:0b:29:0f:0f:72:b7:72:d2:18:9e:5d: + 7e:65:59:7b:30:75:33:7f:95:fc:cb:9d:7b:0f:36:44:0f:d0: + e6:a3:c1:a5:6b:d0:db:13:4b:fa:06:35:df:66:01:c3:d8:51: + 47:e7:89:26:56:6f:2a:2a:ba:46:29:a8:cb:9d:cc:5f:d9:9f: + 14:01:d5:fd:08:e9:db:1a:7a:89:3e:c8:36:6b:b4:6c:ca:a9: + df:43:46:89:48:a0:13:32:bb:c9:17:14:01:2d:21:fe:68:11: + 61:5a:b4:6f:af:ba:3b:0a:96:4c:25:33:5a:a6:cf:29:21:45: + 76:b8:e1:d9:20:0c:22:f7:7c:85:b2:45:90:94:c5:2c:ca:e1: + 82:65:36:75:9d:46:9b:f8:9a:d6:85:2f:71:8b:cd:88:fd:87: + 1b:1c:36:f8:36:f5:1c:18:e5:5b:68:3f:36:60:de:a0:59:e1: + cd:54:61:4c +-----BEGIN CERTIFICATE----- +MIID6zCCAtOgAwIBAgIBCTANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCATgwggE0MA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMBoGCCsGAQUFBwEIAQH/ +BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBswGQQCAAIwEwMRACABDbgA +AAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBABxTKo9VRLFx0VB58Tw9/hUd +cl4ikdFUPaTgnrrkjbNxxZPNW1Rc5SyvoanXjTK3kpWMDi4F053arKl6AdIZnreI +gJKxJpVtCrQBo/GfFf4LKQ8Pcrdy0hieXX5lWXswdTN/lfzLnXsPNkQP0OajwaVr +0NsTS/oGNd9mAcPYUUfniSZWbyoqukYpqMudzF/ZnxQB1f0I6dsaeok+yDZrtGzK +qd9DRolIoBMyu8kXFAEtIf5oEWFatG+vujsKlkwlM1qmzykhRXa44dkgDCL3fIWy +RZCUxSzK4YJlNnWdRpv4mtaFL3GLzYj9hxscNvg29RwY5VtoPzZg3qBZ4c1UYUw= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/0A.pem b/rpkid/resource-cert-samples/LIR2/0A.pem new file mode 100644 index 00000000..c8f4890e --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/0A.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 10 (0xa) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 1 14:48:22 2007 GMT + Not After : Jul 31 14:48:22 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Authority Key Identifier: + keyid:03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha1WithRSAEncryption + 05:ba:27:d4:55:52:1b:f7:61:da:37:98:b3:16:e6:53:6a:2c: + 65:f5:80:7f:d4:cb:8f:fb:c2:1d:1a:9f:54:ed:a0:7a:03:a6: + ff:5a:e7:d6:c1:06:31:11:b5:c1:dc:ab:33:87:d7:57:0e:cd: + 19:44:16:9f:92:84:43:32:8b:d0:64:12:00:a7:ad:b7:fb:79: + c1:ec:e3:d0:77:3c:73:8a:5f:90:6b:da:a4:d4:e0:28:0a:45: + 99:5a:b8:b0:fa:96:3e:c3:a3:de:a6:df:f9:55:e9:1b:3e:37: + f0:21:38:7f:5f:b2:e0:75:f2:8c:82:10:e9:60:76:3b:de:dd: + 85:f2:1e:3c:22:f5:77:40:d9:a4:f9:72:46:29:99:a8:2e:5d: + b8:05:5c:b3:2b:d0:44:c5:8b:07:c7:69:d0:a9:cf:83:31:d1: + ed:36:d7:ce:b4:c6:7e:4a:58:10:20:46:16:ed:b5:e3:60:47: + e8:b2:36:1e:79:ed:ac:08:da:8b:a0:6d:92:f1:e4:73:60:6b: + 10:61:07:69:78:78:a9:51:fd:24:1d:3d:d6:63:62:c3:d4:1e: + 70:8d:f6:41:fc:42:09:cc:7b:1c:19:c7:59:0b:a0:da:5b:00: + fd:33:24:8b:9f:1e:d8:d8:04:cd:f4:71:06:ea:c6:2e:8d:8b: + 6f:cd:b9:a6 +-----BEGIN CERTIFICATE----- +MIID5DCCAsygAwIBAgIBCjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCATEwggEtMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MB8GA1UdIwQY +MBaAFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF +BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov +L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2VyMEEGCCsGAQUFBwEHAQH/ +BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABADANBgkqhkiG9w0BAQUFAAOCAQEABbon1FVSG/dh2jeYsxbmU2osZfWAf9TL +j/vCHRqfVO2gegOm/1rn1sEGMRG1wdyrM4fXVw7NGUQWn5KEQzKL0GQSAKett/t5 +wezj0Hc8c4pfkGvapNTgKApFmVq4sPqWPsOj3qbf+VXpGz438CE4f1+y4HXyjIIQ +6WB2O97dhfIePCL1d0DZpPlyRimZqC5duAVcsyvQRMWLB8dp0KnPgzHR7TbXzrTG +fkpYECBGFu2142BH6LI2HnntrAjai6BtkvHkc2BrEGEHaXh4qVH9JB091mNiw9Qe +cI32QfxCCcx7HBnHWQug2lsA/TMki58e2NgEzfRxBurGLo2Lb825pg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/0B.pem b/rpkid/resource-cert-samples/LIR2/0B.pem new file mode 100644 index 00000000..d4720f0d --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/0B.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 11 (0xb) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Signature Algorithm: sha256WithRSAEncryption + 87:7d:49:12:b5:b5:ca:35:8f:2c:ae:da:fc:4a:35:b2:09:2b: + ed:7e:64:3d:a2:3c:ce:a5:e6:f4:77:ca:6f:a0:fb:ff:d0:46: + db:d8:fc:2b:09:35:a3:f6:ca:c1:00:ae:e6:02:93:96:ff:f8: + 2c:f5:40:18:d1:43:aa:ba:80:a7:71:7c:aa:99:ba:bb:59:74: + fb:b9:64:40:4c:d6:ec:4a:f4:a1:7e:32:ae:94:8d:15:f0:ba: + bb:0c:20:0c:58:3c:eb:52:5a:02:32:56:1b:97:95:38:8e:a4: + a7:4d:33:92:d5:5e:8c:e4:ab:81:c9:48:dd:39:28:c3:0b:5d: + ea:13:8e:69:b0:e3:b6:e3:fb:d3:fe:a6:24:4c:48:fe:55:63: + dd:27:36:68:a5:51:86:8b:b5:8a:95:4c:ef:89:47:0e:d9:af: + 98:b6:e5:3d:52:5b:a7:b8:5d:d2:d0:bc:b8:7e:cf:65:d3:51: + 78:58:49:27:6c:3b:12:36:21:20:36:dd:e8:ea:d0:9d:55:9d: + e0:06:49:d2:27:58:a4:4a:64:65:72:8e:f9:43:80:53:94:04: + c0:de:0b:e1:42:81:da:c6:a0:1c:c6:d6:8b:d2:1b:ee:39:3b: + e5:c4:9e:99:da:2a:37:88:d7:e5:51:f8:55:d9:c3:4a:a3:69: + ff:3c:20:0c +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAwNTgxN1oXDTA4MDgwOTAwNTgxN1owGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOBhjCBgzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBSYz/gAguzX6RdPvXqHYDKlu521DjAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDQvMA0GCSqGSIb3DQEBCwUAA4IBAQCHfUkS +tbXKNY8srtr8SjWyCSvtfmQ9ojzOpeb0d8pvoPv/0Ebb2PwrCTWj9srBAK7mApOW +//gs9UAY0UOquoCncXyqmbq7WXT7uWRATNbsSvShfjKulI0V8Lq7DCAMWDzrUloC +MlYbl5U4jqSnTTOS1V6M5KuByUjdOSjDC13qE45psOO24/vT/qYkTEj+VWPdJzZo +pVGGi7WKlUzviUcO2a+YtuU9UlunuF3S0Ly4fs9l01F4WEknbDsSNiEgNt3o6tCd +VZ3gBknSJ1ikSmRlco75Q4BTlATA3gvhQoHaxqAcxtaL0hvuOTvlxJ6Z2io3iNfl +UfhV2cNKo2n/PCAM +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/0C.pem b/rpkid/resource-cert-samples/LIR2/0C.pem new file mode 100644 index 00000000..42755368 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/0C.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 12 (0xc) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 00:58:18 2007 GMT + Not After : Aug 9 00:58:18 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Signature Algorithm: sha256WithRSAEncryption + 97:a4:c3:69:4c:4d:c3:a6:15:69:99:75:4b:04:37:02:b4:f2: + 02:ad:5d:22:4b:c8:73:e3:34:d0:20:34:e3:83:48:ef:e2:75: + f8:d7:67:4f:9f:d6:20:a4:0d:b1:ab:ba:64:cd:c6:98:0b:67: + c3:a8:a5:7a:48:fe:4c:a0:34:1c:01:ea:91:79:2c:37:05:56: + 4e:fe:4b:97:c5:f4:65:7b:a2:31:a5:6d:e2:47:c1:15:55:d7: + 90:cb:83:3b:d9:d6:62:3e:09:e1:a4:8b:aa:82:21:de:4b:39: + d5:c2:d1:c8:88:fc:73:ad:f7:e2:ca:c6:ec:7e:12:67:4c:f1: + e2:78:21:bf:b9:59:21:d1:3a:36:bc:6f:e8:1e:be:7a:74:4b: + 6e:60:d2:9d:62:21:ac:26:7d:f4:df:da:37:2e:b2:dd:4c:f1: + 64:b6:ef:75:2a:a8:dd:d2:d2:fb:64:c5:fe:e0:f5:68:44:e4: + 1c:48:99:a9:fb:5d:4b:34:bd:d3:4b:c0:40:e7:21:7c:dd:43: + f1:f7:4d:6b:f2:32:bd:34:14:c5:6c:3c:df:bb:ff:eb:bc:5b: + d2:76:d1:2c:e8:c0:8e:0c:03:3c:2d:a3:6e:76:00:9d:8d:b9: + 7d:86:8a:84:f9:76:7e:af:f3:ef:3c:8b:a6:0b:59:c0:8c:cf: + f8:6f:90:6d +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIBDDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAwNTgxOFoXDTA4MDgwOTAwNTgxOFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOBhjCBgzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBThly4ZcLV//IJPMz1rLN6amzY9fjAOBgNVHQ8BAf8E +BAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L0lTUDMvMA0GCSqGSIb3DQEBCwUAA4IBAQCXpMNp +TE3DphVpmXVLBDcCtPICrV0iS8hz4zTQIDTjg0jv4nX412dPn9YgpA2xq7pkzcaY +C2fDqKV6SP5MoDQcAeqReSw3BVZO/kuXxfRle6IxpW3iR8EVVdeQy4M72dZiPgnh +pIuqgiHeSznVwtHIiPxzrffiysbsfhJnTPHieCG/uVkh0To2vG/oHr56dEtuYNKd +YiGsJn3039o3LrLdTPFktu91Kqjd0tL7ZMX+4PVoROQcSJmp+11LNL3TS8BA5yF8 +3UPx901r8jK9NBTFbDzfu//rvFvSdtEs6MCODAM8LaNudgCdjbl9hoqE+XZ+r/Pv +PIumC1nAjM/4b5Bt +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/0D.pem b/rpkid/resource-cert-samples/LIR2/0D.pem new file mode 100644 index 00000000..a3e8fbab --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/0D.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 13 (0xd) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 39:43:cf:68:33:e0:80:03:70:71:f7:ae:88:a1:cb:0e:11:a3: + 5c:aa:a4:09:a3:4c:cc:b6:73:92:09:2f:50:57:f3:f8:4a:c2: + eb:f0:b8:64:19:37:7b:d2:3b:c9:43:50:ed:89:69:73:05:85: + bd:3c:dd:5b:47:b7:1b:0f:d2:ab:18:93:3a:bf:0a:20:9a:b3: + 2b:4c:b2:e1:08:df:39:53:9b:36:be:6b:54:b4:f3:7f:4d:5d: + 6f:b6:68:ee:26:3f:5f:a0:3f:89:8e:d2:10:54:0e:03:da:4f: + 22:4f:b8:d3:07:e8:51:6b:df:20:4f:2d:5b:67:fa:66:49:34: + 45:77:9f:88:57:aa:53:68:3c:9b:50:b3:71:74:34:79:26:29: + b2:2b:b3:8b:e1:24:fe:56:94:af:cc:56:cb:c6:5d:f3:cf:bb: + ff:16:32:90:96:72:76:14:10:d6:64:52:44:98:49:1b:9b:10: + 17:f8:8d:6d:27:6e:2e:8d:d7:d2:6d:73:31:70:31:fe:8a:be: + 74:06:62:33:13:c5:87:7a:89:c1:af:96:77:1f:af:da:e8:0d: + 38:8f:00:da:b3:3f:29:31:80:a1:32:a1:60:cc:6c:56:cb:8f: + 63:59:1f:a0:e4:50:9c:3e:4e:c3:53:8b:6f:88:b3:3c:97:d3: + 66:91:6e:a7 +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBADlD +z2gz4IADcHH3roihyw4Ro1yqpAmjTMy2c5IJL1BX8/hKwuvwuGQZN3vSO8lDUO2J +aXMFhb083VtHtxsP0qsYkzq/CiCasytMsuEI3zlTmza+a1S0839NXW+2aO4mP1+g +P4mO0hBUDgPaTyJPuNMH6FFr3yBPLVtn+mZJNEV3n4hXqlNoPJtQs3F0NHkmKbIr +s4vhJP5WlK/MVsvGXfPPu/8WMpCWcnYUENZkUkSYSRubEBf4jW0nbi6N19JtczFw +Mf6KvnQGYjMTxYd6icGvlncfr9roDTiPANqzPykxgKEyoWDMbFbLj2NZH6DkUJw+ +TsNTi2+IszyX02aRbqc= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/0E.pem b/rpkid/resource-cert-samples/LIR2/0E.pem new file mode 100644 index 00000000..05f06437 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/0E.pem @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 14 (0xe) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + ab:ee:14:3e:c4:4b:ea:20:a8:9a:0d:48:6e:12:6d:da:9c:c5: + e5:c0:23:8e:d8:13:5f:cf:ed:b6:b6:b7:4a:b7:50:81:c1:61: + 92:22:af:a3:47:60:21:89:74:6e:8a:5a:c6:16:2d:60:8e:c9: + 45:44:62:a6:73:07:3f:d7:db:85:a9:22:a1:f1:7c:b7:a5:e1: + 40:42:e5:0b:1a:a4:80:63:24:79:e8:87:82:6c:fa:ce:74:97: + c0:e2:81:77:bd:9b:06:ea:c8:3c:4d:84:93:44:38:c5:c9:b7: + 94:0a:d1:e9:ee:5f:02:a1:0f:2c:db:af:f4:7a:bb:a7:65:b0: + d6:a5:cb:df:21:ce:b5:4e:46:33:76:95:6b:c8:e5:2e:c6:54: + 14:e0:25:ee:9b:e9:14:42:a6:2b:53:59:36:6d:43:55:91:4f: + 97:08:e0:56:f4:f7:46:83:1d:46:34:6b:26:d7:14:4c:47:23: + 7c:31:73:d7:0d:1f:68:c5:19:ae:b4:c4:db:24:89:ae:a7:3c: + a3:90:7b:db:0d:fa:cc:1f:3f:f9:78:97:ec:c3:72:10:8b:44: + 4d:c7:1d:ae:20:ec:af:19:90:0d:ac:95:16:eb:73:d8:e5:30: + 2e:bc:f9:4e:d3:6a:48:13:f4:d7:b4:c5:a1:1a:c3:ef:b9:81: + e7:6a:fc:a4 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBDjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEAq+4UPsRL6iCo +mg1IbhJt2pzF5cAjjtgTX8/ttra3SrdQgcFhkiKvo0dgIYl0bopaxhYtYI7JRURi +pnMHP9fbhakiofF8t6XhQELlCxqkgGMkeeiHgmz6znSXwOKBd72bBurIPE2Ek0Q4 +xcm3lArR6e5fAqEPLNuv9Hq7p2Ww1qXL3yHOtU5GM3aVa8jlLsZUFOAl7pvpFEKm +K1NZNm1DVZFPlwjgVvT3RoMdRjRrJtcUTEcjfDFz1w0faMUZrrTE2ySJrqc8o5B7 +2w36zB8/+XiX7MNyEItETccdriDsrxmQDayVFutz2OUwLrz5TtNqSBP017TFoRrD +77mB52r8pA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/0F.pem b/rpkid/resource-cert-samples/LIR2/0F.pem new file mode 100644 index 00000000..0509dec8 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/0F.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 15 (0xf) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + d5:b7:00:47:e6:b8:94:45:1f:7b:52:17:86:bc:e3:6c:37:b5: + f8:78:15:78:f9:8f:f1:59:b0:a5:ad:1d:d8:59:d4:9b:09:38: + 36:95:24:3a:9a:18:bb:52:52:19:30:80:1c:08:8c:7d:0c:de: + d5:59:5b:19:99:6c:53:69:d6:bc:b4:8a:f6:df:90:57:29:68: + 4e:db:81:8a:6b:ab:c8:2a:2b:cd:ed:7e:14:09:67:83:5b:ae: + d8:0d:b0:05:56:e5:4b:91:ed:5e:5b:88:b5:cc:71:c4:93:4a: + 57:c5:d5:c2:fb:da:ef:ab:d1:96:84:6b:af:53:80:12:75:7d: + 6c:37:9f:8c:45:e7:8e:3b:e1:a1:20:2e:2c:78:24:0e:98:82: + b7:73:21:0d:9d:8e:12:3a:cc:04:ea:94:e7:7b:c5:ee:c7:66: + 09:ac:b6:7e:d3:07:16:2c:48:3f:f5:38:e4:12:a7:24:50:26: + 7d:8c:1d:07:15:9a:1d:c1:bb:7f:95:44:30:7b:3d:06:ee:10: + 23:be:b0:91:0c:62:77:0f:3f:f1:51:d1:5a:8a:09:0d:83:d6: + 90:7f:41:8e:17:03:f2:c9:04:4e:7f:fb:4d:ab:49:73:de:96: + fd:33:3f:23:90:5b:38:38:73:c8:9a:dc:03:2e:d7:3f:7b:c5: + 96:96:5c:f2 +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBDzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBANW3 +AEfmuJRFH3tSF4a842w3tfh4FXj5j/FZsKWtHdhZ1JsJODaVJDqaGLtSUhkwgBwI +jH0M3tVZWxmZbFNp1ry0ivbfkFcpaE7bgYprq8gqK83tfhQJZ4NbrtgNsAVW5UuR +7V5biLXMccSTSlfF1cL72u+r0ZaEa69TgBJ1fWw3n4xF54474aEgLix4JA6Ygrdz +IQ2djhI6zATqlOd7xe7HZgmstn7TBxYsSD/1OOQSpyRQJn2MHQcVmh3Bu3+VRDB7 +PQbuECO+sJEMYncPP/FR0VqKCQ2D1pB/QY4XA/LJBE5/+02rSXPelv0zPyOQWzg4 +c8ia3AMu1z97xZaWXPI= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/10.pem b/rpkid/resource-cert-samples/LIR2/10.pem new file mode 100644 index 00000000..a1ca8f31 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/10.pem @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 16 (0x10) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + 46:39:56:56:54:34:70:e5:dd:f8:30:56:02:6f:45:81:e2:c3: + f4:1c:fa:82:1e:87:11:3f:64:28:14:22:b2:9b:6d:d0:84:ca: + 78:81:cb:f6:ed:45:5e:fd:7a:f8:e0:9d:a4:c9:8c:f5:a6:f8: + 63:a1:5d:b2:6f:e9:fd:83:1e:1b:82:a9:3a:03:f9:57:3c:81: + 0f:ef:6d:a6:5c:14:8f:38:49:38:c1:26:4b:d1:e5:13:94:77: + 63:b9:f8:7c:fc:bc:82:01:d0:f7:90:94:14:d9:32:b1:49:e3: + b1:e5:0f:da:8c:8e:0f:4a:e3:b1:60:38:b4:88:2f:a0:ed:68: + ee:f8:90:23:b1:1f:9a:6c:7a:24:12:a7:0f:57:aa:81:57:b3: + 37:66:79:1c:a0:9b:dc:f6:80:30:5d:02:5d:1f:9f:cb:e8:fe: + 4e:3d:67:85:2c:40:b4:f9:94:11:57:9c:22:4d:b0:51:83:1d: + bb:aa:83:a1:20:f0:ed:68:c5:82:9e:23:db:e4:ab:45:71:f6: + c6:fd:69:23:fb:dd:7e:cd:f8:32:49:a8:e7:42:c9:64:4b:c0: + e5:c2:c6:88:20:2c:df:89:82:01:f4:4d:e3:a4:fc:71:f5:a8: + 49:cb:88:00:48:a0:2c:19:04:ea:e9:74:b1:e4:a2:7a:63:d1: + 53:5d:e3:13 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBEDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEARjlWVlQ0cOXd ++DBWAm9FgeLD9Bz6gh6HET9kKBQisptt0ITKeIHL9u1FXv16+OCdpMmM9ab4Y6Fd +sm/p/YMeG4KpOgP5VzyBD+9tplwUjzhJOMEmS9HlE5R3Y7n4fPy8ggHQ95CUFNky +sUnjseUP2oyOD0rjsWA4tIgvoO1o7viQI7Efmmx6JBKnD1eqgVezN2Z5HKCb3PaA +MF0CXR+fy+j+Tj1nhSxAtPmUEVecIk2wUYMdu6qDoSDw7WjFgp4j2+SrRXH2xv1p +I/vdfs34Mkmo50LJZEvA5cLGiCAs34mCAfRN46T8cfWoScuIAEigLBkE6ul0seSi +emPRU13jEw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/11.pem b/rpkid/resource-cert-samples/LIR2/11.pem new file mode 100644 index 00000000..44471417 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/11.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 17 (0x11) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Signature Algorithm: sha256WithRSAEncryption + a8:55:fe:aa:11:d7:ec:08:34:d2:a3:70:f6:13:67:b5:7e:68: + 6e:b1:e8:3e:f6:e8:49:3f:4d:aa:86:19:01:43:2a:93:de:f3: + 43:06:cc:ff:bf:23:81:a4:42:50:92:cf:d9:64:de:a3:92:1c: + 3c:08:f3:97:6d:76:3c:b3:5f:cb:70:49:52:ec:bf:5d:c0:fc: + 72:4a:79:d9:19:02:96:cc:f5:3c:3d:b8:ea:b1:5a:6e:9d:17: + 08:d8:3e:4e:9f:d6:b6:6d:3f:0c:f5:28:ca:84:3d:65:1a:ba: + d5:72:52:e5:e6:01:d9:66:df:a7:42:4c:6e:76:f6:50:13:78: + 29:13:bd:0c:bc:a8:15:fb:9d:56:5e:cb:c2:36:86:b9:41:74: + 2c:79:83:06:fb:83:6b:80:56:9f:a3:b6:01:ab:58:d9:20:ba: + 9c:2c:47:b7:06:f0:55:18:89:02:34:e1:ae:f1:53:a2:66:5a: + 86:3c:2a:c2:ba:92:33:6e:18:20:2c:ae:f8:4f:bc:2f:2f:e4: + cc:f2:80:de:f5:2c:4d:4a:dc:29:3e:af:f9:f0:86:4a:a7:b7: + 3e:7a:42:11:69:5a:35:8a:5c:96:00:eb:65:d9:a8:2b:03:db: + fb:7e:c8:c9:dd:8c:55:b8:b6:da:58:51:a9:b6:59:60:45:6d: + b2:b5:64:7e +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIBETANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMTMzOVoXDTA4MDgwOTAxMTMzOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaNmMGQwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAF +hiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDQvMA0GCSqGSIb3 +DQEBCwUAA4IBAQCoVf6qEdfsCDTSo3D2E2e1fmhuseg+9uhJP02qhhkBQyqT3vND +Bsz/vyOBpEJQks/ZZN6jkhw8CPOXbXY8s1/LcElS7L9dwPxySnnZGQKWzPU8Pbjq +sVpunRcI2D5On9a2bT8M9SjKhD1lGrrVclLl5gHZZt+nQkxudvZQE3gpE70MvKgV ++51WXsvCNoa5QXQseYMG+4NrgFafo7YBq1jZILqcLEe3BvBVGIkCNOGu8VOiZlqG +PCrCupIzbhggLK74T7wvL+TM8oDe9SxNStwpPq/58IZKp7c+ekIRaVo1ilyWAOtl +2agrA9v7fsjJ3YxVuLbaWFGptllgRW2ytWR+ +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/12.pem b/rpkid/resource-cert-samples/LIR2/12.pem new file mode 100644 index 00000000..91e549e7 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/12.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 18 (0x12) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Signature Algorithm: sha256WithRSAEncryption + 7c:d9:69:a5:fc:d6:93:9c:2a:ee:7e:1b:f5:86:69:22:8c:66: + fb:d1:97:63:65:5c:1d:7c:81:c0:ff:ce:6f:48:bd:37:14:7b: + a6:51:c0:8d:82:a8:a0:97:e4:9a:cd:e8:b8:f8:6c:66:78:50: + 69:b4:66:82:a0:a4:4d:d8:0e:44:60:92:11:49:ab:70:28:95: + 41:a2:6f:8f:b9:8e:45:81:6f:74:4e:14:f9:a5:b6:07:bd:12: + 99:f9:7b:57:9a:0c:06:52:a0:93:d4:dd:23:ab:ae:92:0f:6d: + 8f:76:7b:30:cd:f6:07:ee:63:ff:82:88:bf:e1:25:73:98:f4: + 77:b0:00:16:cc:df:47:8d:c9:54:d0:f3:6b:04:f2:f1:5e:96: + e6:22:9b:3b:bf:25:89:2f:60:6e:4d:1a:ae:ed:d8:79:7a:8c: + e6:37:ac:ec:23:60:65:d6:63:38:64:77:1e:2f:b9:17:5f:8d: + 02:06:43:36:01:3f:20:f5:eb:ea:f6:a3:a4:f3:7f:da:d7:ae: + 92:6f:fe:b1:f7:4c:8c:ef:4d:e1:06:98:43:77:de:ea:07:1a: + 6a:3e:75:79:c1:5e:62:f3:f2:1d:8c:5e:d3:2f:6b:a5:f0:6e: + 8b:da:58:97:ec:16:35:3c:a5:7a:56:8f:80:c5:97:e3:30:df: + ab:8d:cd:36 +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIBEjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMTMzOVoXDTA4MDgwOTAxMTMzOVowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaNmMGQwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYBBQUHAQsENTAzMDEGCCsGAQUFBzAF +hiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDMvMA0GCSqGSIb3 +DQEBCwUAA4IBAQB82Wml/NaTnCrufhv1hmkijGb70ZdjZVwdfIHA/85vSL03FHum +UcCNgqigl+Sazei4+GxmeFBptGaCoKRN2A5EYJIRSatwKJVBom+PuY5FgW90ThT5 +pbYHvRKZ+XtXmgwGUqCT1N0jq66SD22PdnswzfYH7mP/goi/4SVzmPR3sAAWzN9H +jclU0PNrBPLxXpbmIps7vyWJL2BuTRqu7dh5eozmN6zsI2Bl1mM4ZHceL7kXX40C +BkM2AT8g9evq9qOk83/a166Sb/6x90yM703hBphDd97qBxpqPnV5wV5i8/IdjF7T +L2ul8G6L2liX7BY1PKV6Vo+AxZfjMN+rjc02 +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/13.pem b/rpkid/resource-cert-samples/LIR2/13.pem new file mode 100644 index 00000000..415517d5 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/13.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 19 (0x13) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + c4:46:cc:b9:a5:85:42:ff:9b:32:39:a8:0f:f6:51:35:09:fa: + b0:a8:1c:14:4f:72:ff:2c:17:fb:ab:6a:c2:c4:48:2a:2a:fe: + 42:c5:c2:92:4a:37:01:b7:69:b1:6c:83:52:2d:8e:8c:aa:04: + 82:bb:93:64:c2:0a:a9:7f:bd:82:2a:82:e4:df:2c:0e:5c:16: + 12:c7:33:39:0b:f7:99:5b:f5:5d:e0:d3:f8:48:3e:ff:25:a0: + e2:38:bb:fe:f1:fa:44:da:54:41:b2:1a:2c:1b:41:d2:54:3e: + 3b:43:35:a0:71:72:ff:a8:76:03:e2:9f:78:75:45:6c:8f:5e: + c2:5b:4f:e7:6b:ab:66:0a:d4:6c:47:10:ab:90:c5:b2:c9:53: + a6:2a:a4:c2:ca:b9:b3:f1:3d:9a:75:d0:d4:94:aa:79:6d:ec: + 16:1a:85:91:1d:d8:4a:ef:79:88:9e:2c:96:b0:bd:33:6b:e4: + 21:f1:ee:68:14:4b:58:cc:11:8f:6f:05:2d:6f:c3:99:9b:e6: + 8f:06:6b:a6:f9:45:2f:41:9f:38:9b:c8:80:98:1f:15:02:7d: + f1:08:19:a5:5a:30:c1:eb:72:ee:f4:a7:c5:fa:7a:35:af:24: + 62:b1:54:4c:d5:4c:42:ef:fe:9e:5f:65:80:4f:42:7e:e3:7f: + 35:18:5c:6b +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBEzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMTUxMFoXDTA4MDgwOTAxMTUxMFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBAMRG +zLmlhUL/mzI5qA/2UTUJ+rCoHBRPcv8sF/urasLESCoq/kLFwpJKNwG3abFsg1It +joyqBIK7k2TCCql/vYIqguTfLA5cFhLHMzkL95lb9V3g0/hIPv8loOI4u/7x+kTa +VEGyGiwbQdJUPjtDNaBxcv+odgPin3h1RWyPXsJbT+drq2YK1GxHEKuQxbLJU6Yq +pMLKubPxPZp10NSUqnlt7BYahZEd2ErveYieLJawvTNr5CHx7mgUS1jMEY9vBS1v +w5mb5o8Ga6b5RS9BnzibyICYHxUCffEIGaVaMMHrcu70p8X6ejWvJGKxVEzVTELv +/p5fZYBPQn7jfzUYXGs= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/14.pem b/rpkid/resource-cert-samples/LIR2/14.pem new file mode 100644 index 00000000..c31add0d --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/14.pem @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 20 (0x14) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + 58:b8:cd:b3:34:ce:a2:4f:39:c1:15:09:b4:95:f8:5e:7b:23: + 9b:fb:42:6f:92:5a:29:ce:17:c1:99:d6:c7:39:00:43:e1:60: + bb:17:f5:34:df:33:86:73:77:f4:8f:6f:d5:88:1d:68:be:f8: + 13:fd:02:38:fa:aa:9c:39:80:1b:dc:50:72:23:d6:0a:64:55: + 14:78:fe:64:1a:63:53:bb:e6:78:35:88:2c:d1:7a:1b:3c:23: + 72:8a:a5:c0:5b:5c:7c:85:b1:26:a1:c0:ce:a9:c0:16:5d:30: + eb:2d:7e:69:48:57:6b:dc:34:88:56:47:99:ed:31:47:c1:3e: + ff:b6:9e:69:cc:68:2e:1c:4c:77:27:d4:a5:45:f9:cb:a5:21: + 23:46:18:20:2a:a0:7c:b9:eb:d1:d8:91:30:2e:b4:16:07:b6: + 9f:3a:28:71:1d:ee:f9:a7:88:59:45:78:b7:36:0e:15:f6:77: + e4:69:b4:b1:61:9a:5c:66:0f:c5:7c:67:d7:af:d3:24:24:4e: + e7:94:ce:a6:d6:3b:5a:c8:d7:49:58:93:d7:f5:41:2f:b3:9a: + 93:c8:6c:ec:2f:be:6a:c1:74:2a:44:bb:5c:7b:d8:16:f6:01: + ed:5b:e8:6b:02:48:ef:5b:57:f4:07:fd:5f:47:e6:06:38:3c: + a2:4b:d0:f9 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBFDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MDgxMDAxMTUxMFoXDTA4MDgwOTAxMTUxMFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEAWLjNszTOok85 +wRUJtJX4Xnsjm/tCb5JaKc4XwZnWxzkAQ+Fguxf1NN8zhnN39I9v1YgdaL74E/0C +OPqqnDmAG9xQciPWCmRVFHj+ZBpjU7vmeDWILNF6GzwjcoqlwFtcfIWxJqHAzqnA +Fl0w6y1+aUhXa9w0iFZHme0xR8E+/7aeacxoLhxMdyfUpUX5y6UhI0YYICqgfLnr +0diRMC60Fge2nzoocR3u+aeIWUV4tzYOFfZ35Gm0sWGaXGYPxXxn16/TJCRO55TO +ptY7WsjXSViT1/VBL7Oak8hs7C++asF0KkS7XHvYFvYB7VvoawJI71tX9Af9X0fm +Bjg8okvQ+Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/15.pem b/rpkid/resource-cert-samples/LIR2/15.pem new file mode 100644 index 00000000..8b2c9de2 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/15.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 21 (0x15) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + d5:47:18:ec:04:c6:96:47:1d:cc:78:2c:ca:f4:89:7a:bb:9f: + 92:b3:3a:f0:64:2e:36:34:25:98:0d:d7:74:95:5b:2a:9d:ee: + 00:42:52:17:35:c9:66:b4:7c:8c:15:84:1a:35:ee:e7:9e:21: + 93:6e:ab:67:a1:e3:7d:66:51:47:14:cb:13:f9:ae:e3:0e:75: + c6:ec:34:1d:97:85:7f:a2:c0:e0:f5:c7:d6:e4:ce:67:97:46: + 9c:72:2d:32:27:d3:05:c9:5e:d4:67:81:c9:7c:0a:e5:16:4f: + 37:6d:c2:e0:2b:a1:e9:de:ce:e9:05:28:3c:98:6b:51:0b:1f: + d7:27:98:3e:90:8a:79:24:29:72:d6:0d:f7:db:78:16:53:bd: + 94:b6:04:40:37:a7:bc:ca:38:d4:eb:9a:5f:de:45:8d:1d:c7: + 5f:58:a6:95:eb:77:1a:b1:66:cb:f6:cc:a2:f2:34:2c:db:b2: + d4:71:6e:08:9e:ad:58:40:13:13:5d:2e:5d:5a:5a:f0:38:1c: + 51:fa:ba:2d:9c:cb:6b:3c:86:bf:b6:73:53:83:66:a0:97:f6: + 37:9d:37:f4:9e:82:0f:f8:be:2c:a6:28:a9:04:fa:70:bb:f8: + d3:6a:1a:2c:c0:c7:97:6b:d6:8a:9c:f4:50:7b:0e:26:6a:a4: + 05:e2:b1:0f +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBFTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAxOTE5MDYwN1oXDTA4MTAxODE5MDYwN1owGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBANVH +GOwExpZHHcx4LMr0iXq7n5KzOvBkLjY0JZgN13SVWyqd7gBCUhc1yWa0fIwVhBo1 +7ueeIZNuq2eh431mUUcUyxP5ruMOdcbsNB2XhX+iwOD1x9bkzmeXRpxyLTIn0wXJ +XtRngcl8CuUWTzdtwuAroenezukFKDyYa1ELH9cnmD6QinkkKXLWDffbeBZTvZS2 +BEA3p7zKONTrml/eRY0dx19YppXrdxqxZsv2zKLyNCzbstRxbgierVhAExNdLl1a +WvA4HFH6ui2cy2s8hr+2c1ODZqCX9jedN/Segg/4viymKKkE+nC7+NNqGizAx5dr +1oqc9FB7DiZqpAXisQ8= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/16.pem b/rpkid/resource-cert-samples/LIR2/16.pem new file mode 100644 index 00000000..45d8df97 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/16.pem @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 22 (0x16) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + c9:f3:8e:d8:05:88:2d:19:ef:5d:2a:09:16:52:73:01:fa:86: + 22:a6:ec:1c:27:02:13:5c:0e:25:8f:0a:8b:da:a9:d3:5b:68: + db:54:0f:6b:28:47:3e:cf:16:e8:15:d1:01:eb:c0:f3:30:f5: + 8b:62:3c:29:97:be:29:45:2d:60:36:04:eb:cc:38:24:8f:eb: + 2c:5b:e9:c0:36:ff:a9:22:b3:6b:f5:fb:e9:a9:69:71:c5:f2: + 41:64:a4:2f:1f:b4:ad:56:01:c3:d9:02:c6:b8:88:de:fb:9a: + fd:31:95:47:87:ba:97:7c:3c:0c:7d:ad:31:3f:0f:67:66:b7: + c3:15:46:7c:7b:2c:8d:3d:82:2b:6f:85:91:97:9d:9c:4e:f1: + 0d:92:d6:5e:48:ed:d6:94:f5:e5:ad:17:09:38:af:97:1f:0d: + af:b3:f1:f1:88:37:83:05:c0:1b:d7:32:5d:4a:9e:ae:ae:05: + db:a5:51:e2:20:a3:88:29:73:ac:9d:31:f0:20:79:5f:e1:95: + cb:79:68:bf:36:16:61:71:db:05:57:92:d1:cc:f4:6d:99:a8: + 8b:14:8f:40:03:0b:91:7e:68:42:3a:ab:fd:de:1c:4b:3c:33: + 0e:2f:89:be:67:28:a8:e5:47:cd:c5:dc:26:1b:d2:fe:22:7b: + 7c:75:7f:9b +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBFjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAxOTE5MDYwN1oXDTA4MTAxODE5MDYwN1owGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEAyfOO2AWILRnv +XSoJFlJzAfqGIqbsHCcCE1wOJY8Ki9qp01to21QPayhHPs8W6BXRAevA8zD1i2I8 +KZe+KUUtYDYE68w4JI/rLFvpwDb/qSKza/X76alpccXyQWSkLx+0rVYBw9kCxriI +3vua/TGVR4e6l3w8DH2tMT8PZ2a3wxVGfHssjT2CK2+FkZednE7xDZLWXkjt1pT1 +5a0XCTivlx8Nr7Px8Yg3gwXAG9cyXUqerq4F26VR4iCjiClzrJ0x8CB5X+GVy3lo +vzYWYXHbBVeS0cz0bZmoixSPQAMLkX5oQjqr/d4cSzwzDi+JvmcoqOVHzcXcJhvS +/iJ7fHV/mw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/17.pem b/rpkid/resource-cert-samples/LIR2/17.pem new file mode 100644 index 00000000..881741df --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/17.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 23 (0x17) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 29 16:03:52 2007 GMT + Not After : Oct 28 16:03:52 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 16:93:aa:d0:4e:99:13:31:ad:92:a7:ed:88:46:05:31:3e:ea: + 46:16:93:44:64:30:98:c3:20:62:b6:f4:05:e8:f5:ca:2d:46: + 65:6b:d0:47:24:cf:aa:95:56:6c:61:22:ce:38:8a:3c:33:6e: + ef:2e:f6:f0:6f:35:47:7e:bb:c9:97:be:da:87:38:9c:dd:d4: + 2f:b1:0a:43:c0:60:65:92:aa:c1:a7:6b:4a:b0:bd:65:e8:89: + f1:20:0e:02:f5:31:79:aa:32:9e:fb:e2:c6:0f:43:58:e5:3b: + 41:10:8c:8b:2b:64:0b:10:68:6e:a5:f1:b2:8c:38:be:b5:5b: + 82:df:af:17:58:ff:fc:37:ee:fe:9b:37:53:2c:d7:90:01:d3: + c5:38:8b:5f:85:bd:02:3e:00:1f:e1:e4:75:19:ad:e2:d3:5f: + eb:48:32:e6:82:79:fc:36:cf:9e:dc:aa:13:f4:36:69:87:e0: + f3:4e:d1:21:2d:f6:04:d1:c0:37:55:5e:2f:58:b3:65:49:ed: + 24:96:33:9a:fe:d9:ba:a8:61:ab:45:2f:95:8d:39:33:17:15: + c1:bf:26:01:79:40:43:1b:50:40:0d:98:39:5a:d5:2b:af:9f: + fd:8a:5d:b6:20:01:c6:0f:03:00:d5:39:75:f7:24:62:9c:bf: + 6b:a5:f8:a8 +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBFzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAyOTE2MDM1MloXDTA4MTAyODE2MDM1MlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBABaT +qtBOmRMxrZKn7YhGBTE+6kYWk0RkMJjDIGK29AXo9cotRmVr0Eckz6qVVmxhIs44 +ijwzbu8u9vBvNUd+u8mXvtqHOJzd1C+xCkPAYGWSqsGna0qwvWXoifEgDgL1MXmq +Mp774sYPQ1jlO0EQjIsrZAsQaG6l8bKMOL61W4LfrxdY//w37v6bN1Ms15AB08U4 +i1+FvQI+AB/h5HUZreLTX+tIMuaCefw2z57cqhP0NmmH4PNO0SEt9gTRwDdVXi9Y +s2VJ7SSWM5r+2bqoYatFL5WNOTMXFcG/JgF5QEMbUEANmDla1Suvn/2KXbYgAcYP +AwDVOXX3JGKcv2ul+Kg= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/18.pem b/rpkid/resource-cert-samples/LIR2/18.pem new file mode 100644 index 00000000..d3d0cfac --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/18.pem @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 24 (0x18) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 29 16:03:52 2007 GMT + Not After : Oct 28 16:03:52 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + 1f:e4:62:d3:16:47:b1:20:de:bd:de:98:ec:ec:0e:8f:89:3e: + 61:c7:4c:40:6f:4c:41:e8:f6:e7:b1:c1:f3:09:5a:6d:e6:53: + 62:fd:44:de:d5:42:01:73:d6:5c:ca:39:dc:97:8d:2c:29:83: + 4a:a3:09:dd:dc:44:9b:12:6e:d7:be:93:e0:2e:d2:a4:6f:16: + 1c:4a:e7:fc:3d:d9:5a:59:95:2f:6c:54:a5:cb:25:82:9b:4f: + ed:3e:24:13:5b:38:69:37:dc:f2:58:1b:c9:b0:74:a7:12:36: + b4:23:b7:db:63:bb:ff:3e:bd:82:e2:b4:bf:1c:13:22:2a:b8: + 5a:cc:f2:4c:55:e0:48:36:fe:07:62:b7:8a:3a:4e:51:19:7c: + 0d:1b:19:0c:83:28:45:e4:c1:9b:b7:bd:4a:9c:eb:f4:90:87: + 83:39:7c:b2:cf:4d:78:2a:2b:b4:e7:4f:ee:63:54:13:5a:ac: + 1e:82:c0:e4:3d:7d:a3:40:6d:a0:22:64:25:e8:af:5d:e9:f6: + 85:1a:a7:98:e0:77:f4:94:03:3c:84:62:e0:f1:be:f5:e4:53: + aa:0c:b9:24:19:b4:92:e1:05:4b:eb:16:ab:3c:3d:cc:60:c2: + ce:69:d5:66:4a:29:12:72:3e:85:f7:06:97:f3:b4:ba:26:5a: + d1:f5:2c:a8 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBGDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAyOTE2MDM1MloXDTA4MTAyODE2MDM1MlowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEAH+Ri0xZHsSDe +vd6Y7OwOj4k+YcdMQG9MQej257HB8wlabeZTYv1E3tVCAXPWXMo53JeNLCmDSqMJ +3dxEmxJu176T4C7SpG8WHErn/D3ZWlmVL2xUpcslgptP7T4kE1s4aTfc8lgbybB0 +pxI2tCO322O7/z69guK0vxwTIiq4WszyTFXgSDb+B2K3ijpOURl8DRsZDIMoReTB +m7e9Spzr9JCHgzl8ss9NeCortOdP7mNUE1qsHoLA5D19o0BtoCJkJeivXen2hRqn +mOB39JQDPIRi4PG+9eRTqgy5JBm0kuEFS+sWqzw9zGDCzmnVZkopEnI+hfcGl/O0 +uiZa0fUsqA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/19.pem b/rpkid/resource-cert-samples/LIR2/19.pem new file mode 100644 index 00000000..b8a5574d --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/19.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b3:05:ad:fb:06:db:49:81:ad:df:50:04:e0:18: + e8:f1:f4:83:e6:26:4b:9e:fc:2d:1c:df:e2:2b:57: + 38:48:eb:c4:13:a3:fd:6c:c5:e2:1c:d5:3a:fd:66: + d7:ff:2e:ff:4a:b7:5a:c5:f4:19:b1:8d:9e:a8:49: + 4e:3b:20:46:da:08:de:b0:9c:71:5e:77:a9:14:e2: + 4c:20:0e:ff:c5:20:fa:f3:6d:3b:0b:ce:e1:72:b6: + ff:f5:75:7f:3e:35:af:1c:4f:e0:92:45:f0:1f:57: + ce:38:6c:3e:f6:2f:96:73:1f:60:db:63:8e:63:b3: + f3:35:85:e9:00:39:92:b3:9f:4a:6b:bd:e9:a0:00: + ca:be:fe:27:78:9b:44:23:53:56:13:48:7d:cd:d1: + 01:3a:88:36:66:4f:7f:f3:2c:9f:c7:c4:52:75:1e: + 0e:3c:50:29:c9:39:e0:ff:90:4d:95:47:56:13:e1: + 30:f3:30:33:ee:02:60:70:b0:bd:dd:3b:aa:b9:2a: + 86:bf:e7:e2:a8:ec:64:2a:0b:12:05:08:03:7e:d8: + 41:bb:23:de:29:e5:0f:9b:3b:00:2e:4f:0e:f5:31: + 91:ec:bd:34:02:68:6d:d7:71:a9:8c:4d:23:d2:43: + ae:d7:f8:e5:69:2b:ae:13:86:13:27:38:72:48:70: + f8:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:CF:F8:00:82:EC:D7:E9:17:4F:BD:7A:87:60:32:A5:BB:9D:B5:0E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP4/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 7d:61:80:4e:39:a7:2f:32:90:94:a0:93:18:80:b5:2c:28:44: + ab:84:74:d5:e2:94:b6:7a:b2:1a:ae:54:f1:61:53:c8:b1:fc: + cc:96:0e:44:b3:62:a1:05:a0:e4:d5:ad:0b:96:86:53:0e:f9: + 17:04:e5:30:ab:21:20:3e:91:66:30:08:a4:c2:4e:14:a6:80: + 41:90:0c:a6:d6:14:43:0e:2b:60:55:8f:01:64:d6:72:24:43: + e9:b1:67:6b:da:a1:fe:93:0d:03:85:bb:49:49:13:13:70:db: + a7:a8:70:e5:93:12:7c:4d:fe:ba:d0:13:f4:7e:23:c7:2c:ea: + 7b:a1:2a:75:39:39:ba:b3:58:ec:c6:8e:89:ce:6b:3e:d0:0d: + 90:e5:e0:ef:41:f8:0b:5c:0a:cf:ec:3d:1e:c7:33:ad:2a:57: + 34:cc:77:2a:f7:e6:7c:73:f0:79:c0:34:d1:a5:07:f6:fb:66: + 4a:c4:1f:72:51:30:e5:af:9a:f6:63:da:8d:b3:90:b5:62:9e: + 53:ff:29:77:50:2f:6c:cc:86:80:e9:3a:a9:eb:4b:d2:bf:d0: + c0:77:4f:9e:ed:57:7a:0d:f9:65:93:87:5a:f4:a9:35:8c:4d: + 19:d0:56:a0:36:38:51:5d:52:54:a5:1f:ce:6f:30:7c:27:71: + da:42:79:8e +-----BEGIN CERTIFICATE----- +MIIDyjCCArKgAwIBAgIBGTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQNDCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALMFrfsG20mBrd9QBOAY6PH0g+YmS578LRzf4itXOEjrxBOj/WzF +4hzVOv1m1/8u/0q3WsX0GbGNnqhJTjsgRtoI3rCccV53qRTiTCAO/8Ug+vNtOwvO +4XK2//V1fz41rxxP4JJF8B9XzjhsPvYvlnMfYNtjjmOz8zWF6QA5krOfSmu96aAA +yr7+J3ibRCNTVhNIfc3RATqINmZPf/Msn8fEUnUeDjxQKck54P+QTZVHVhPhMPMw +M+4CYHCwvd07qrkqhr/n4qjsZCoLEgUIA37YQbsj3inlD5s7AC5PDvUxkey9NAJo +bddxqYxNI9JDrtf45WkrrhOGEyc4ckhw+B8CAwEAAaOCARcwggETMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFJjP+ACC7NfpF0+9eodgMqW7nbUOMA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQNC8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MBoGCCsGAQUFBwEIAQH/BAswCaAHMAUCAwD8IDAsBggrBgEFBQcBBwEB/wQdMBsw +GQQCAAIwEwMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQELBQADggEBAH1h +gE45py8ykJSgkxiAtSwoRKuEdNXilLZ6shquVPFhU8ix/MyWDkSzYqEFoOTVrQuW +hlMO+RcE5TCrISA+kWYwCKTCThSmgEGQDKbWFEMOK2BVjwFk1nIkQ+mxZ2vaof6T +DQOFu0lJExNw26eocOWTEnxN/rrQE/R+I8cs6nuhKnU5ObqzWOzGjonOaz7QDZDl +4O9B+AtcCs/sPR7HM60qVzTMdyr35nxz8HnANNGlB/b7ZkrEH3JRMOWvmvZj2o2z +kLVinlP/KXdQL2zMhoDpOqnrS9K/0MB3T57tV3oN+WWTh1r0qTWMTRnQVqA2OFFd +UlSlH85vMHwncdpCeY4= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/1A.pem b/rpkid/resource-cert-samples/LIR2/1A.pem new file mode 100644 index 00000000..e8e63c2a --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/1A.pem @@ -0,0 +1,89 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR2 + Validity + Not Before: Oct 29 16:32:34 2007 GMT + Not After : Oct 28 16:32:34 2008 GMT + Subject: CN=TEST ENTITY ISP3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:d1:24:75:c1:44:29:12:9a:fe:8c:1d:1e:01:aa: + 05:ea:1f:47:ab:1a:8d:cf:d2:42:a1:31:7d:9c:3e: + 66:72:ce:2c:df:01:17:15:40:40:94:d1:ae:6d:d7: + ca:fd:52:d9:ec:5f:f0:64:30:a3:42:70:a1:a1:6f: + 05:2d:10:ee:b1:05:65:3f:f2:c1:78:84:cc:1d:66: + ee:35:52:c7:ae:99:76:b1:63:4d:c1:2e:24:fb:f7: + 43:2d:0b:21:0d:d3:d6:b7:cf:60:50:49:3d:17:53: + 3e:2b:f8:68:95:7e:1c:c5:e2:1e:73:06:8c:b2:53: + a1:70:39:d9:9e:e5:56:fc:58:d0:b3:f3:90:37:5a: + 6e:5a:3b:ef:05:be:f1:64:2f:31:2e:5a:58:f2:30: + 7a:73:52:7f:b8:0d:71:3c:63:52:17:0f:b7:07:3b: + c3:46:b9:9c:88:bc:73:df:14:5a:bc:16:fc:f8:79: + b0:a1:41:87:05:f9:52:a8:36:61:62:de:90:68:21: + 83:bb:8c:83:47:af:bb:82:3e:44:28:97:2b:02:a8: + 81:04:05:16:cd:bf:ef:9e:02:f9:54:66:2a:28:99: + 79:2b:b5:19:10:d4:df:35:95:f3:3f:fa:13:6a:06: + 6f:f5:38:28:d6:b6:0b:8a:70:5b:8d:70:8d:34:99: + 96:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + E1:97:2E:19:70:B5:7F:FC:82:4F:33:3D:6B:2C:DE:9A:9B:36:3D:7E + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR2.cer + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + + Signature Algorithm: sha256WithRSAEncryption + 01:16:7e:4c:bd:b7:d8:6c:23:58:7f:26:76:ac:97:37:06:64: + 2d:a8:66:59:65:d3:9a:1c:d6:79:11:d3:e9:87:cc:1f:a9:9d: + 8b:74:1e:f0:b7:47:58:e9:40:e0:d5:29:2b:1f:5b:89:72:2c: + fe:ca:cf:8a:04:e6:3e:e8:d9:f6:26:15:18:c4:67:10:c4:a8: + 13:59:1b:cc:04:e8:96:a9:68:c8:90:54:e9:16:16:c0:7f:dd: + 1a:7d:5a:af:82:26:70:ff:c4:34:3f:d6:f3:3e:0b:45:61:f9: + a4:5e:59:b9:cf:6b:6b:32:f1:8d:2e:4f:78:de:ac:0d:5f:1e: + b0:59:b2:a9:c5:a4:cc:48:87:50:6c:8d:7d:41:ef:cd:68:4d: + 3b:e7:a9:f2:2d:50:ad:7e:d0:84:51:03:55:b6:a3:f1:e3:0a: + 46:f8:e7:23:b6:7b:76:5d:8b:13:a5:14:ac:07:e5:9c:13:df: + 6f:b2:a0:48:3d:00:3e:f0:16:7f:6d:b4:c0:e7:1f:8d:86:7b: + 9e:6e:31:17:22:98:d4:53:82:6b:21:01:d2:82:10:9f:43:fc: + c5:df:92:56:b9:eb:10:44:dc:46:58:82:3b:05:54:14:58:e1: + 2c:f8:2f:ca:e3:54:0b:d1:f1:87:5a:67:9f:3b:b3:a7:28:b3: + bb:5b:bf:1c +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBGjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIyMB4XDTA3MTAyOTE2MzIzNFoXDTA4MTAyODE2MzIzNFowGzEZ +MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMzCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANEkdcFEKRKa/owdHgGqBeofR6sajc/SQqExfZw+ZnLOLN8BFxVA +QJTRrm3Xyv1S2exf8GQwo0JwoaFvBS0Q7rEFZT/ywXiEzB1m7jVSx66ZdrFjTcEu +JPv3Qy0LIQ3T1rfPYFBJPRdTPiv4aJV+HMXiHnMGjLJToXA52Z7lVvxY0LPzkDda +blo77wW+8WQvMS5aWPIwenNSf7gNcTxjUhcPtwc7w0a5nIi8c98UWrwW/Ph5sKFB +hwX5Uqg2YWLekGghg7uMg0evu4I+RCiXKwKogQQFFs2/754C+VRmKiiZeSu1GRDU +3zWV8z/6E2oGb/U4KNa2C4pwW41wjTSZlj8CAwEAAaOCARAwggEMMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFOGXLhlwtX/8gk8zPWss3pqbNj1+MA4GA1UdDwEB +/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29t +YmF0cy1yLXVzLmhhY3Rybi5uZXQvSVNQMy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjIuY2Vy +MEEGCCsGAQUFBwEHAQH/BDIwMDAuBAIAAjAoMCYDEQIgAQ24AAAAAAAAAAAAAABE +AxEAIAENuAAAAAAAAAAAAAABADANBgkqhkiG9w0BAQsFAAOCAQEAARZ+TL232Gwj +WH8mdqyXNwZkLahmWWXTmhzWeRHT6YfMH6mdi3Qe8LdHWOlA4NUpKx9biXIs/srP +igTmPujZ9iYVGMRnEMSoE1kbzATolqloyJBU6RYWwH/dGn1ar4ImcP/END/W8z4L +RWH5pF5Zuc9razLxjS5PeN6sDV8esFmyqcWkzEiHUGyNfUHvzWhNO+ep8i1QrX7Q +hFEDVbaj8eMKRvjnI7Z7dl2LE6UUrAflnBPfb7KgSD0APvAWf220wOcfjYZ7nm4x +FyKY1FOCayEB0oIQn0P8xd+SVrnrEETcRliCOwVUFFjhLPgvyuNUC9Hxh1pnnzuz +pyizu1u/HA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR2/index b/rpkid/resource-cert-samples/LIR2/index new file mode 100644 index 00000000..50320ebe --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/index @@ -0,0 +1,26 @@ +V 080731054527Z 01 unknown /CN=TEST ENTITY ISP4 +V 080731054528Z 02 unknown /CN=TEST ENTITY ISP3 +V 080731140529Z 03 unknown /CN=TEST ENTITY ISP4 +V 080731140529Z 04 unknown /CN=TEST ENTITY ISP3 +V 080731140829Z 05 unknown /CN=TEST ENTITY ISP4 +V 080731140829Z 06 unknown /CN=TEST ENTITY ISP3 +V 080731140935Z 07 unknown /CN=TEST ENTITY ISP4 +V 080731140935Z 08 unknown /CN=TEST ENTITY ISP3 +V 080731144822Z 09 unknown /CN=TEST ENTITY ISP4 +V 080731144822Z 0A unknown /CN=TEST ENTITY ISP3 +V 080809005817Z 0B unknown /CN=TEST ENTITY ISP4 +V 080809005818Z 0C unknown /CN=TEST ENTITY ISP3 +V 080809010231Z 0D unknown /CN=TEST ENTITY ISP4 +V 080809010231Z 0E unknown /CN=TEST ENTITY ISP3 +V 080809010709Z 0F unknown /CN=TEST ENTITY ISP4 +V 080809010709Z 10 unknown /CN=TEST ENTITY ISP3 +V 080809011339Z 11 unknown /CN=TEST ENTITY ISP4 +V 080809011339Z 12 unknown /CN=TEST ENTITY ISP3 +V 080809011510Z 13 unknown /CN=TEST ENTITY ISP4 +V 080809011510Z 14 unknown /CN=TEST ENTITY ISP3 +V 081018190607Z 15 unknown /CN=TEST ENTITY ISP4 +V 081018190607Z 16 unknown /CN=TEST ENTITY ISP3 +V 081028160352Z 17 unknown /CN=TEST ENTITY ISP4 +V 081028160352Z 18 unknown /CN=TEST ENTITY ISP3 +V 081028163234Z 19 unknown /CN=TEST ENTITY ISP4 +V 081028163234Z 1A unknown /CN=TEST ENTITY ISP3 diff --git a/rpkid/resource-cert-samples/LIR2/index.attr b/rpkid/resource-cert-samples/LIR2/index.attr new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/index.attr @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/LIR2/index.attr.old b/rpkid/resource-cert-samples/LIR2/index.attr.old new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/index.attr.old @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/LIR2/index.old b/rpkid/resource-cert-samples/LIR2/index.old new file mode 100644 index 00000000..219f32cb --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/index.old @@ -0,0 +1,25 @@ +V 080731054527Z 01 unknown /CN=TEST ENTITY ISP4 +V 080731054528Z 02 unknown /CN=TEST ENTITY ISP3 +V 080731140529Z 03 unknown /CN=TEST ENTITY ISP4 +V 080731140529Z 04 unknown /CN=TEST ENTITY ISP3 +V 080731140829Z 05 unknown /CN=TEST ENTITY ISP4 +V 080731140829Z 06 unknown /CN=TEST ENTITY ISP3 +V 080731140935Z 07 unknown /CN=TEST ENTITY ISP4 +V 080731140935Z 08 unknown /CN=TEST ENTITY ISP3 +V 080731144822Z 09 unknown /CN=TEST ENTITY ISP4 +V 080731144822Z 0A unknown /CN=TEST ENTITY ISP3 +V 080809005817Z 0B unknown /CN=TEST ENTITY ISP4 +V 080809005818Z 0C unknown /CN=TEST ENTITY ISP3 +V 080809010231Z 0D unknown /CN=TEST ENTITY ISP4 +V 080809010231Z 0E unknown /CN=TEST ENTITY ISP3 +V 080809010709Z 0F unknown /CN=TEST ENTITY ISP4 +V 080809010709Z 10 unknown /CN=TEST ENTITY ISP3 +V 080809011339Z 11 unknown /CN=TEST ENTITY ISP4 +V 080809011339Z 12 unknown /CN=TEST ENTITY ISP3 +V 080809011510Z 13 unknown /CN=TEST ENTITY ISP4 +V 080809011510Z 14 unknown /CN=TEST ENTITY ISP3 +V 081018190607Z 15 unknown /CN=TEST ENTITY ISP4 +V 081018190607Z 16 unknown /CN=TEST ENTITY ISP3 +V 081028160352Z 17 unknown /CN=TEST ENTITY ISP4 +V 081028160352Z 18 unknown /CN=TEST ENTITY ISP3 +V 081028163234Z 19 unknown /CN=TEST ENTITY ISP4 diff --git a/rpkid/resource-cert-samples/LIR2/serial b/rpkid/resource-cert-samples/LIR2/serial new file mode 100644 index 00000000..8787ed81 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/serial @@ -0,0 +1 @@ +1B diff --git a/rpkid/resource-cert-samples/LIR2/serial.old b/rpkid/resource-cert-samples/LIR2/serial.old new file mode 100644 index 00000000..268de3f3 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR2/serial.old @@ -0,0 +1 @@ +1A diff --git a/rpkid/resource-cert-samples/LIR3.cer b/rpkid/resource-cert-samples/LIR3.cer new file mode 100644 index 00000000..c466f22e --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3.cer @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 48 (0x30) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 18:25:58:2e:ac:98:93:f2:ce:b9:cf:fe:31:1d:4e:a4:64:bc: + f6:59:19:88:af:01:cb:72:68:04:4a:41:5f:d6:dc:86:f6:c3: + a3:83:06:ba:96:4c:fd:eb:26:a5:5d:64:07:08:fa:87:94:df: + 00:b2:44:2e:dd:23:f6:cb:6b:80:b4:65:3d:61:e1:4c:3f:de: + db:a1:90:0f:da:0d:f1:cc:7c:72:1d:0e:07:50:87:3b:76:4b: + 17:06:67:b8:a4:65:4e:94:7c:1e:e0:3f:99:3f:90:8e:9a:c5: + 42:6f:35:bb:78:48:6b:0f:83:59:b9:57:70:94:dc:ad:d9:c4: + c0:bb:72:9c:c4:0d:e9:d8:69:7b:f1:dc:72:52:95:38:3c:6c: + c0:ed:e9:19:f3:48:9c:e5:60:d9:46:55:66:ab:b2:fb:bd:cd: + f0:c3:43:eb:48:1a:86:1f:71:6a:b6:11:65:e2:88:43:ab:4e: + 69:a3:a7:ba:5c:09:f6:30:c5:93:f3:6a:72:be:9a:cf:5f:ba: + ea:3a:76:4f:43:03:13:12:4f:a6:ca:ed:c5:09:2f:2d:be:4a: + 02:50:05:7d:f5:2c:61:af:1b:79:31:ad:b1:3b:4c:61:b0:99: + 9f:95:19:ab:71:5f:b0:df:0f:9b:bf:38:42:a6:38:b3:a8:e8: + 2c:c1:68:13 +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBMDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBABglWC6smJPy +zrnP/jEdTqRkvPZZGYivActyaARKQV/W3Ib2w6ODBrqWTP3rJqVdZAcI+oeU3wCy +RC7dI/bLa4C0ZT1h4Uw/3tuhkA/aDfHMfHIdDgdQhzt2SxcGZ7ikZU6UfB7gP5k/ +kI6axUJvNbt4SGsPg1m5V3CU3K3ZxMC7cpzEDenYaXvx3HJSlTg8bMDt6RnzSJzl +YNlGVWarsvu9zfDDQ+tIGoYfcWq2EWXiiEOrTmmjp7pcCfYwxZPzanK+ms9fuuo6 +dk9DAxMST6bK7cUJLy2+SgJQBX31LGGvG3kxrbE7TGGwmZ+VGatxX7DfD5u/OEKm +OLOo6CzBaBM= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3.cnf b/rpkid/resource-cert-samples/LIR3.cnf new file mode 100644 index 00000000..0f65ce12 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = LIR3.cer +serial = LIR3/serial +private_key = LIR3.key +database = LIR3/index +new_certs_dir = LIR3 +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY LIR3 + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/LIR3/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/RIR.cer +sbgp-autonomousSysNum = critical,AS:64534-64540 +sbgp-ipAddrBlock = critical,IPv4:10.0.0.0/24,IPv4:10.3.0.0/24,IPv6:2001:db8::a00:0/120,IPv6:2001:db8::a03:0/120 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/LIR3/ +authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/RIR.cer +sbgp-autonomousSysNum = critical,AS:64534-64540 +sbgp-ipAddrBlock = critical,IPv4:10.0.0.0/24,IPv4:10.3.0.0/24,IPv6:2001:db8::a00:0/120,IPv6:2001:db8::a03:0/120 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/LIR3.key b/rpkid/resource-cert-samples/LIR3.key new file mode 100644 index 00000000..d4d89f21 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP +5tw9g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxcc +q8GMN0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+ +zoS+tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o +3nlszv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzX +BWJshlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABAoIBAFqJhaqrK7KsemYP +08JExnR6g0TneIEn5veWrvrkoGft5h/riu5RK966zz4d6SlS9Omgk2/NbCRNJ91+ +XgNs4a8fCOnhx9u41ux6P1FUzBlwlvlHvYTh7cU4WxTC/ohDlnor56ZP6h32+bjt +5VfzjcF2dBaZ04sPRUIaT6t9mWtaGmUolbHPAV6nsVfE+n6O5zLC2rTVhvdRuE83 +OUuw0PsgmathhpCSdm+kYhjgYEKb5gIv9EUQ8k0+b1+JTczJXJ0UbJpAQFGAnUPm +kW3D4G4RedlIlP5ngCwPGa6cgTixTVZqMkP7BaBfPdkKuwvPOAHWjhy5JU37GQfj +YubemXECgYEA2IYt0k1rHjT3r2hfMdUcScx2tTGzHBa0YkeDMtz3gpSDQEzehhHj +UtP/vj+/XrVGK8V0Zv5bkKdJLjUCzCSVPjS5vESVHdzXrRFQUItMcG7FoqDV/hIt +sFE2yYnrEx93xoHgSK6r0Btnn7GGKeYg8p8nLPI2Ed+vgmVsQ3C0VnUCgYEAwN8c +iA5YNZKCOnL3ZFN7cYVVar6k04/T+StWRCqQyoKCUqTU2w0TMQ6HRzwpoCbTIPow +Zz6cHY121pP0CI0Pdl0YYCbyQXLH0+hhRxBZ8LNBWVkuvn6Fv81J9idpO+yeCD0L +dZzBXj1ZFa4T4zSWN5TdpcHd5yMjxl9Xo9J5Ed0CgYBtarDxG0pMQ3v+2gFxDz5y +VK6QNgNK6HZTS8wTAfLZu+7vqWix24xCqPsNyu0MERLav7do7JSc7sxeW0+EleAN +RVuutgGcy6L5xEwPx7TjBDc/TYOWFt2bwg6rndR7H2XJnIwYbpxIV/DvlCg2OCLi +OGb1oZiNQ7pPbK1fDy8ymQKBgF5WAoeNtJlncqkSCG0a5BsPY0sVulr8U2rhRo2K +4E0c7o9rre0ChSuOdp5iD94Uf1n25WvqVMOjqMelkEwKatCzEjQdeIqIkLLWS5ZN +qiAwHTuNgm6MRfEdgRqUBkXYIyfWa99376Cfkw4mmfWciAjhmFP18gqWxm3FvoET +dkJFAoGBAMVd38IG4NUbjhHs/8X0YyOD5CASxgFo29ByzCVpl/NUascqkpHRDh0l +nhvGleI9YZvXSR8K8SJCkg65DwMfbAdlZKyrzr+Eo6/x6LlLOVDLMXFHiri+1Oaz +nqjwZBLkzWGxtbVr+q1qWJUPzxzODgdPaaagMzrEK5BriWdw4Fil +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/LIR3.req b/rpkid/resource-cert-samples/LIR3.req new file mode 100644 index 00000000..e22e9dd3 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3.req @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDtzCCAp8CAQAwGzEZMBcGA1UEAxMQVEVTVCBFTlRJVFkgTElSMzCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMhV2FkrxEY1Mveptyt2SwPD1iffsiF +VREmTHzwa2ganmoMj+bcPYNYKsx3rBlzb1rzbiSszRrcHQtMRPVtiwoXPYb56P7m +YOWfQGrllOiaVhcXHKvBjDdAK1W/LF7cjcolf4pf7vsWhuvgCNMm5eNwxQxr+xuP +a1z24kpYpTUB6gUbPs6EvrU/bRgWS2jleUyIfbalZaM6wjLcrY+KBe726XqA2hKp +D1q10tMxrD7TGSUtKN55bM79d2bV4y+py/mFjCC7ooYj8JOVIAR4x8cHpv7w9EW7 +z3gr3c6cCKVGaBBM1wVibIZaLX8GOMJNu0SHAEN50o/za7L0XBy5aAECAwEAAaCC +AVUwggFRBgkqhkiG9w0BCQ4xggFCMIIBPjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQQYIKwYB +BQUHAQsENTAzMDEGCCsGAQUFBzAFhiVyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0xJUjMvMEMGCCsGAQUFBwEBBDcwNTAzBggrBgEFBQcwAoYncnN5bmM6 +Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9SSVIuY2VyMCEGCCsGAQUFBwEIAQH/ +BBIwEKAOMAwwCgIDAPwWAgMA/BwwUQYIKwYBBQUHAQcBAf8EQjBAMBIEAgABMAwD +BAAKAAADBAAKAwAwKgQCAAIwJAMQACABDbgAAAAAAAAAAAoAAAMQACABDbgAAAAA +AAAAAAoDADANBgkqhkiG9w0BAQUFAAOCAQEAmuU3fGe4uEXPaD9zY3elmjHYcZ2m +rMClydTpxMjNwJIoNdEP7DNolC3aHkDj27gbD2MVuMeKDb7XksmLgnAiJc9f6hMb +NxpfLPVLHL5GTLQoaKUeLnNZenWElgFU3J2ebPFkhsqItb3YE3ok/0VGRhS+fMrI +vNfPlx/7JpeuS0IZuEHrhQ4qy5xq+c9E9xFlytT2Txsqz6xWBccOO18cZ24nrexJ +9xLS9RuD16z0RCM/WsGqlA6AiQXYKd3T8fOuB6CEklZNSCY4iLjK5jJDx/8HgHtg +6FOQWM1bFGmOpKBFuSjQjNqgfpYpKaIIT81gPSUy/oG9bT5G8mkN4iWDOg== +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/LIR3/01.pem b/rpkid/resource-cert-samples/LIR3/01.pem new file mode 100644 index 00000000..5f7a0a59 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/01.pem @@ -0,0 +1,92 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 1 14:48:18 2007 GMT + Not After : Jul 31 14:48:18 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Authority Key Identifier: + keyid:98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha1WithRSAEncryption + 50:6b:1b:84:77:e5:93:08:5e:dc:42:24:86:70:11:24:f8:11: + 91:68:0f:08:9b:49:f6:4a:27:85:13:93:ed:59:49:d0:f8:a6: + d2:44:ab:25:69:41:59:40:8b:78:ab:d2:8d:09:a8:c0:fe:20: + 49:d7:47:c4:de:19:a1:79:d2:8d:bd:29:08:37:a8:9a:b6:5e: + 56:25:50:da:1c:47:e8:bf:ed:1e:49:79:48:81:07:97:d3:2f: + 14:e7:bc:8e:e9:ef:82:9a:bd:18:60:08:08:57:22:6e:45:bb: + 1a:9f:69:e0:0f:86:42:49:ec:d2:5f:6f:fb:01:b0:b9:56:66: + aa:62:64:e1:80:68:ee:11:d9:45:b8:3a:fc:81:4b:d4:c0:f7: + 1c:a7:97:9a:7d:f7:94:2c:05:86:35:2e:0c:83:17:45:b6:3f: + d6:4e:5f:ba:2d:77:41:4a:25:37:b9:8b:4a:4e:b4:36:f5:c9: + f7:84:e0:6b:af:1c:d5:e0:88:a5:aa:6f:87:10:18:c3:af:46: + ee:63:97:e3:66:98:bb:51:67:89:d6:4d:8f:b2:ed:f6:33:ae: + 5b:44:44:1e:56:af:ac:6d:7b:1f:13:f9:96:84:ee:08:db:4b: + 1f:56:48:ac:97:0e:ee:b5:33:f4:2d:03:62:a3:32:6d:85:85: + 52:a6:47:ca +-----BEGIN CERTIFICATE----- +MIIDxjCCAq6gAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgxOFoXDTA4MDczMTE0NDgxOFowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjggESMIIBDjAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQth8Ga+FgrvcL4fjBHs6mIN8nrRjAfBgNVHSME +GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB +BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0lTUDVjLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j +Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwIQYIKwYBBQUHAQgB +Af8EEjAQoA4wDDAKAgMA/BYCAwD8HDANBgkqhkiG9w0BAQUFAAOCAQEAUGsbhHfl +kwhe3EIkhnARJPgRkWgPCJtJ9konhROT7VlJ0Pim0kSrJWlBWUCLeKvSjQmowP4g +SddHxN4ZoXnSjb0pCDeomrZeViVQ2hxH6L/tHkl5SIEHl9MvFOe8junvgpq9GGAI +CFcibkW7Gp9p4A+GQkns0l9v+wGwuVZmqmJk4YBo7hHZRbg6/IFL1MD3HKeXmn33 +lCwFhjUuDIMXRbY/1k5fui13QUolN7mLSk60NvXJ94Tga68c1eCIpapvhxAYw69G +7mOX42aYu1FnidZNj7Lt9jOuW0REHlavrG17HxP5loTuCNtLH1ZIrJcO7rUz9C0D +YqMybYWFUqZHyg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/02.pem b/rpkid/resource-cert-samples/LIR3/02.pem new file mode 100644 index 00000000..47299c75 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/02.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 2 (0x2) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 1 14:48:20 2007 GMT + Not After : Jul 31 14:48:20 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Authority Key Identifier: + keyid:98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha1WithRSAEncryption + 44:d8:15:ad:71:7e:e9:6e:ec:33:2b:42:ed:8c:8a:4a:df:82: + a4:91:99:57:b0:2f:cc:a3:59:2a:ff:24:c5:ac:e1:79:fa:d7: + 92:ba:72:2b:47:1a:cf:80:6d:08:76:e9:b5:91:60:35:1f:dd: + 0c:e0:bd:33:7c:27:d0:f7:11:4e:1f:48:4a:05:bc:6d:e3:5f: + ba:dd:7a:ba:3d:45:7d:97:72:94:9b:cd:31:76:b8:96:df:f0: + 7d:16:f3:2a:a3:e2:72:eb:02:1f:49:ee:b6:44:48:5b:69:99: + b8:bb:80:3b:cb:f5:bc:aa:f8:ba:68:19:53:ec:ff:ad:75:ae: + 82:51:00:ec:e7:81:c2:6b:cf:a2:a2:a2:c5:b8:04:47:91:ad: + 9d:33:72:48:a2:15:55:ad:43:52:8f:f6:09:a3:d3:fd:88:d3: + e3:c3:f4:cd:71:e8:cb:aa:e7:36:07:27:d9:e9:a4:a1:e8:33: + cd:2d:9c:37:ee:48:e4:8f:8e:f0:84:67:64:89:ea:9a:23:e0: + 12:01:25:80:41:70:fa:b8:3a:c7:0d:b7:c9:ac:79:37:2a:b1: + d7:62:79:ea:db:74:b4:f5:86:86:b6:1e:d5:d0:b0:29:96:a3: + 58:a9:f7:3f:df:8d:31:c1:90:d1:df:1b:c3:f4:14:f8:1d:d1: + c9:57:95:7f +-----BEGIN CERTIFICATE----- +MIID3jCCAsagAwIBAgIBAjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgyMFoXDTA4MDczMTE0NDgyMFowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEqMIIBJjAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAfBgNVHSME +GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB +BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j +Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwOQYIKwYBBQUHAQcB +Af8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACABDbgAAAAAAAAAAAoDADAN +BgkqhkiG9w0BAQUFAAOCAQEARNgVrXF+6W7sMytC7YyKSt+CpJGZV7AvzKNZKv8k +xazhefrXkrpyK0caz4BtCHbptZFgNR/dDOC9M3wn0PcRTh9ISgW8beNfut16uj1F +fZdylJvNMXa4lt/wfRbzKqPicusCH0nutkRIW2mZuLuAO8v1vKr4umgZU+z/rXWu +glEA7OeBwmvPoqKixbgER5GtnTNySKIVVa1DUo/2CaPT/YjT48P0zXHoy6rnNgcn +2emkoegzzS2cN+5I5I+O8IRnZInqmiPgEgElgEFw+rg6xw23yax5Nyqx12J56tt0 +tPWGhrYe1dCwKZajWKn3P9+NMcGQ0d8bw/QU+B3RyVeVfw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/03.pem b/rpkid/resource-cert-samples/LIR3/03.pem new file mode 100644 index 00000000..50780320 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/03.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3 (0x3) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 1 14:48:22 2007 GMT + Not After : Jul 31 14:48:22 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Authority Key Identifier: + keyid:98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha1WithRSAEncryption + 93:32:99:62:dd:c5:ea:f0:1f:58:50:10:37:d3:39:37:d9:f6: + 92:51:26:2f:d6:fd:6f:82:b8:56:6b:fd:0c:f3:42:04:56:ed: + 67:2b:42:02:98:56:07:f1:48:2d:2e:b4:32:bb:d7:1c:27:14: + a0:e9:ad:3b:1d:fe:0b:0e:43:df:22:97:f1:8f:73:d8:76:d6: + 9b:0d:bf:ee:20:e8:77:17:a3:83:01:b3:23:43:85:6b:bf:6f: + cc:2e:69:47:05:73:f4:21:45:94:c8:ae:21:28:41:16:91:ee: + 48:49:66:5a:67:31:71:04:c9:49:71:94:d5:f4:86:5c:7b:c6: + 3e:fe:91:1d:21:b3:14:98:54:ad:6e:51:28:e9:a8:22:ba:a4: + d0:9c:8c:e3:d4:7c:21:10:0c:f9:a3:00:f8:c3:9f:00:b4:53: + 34:06:af:5b:4a:43:95:cb:b2:fb:8c:18:00:86:11:28:5e:24: + e1:90:d8:67:d8:00:fc:b6:27:1f:9e:b1:be:91:17:c1:11:35: + 6e:9c:60:50:2e:67:f3:04:2b:74:89:f9:fe:92:73:dd:1e:44: + 81:67:b8:08:63:a8:9f:f4:8c:bc:47:de:f1:df:8b:11:cd:02: + ec:b9:ad:0b:06:28:0c:e2:84:36:83:85:f3:4f:46:56:46:d5: + f5:f8:cb:f3 +-----BEGIN CERTIFICATE----- +MIID3jCCAsagAwIBAgIBAzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEqMIIBJjAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAfBgNVHSME +GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB +BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 +cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j +Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwOQYIKwYBBQUHAQcB +Af8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACABDbgAAAAAAAAAAAoAADAN +BgkqhkiG9w0BAQUFAAOCAQEAkzKZYt3F6vAfWFAQN9M5N9n2klEmL9b9b4K4Vmv9 +DPNCBFbtZytCAphWB/FILS60MrvXHCcUoOmtOx3+Cw5D3yKX8Y9z2HbWmw2/7iDo +dxejgwGzI0OFa79vzC5pRwVz9CFFlMiuIShBFpHuSElmWmcxcQTJSXGU1fSGXHvG +Pv6RHSGzFJhUrW5RKOmoIrqk0JyM49R8IRAM+aMA+MOfALRTNAavW0pDlcuy+4wY +AIYRKF4k4ZDYZ9gA/LYnH56xvpEXwRE1bpxgUC5n8wQrdIn5/pJz3R5EgWe4CGOo +n/SMvEfe8d+LEc0C7LmtCwYoDOKENoOF809GVkbV9fjL8w== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/04.pem b/rpkid/resource-cert-samples/LIR3/04.pem new file mode 100644 index 00000000..2f339d8c --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/04.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4 (0x4) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Signature Algorithm: sha256WithRSAEncryption + 54:9d:09:01:1d:1f:b7:ac:f9:0a:05:b4:68:22:0d:e2:d4:b3: + 28:80:eb:2b:e9:86:2b:6a:03:e5:a7:d4:34:cd:58:fd:0d:90: + d9:f4:1d:0d:95:ff:cf:23:1c:9d:dd:38:e4:54:4d:1f:9a:1d: + 20:8e:c0:b9:06:37:0b:06:ba:e9:6d:df:f4:07:d6:1d:2b:0b: + c4:16:24:38:98:6e:56:85:0f:c3:43:87:af:0c:b5:90:c1:c4: + 84:96:1d:d9:d0:d0:35:fe:ff:c1:ab:38:42:70:19:bd:3e:b2: + eb:4e:0a:20:a5:18:c0:aa:e8:8e:6b:ad:4f:51:a2:04:82:d6: + ef:12:33:57:fb:6e:9b:a3:9b:9e:a9:49:15:cd:f1:e1:38:40: + 11:af:06:88:48:52:2e:0a:ec:9a:03:4a:1b:3f:86:cf:67:f3: + 83:34:f9:53:f7:af:8f:cb:67:1a:23:b2:0c:89:38:4a:1e:44: + d1:25:4d:22:02:41:8a:1f:45:7d:8b:99:c1:83:90:1e:5b:f1: + 1b:ba:67:ba:c2:b8:93:2e:cd:5f:23:41:ba:f2:d5:2a:6e:33: + 1f:63:4c:ac:a5:be:fa:d9:18:13:42:71:43:2e:e2:24:5c:fb: + 25:5a:39:ab:b0:0a:81:31:51:13:65:eb:7d:0d:2b:7a:7c:3e: + 09:c0:4c:c8 +-----BEGIN CERTIFICATE----- +MIIDOjCCAiKgAwIBAgIBBDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAwNTgxN1oXDTA4MDgwOTAwNTgxN1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgYcwgYQwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wDQYJKoZIhvcNAQELBQADggEBAFSd +CQEdH7es+QoFtGgiDeLUsyiA6yvphitqA+Wn1DTNWP0NkNn0HQ2V/88jHJ3dOORU +TR+aHSCOwLkGNwsGuult3/QH1h0rC8QWJDiYblaFD8NDh68MtZDBxISWHdnQ0DX+ +/8GrOEJwGb0+sutOCiClGMCq6I5rrU9RogSC1u8SM1f7bpujm56pSRXN8eE4QBGv +BohIUi4K7JoDShs/hs9n84M0+VP3r4/LZxojsgyJOEoeRNElTSICQYofRX2LmcGD +kB5b8Ru6Z7rCuJMuzV8jQbry1SpuMx9jTKylvvrZGBNCcUMu4iRc+yVaOauwCoEx +URNl630NK3p8PgnATMg= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/05.pem b/rpkid/resource-cert-samples/LIR3/05.pem new file mode 100644 index 00000000..b3efd764 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/05.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 5 (0x5) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Signature Algorithm: sha256WithRSAEncryption + 60:54:f0:88:c1:6e:25:22:90:35:05:b5:d9:a0:ca:1c:22:da: + 3e:32:f7:a2:c3:b7:31:f0:02:11:66:8f:be:be:ae:c7:69:bc: + 47:b9:ed:6e:d2:8f:b4:cc:0d:43:00:7a:3e:e0:d4:3d:08:c7: + c3:4e:5e:40:6a:30:bb:30:7c:f4:5e:2e:e0:74:fc:5d:8e:b4: + 2f:2e:98:12:41:31:0b:4c:d3:14:f5:1d:5c:66:e3:4f:e2:e1: + 1e:cb:48:80:b2:3b:59:10:30:90:7a:cd:9c:e4:a5:14:f8:b9: + 2a:39:3b:0b:a5:5d:5b:f2:4f:93:d9:2c:fb:3e:14:1b:f1:cd: + 8b:0c:9d:85:9e:1f:7c:b1:a9:97:fd:9b:51:12:62:c9:a7:9f: + a2:d0:86:ac:40:e5:6f:f5:57:00:df:60:5a:65:20:ae:a2:25: + 84:c3:04:d0:de:2e:15:28:22:cf:0d:d6:3a:03:70:2b:89:4e: + 72:08:00:ef:5f:fb:3f:82:6b:5b:a1:55:4f:60:54:aa:60:cb: + 3a:e4:5e:16:f7:e6:ca:30:5a:c9:1e:51:5f:b1:70:e8:7f:e4: + eb:be:e1:c0:37:b3:e3:46:a5:c1:e7:e7:30:81:8f:23:c7:24: + 63:c1:36:4a:fa:df:4d:34:35:86:fb:cc:ce:ba:2e:0e:d1:27: + bd:bc:55:54 +-----BEGIN CERTIFICATE----- +MIIDOjCCAiKgAwIBAgIBBTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAwNTgxN1oXDTA4MDgwOTAwNTgxN1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjgYcwgYQwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUbLNllP7Gn0pQnU2LQBqh/ZcXl5IwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yi8wDQYJKoZIhvcNAQELBQADggEBAGBU +8IjBbiUikDUFtdmgyhwi2j4y96LDtzHwAhFmj76+rsdpvEe57W7Sj7TMDUMAej7g +1D0Ix8NOXkBqMLswfPReLuB0/F2OtC8umBJBMQtM0xT1HVxm40/i4R7LSICyO1kQ +MJB6zZzkpRT4uSo5OwulXVvyT5PZLPs+FBvxzYsMnYWeH3yxqZf9m1ESYsmnn6LQ +hqxA5W/1VwDfYFplIK6iJYTDBNDeLhUoIs8N1joDcCuJTnIIAO9f+z+Ca1uhVU9g +VKpgyzrkXhb35sowWskeUV+xcOh/5Ou+4cA3s+NGpcHn5zCBjyPHJGPBNkr63000 +NYb7zM66Lg7RJ728VVQ= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/06.pem b/rpkid/resource-cert-samples/LIR3/06.pem new file mode 100644 index 00000000..cbf5d122 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/06.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 6 (0x6) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Signature Algorithm: sha256WithRSAEncryption + 6b:75:56:d5:11:aa:e9:73:f5:1c:b8:ec:d8:52:52:8f:84:c4: + 3f:80:26:cc:f3:57:f5:71:db:2d:e6:33:9b:25:e4:c0:d8:ff: + 6e:96:30:d0:be:e4:0c:16:c1:0c:2f:5f:bc:94:44:14:64:74: + 11:37:2e:42:c5:2e:31:ca:09:2e:ca:d1:4e:76:74:a4:0d:2a: + 92:50:3e:c4:6d:85:98:23:e2:ce:28:9e:67:8e:35:27:af:06: + af:fb:af:e4:28:c6:ac:ad:e9:29:f9:5d:ba:fb:26:5a:e4:7c: + 0c:29:f0:d3:a5:b7:b8:b0:3b:93:6b:cb:6a:3f:73:b1:e0:2c: + c2:6e:35:6b:c9:56:e0:0e:b4:64:94:6a:7e:eb:be:52:2d:22: + 2c:4e:9d:09:8d:cb:20:5d:c2:f9:51:40:d4:f9:a5:0d:b3:4b: + 0c:a2:8a:fe:d1:63:16:54:68:1c:8d:d3:12:9b:96:84:9d:d9: + ba:02:68:04:7f:88:ac:2a:5b:f5:31:0a:d1:35:36:6b:ab:96: + c3:de:56:16:a8:71:a7:af:c5:a4:42:24:ba:a4:cf:2b:99:96: + 8a:eb:ce:5a:6b:40:0a:36:55:be:c5:ab:50:46:8f:66:4d:7d: + 6c:04:11:2a:0c:e0:2b:11:5e:53:48:32:39:f8:62:58:25:59: + c8:7e:31:22 +-----BEGIN CERTIFICATE----- +MIIDOjCCAiKgAwIBAgIBBjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAwNTgxN1oXDTA4MDgwOTAwNTgxN1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjgYcwgYQwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUCfAUC3n7C/+o71S57D65i9DLnOwwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1YS8wDQYJKoZIhvcNAQELBQADggEBAGt1 +VtURqulz9Ry47NhSUo+ExD+AJszzV/Vx2y3mM5sl5MDY/26WMNC+5AwWwQwvX7yU +RBRkdBE3LkLFLjHKCS7K0U52dKQNKpJQPsRthZgj4s4onmeONSevBq/7r+Qoxqyt +6Sn5Xbr7JlrkfAwp8NOlt7iwO5Nry2o/c7HgLMJuNWvJVuAOtGSUan7rvlItIixO +nQmNyyBdwvlRQNT5pQ2zSwyiiv7RYxZUaByN0xKbloSd2boCaAR/iKwqW/UxCtE1 +NmurlsPeVhaocaevxaRCJLqkzyuZlorrzlprQAo2Vb7Fq1BGj2ZNfWwEESoM4CsR +XlNIMjn4YlglWch+MSI= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/07.pem b/rpkid/resource-cert-samples/LIR3/07.pem new file mode 100644 index 00000000..96c90b92 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/07.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 0c:a5:20:ee:a9:16:f5:45:6f:f6:55:c7:42:48:01:84:8a:e6: + be:11:15:47:85:bd:8b:f1:11:b9:32:0f:77:52:bf:64:cd:f9: + f2:c9:70:78:0e:d7:21:e0:79:4e:7e:08:a3:9f:07:0d:73:55: + 79:31:3f:93:a0:cb:88:3f:91:7b:83:6a:da:57:92:71:6c:a2: + 03:dc:e8:3d:dc:ab:07:5d:30:d1:62:fe:28:40:29:07:80:b1: + 41:36:58:fa:f0:a6:6a:ae:c8:a5:7d:01:e9:cb:84:7d:c7:39: + ec:87:c2:14:3b:ae:7a:85:66:6c:da:72:88:7e:aa:6b:81:a6: + 3d:bc:5d:de:fd:ad:20:42:8f:1e:75:73:4e:18:11:95:0e:87: + 15:d6:be:01:0a:77:ca:33:ce:d2:3b:9e:07:4a:55:e5:7a:70: + 46:e6:59:46:79:6e:0f:3d:1d:98:d1:a4:59:50:d6:22:e0:f1: + cd:44:97:72:9f:67:3a:23:ec:c7:68:44:5c:84:ba:30:60:01: + 06:78:dd:96:cf:98:e0:24:9b:f7:38:ea:6c:55:7a:f2:78:d6: + 0f:b3:03:1b:d9:d6:cc:b6:c4:b5:42:75:f8:fd:6f:bc:f0:8f: + 23:ba:8a:22:6b:f9:cc:d8:90:76:d4:7c:78:b5:ff:ee:96:6e: + f8:3b:db:31 +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBBzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBAAylIO6pFvVFb/ZVx0JIAYSK5r4RFUeFvYvxEbkyD3dSv2TN+fLJcHgO +1yHgeU5+CKOfBw1zVXkxP5Ogy4g/kXuDatpXknFsogPc6D3cqwddMNFi/ihAKQeA +sUE2WPrwpmquyKV9AenLhH3HOeyHwhQ7rnqFZmzacoh+qmuBpj28Xd79rSBCjx51 +c04YEZUOhxXWvgEKd8ozztI7ngdKVeV6cEbmWUZ5bg89HZjRpFlQ1iLg8c1El3Kf +Zzoj7MdoRFyEujBgAQZ43ZbPmOAkm/c46mxVevJ41g+zAxvZ1sy2xLVCdfj9b7zw +jyO6iiJr+czYkHbUfHi1/+6Wbvg72zE= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/08.pem b/rpkid/resource-cert-samples/LIR3/08.pem new file mode 100644 index 00000000..eda14481 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/08.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 8 (0x8) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 13:01:ba:b0:04:4c:97:5c:4a:37:a9:4f:0d:4e:ba:3a:b4:7f: + ba:30:a6:e8:d6:ad:5a:6f:d2:67:23:a4:92:33:b2:b7:3d:8f: + e6:57:95:d4:98:b5:d4:4d:95:dc:36:e0:39:02:7d:b9:49:6e: + 27:6e:d6:a1:37:85:fa:59:bf:97:5d:73:63:64:88:a7:87:36: + 17:8b:ed:40:8c:3c:29:f6:75:3e:cf:22:5b:83:d6:f6:b7:5d: + d3:05:c7:93:5d:d0:f3:5e:38:3b:21:66:0d:ef:ac:66:d9:a9: + 38:ee:0a:cc:8a:d5:1a:5a:8e:8d:05:df:f9:29:18:b7:0c:11: + 4f:e4:b3:34:f3:b7:f8:da:c5:6b:15:e1:1f:a4:29:e1:26:99: + 57:1c:08:83:2d:1c:15:39:bb:d6:23:4c:40:9d:be:2c:ce:12: + 31:ea:47:15:2d:c2:59:d1:02:95:cb:7f:21:6c:86:2b:b5:58: + 02:80:9c:81:5f:b9:34:c8:d9:b9:47:64:22:2b:ec:37:41:ac: + f5:b7:3d:d2:f4:da:56:c3:ed:dd:f3:fe:13:83:b5:e7:23:53: + 18:63:87:9a:6b:b6:89:16:c1:72:0a:95:7d:74:93:6d:ee:2d: + 54:ac:69:d0:06:03:71:fc:e9:7d:8f:ec:b3:a9:12:ef:06:a3: + 85:85:f4:13 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBCDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAEwG6sARMl1xKN6lPDU66 +OrR/ujCm6NatWm/SZyOkkjOytz2P5leV1Ji11E2V3DbgOQJ9uUluJ27WoTeF+lm/ +l11zY2SIp4c2F4vtQIw8KfZ1Ps8iW4PW9rdd0wXHk13Q8144OyFmDe+sZtmpOO4K +zIrVGlqOjQXf+SkYtwwRT+SzNPO3+NrFaxXhH6Qp4SaZVxwIgy0cFTm71iNMQJ2+ +LM4SMepHFS3CWdEClct/IWyGK7VYAoCcgV+5NMjZuUdkIivsN0Gs9bc90vTaVsPt +3fP+E4O15yNTGGOHmmu2iRbBcgqVfXSTbe4tVKxp0AYDcfzpfY/ss6kS7wajhYX0 +Ew== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/09.pem b/rpkid/resource-cert-samples/LIR3/09.pem new file mode 100644 index 00000000..280892fd --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/09.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 9 (0x9) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + a2:9f:a6:5b:b3:c0:3c:68:b5:0f:d2:2f:fb:1a:6e:88:bb:29: + 53:68:29:48:c1:0e:8a:b6:02:58:24:16:d9:9c:e6:75:da:c6: + f1:24:51:d9:2e:a1:e1:46:ae:03:bb:55:2f:5c:0e:01:ce:cf: + 1b:65:3c:c7:7e:3c:37:84:88:86:70:91:eb:31:03:ba:48:f0: + 70:2f:b3:fe:a6:9d:62:75:a1:16:c8:10:a9:27:38:b1:34:53: + d7:4c:30:58:3f:49:c8:a5:59:b5:0c:7d:e1:70:40:ad:57:83: + 2b:66:cd:d7:82:28:85:f2:b0:ef:0e:ee:28:02:ac:59:27:b9: + e7:9f:a3:5a:09:da:34:b5:27:62:f5:7f:6b:d3:0b:85:66:f7: + fd:7d:cc:30:28:49:5a:da:1d:9f:21:38:d6:10:59:9e:e8:a8: + 5b:02:23:18:c8:20:e2:e7:df:34:a9:c0:aa:99:ec:20:25:35: + 38:a8:36:2a:08:e2:98:23:2c:ed:f0:85:2d:0c:2f:dc:a2:81: + 60:7b:f3:1b:53:ab:dd:f2:ea:1e:e7:bc:4d:20:a9:5e:a3:02: + 3c:24:c0:73:66:e1:2b:c1:8b:c5:7d:f7:04:09:8b:38:1a:95: + 6b:c0:d8:23:10:18:9d:61:37:03:d5:76:29:f2:a8:4e:a4:78: + 37:d1:5d:59 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBCTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMDIzMVoXDTA4MDgwOTAxMDIzMVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEAop+mW7PAPGi1D9Iv+xpu +iLspU2gpSMEOirYCWCQW2ZzmddrG8SRR2S6h4UauA7tVL1wOAc7PG2U8x348N4SI +hnCR6zEDukjwcC+z/qadYnWhFsgQqSc4sTRT10wwWD9JyKVZtQx94XBArVeDK2bN +14IohfKw7w7uKAKsWSe555+jWgnaNLUnYvV/a9MLhWb3/X3MMChJWtodnyE41hBZ +nuioWwIjGMgg4uffNKnAqpnsICU1OKg2KgjimCMs7fCFLQwv3KKBYHvzG1Or3fLq +Hue8TSCpXqMCPCTAc2bhK8GLxX33BAmLOBqVa8DYIxAYnWE3A9V2KfKoTqR4N9Fd +WQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/0A.pem b/rpkid/resource-cert-samples/LIR3/0A.pem new file mode 100644 index 00000000..e34e0d82 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/0A.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 10 (0xa) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 2b:e4:c0:d0:33:fd:74:82:bc:70:b2:2f:e9:5d:9b:9e:b0:f8: + fb:be:db:ec:36:e5:55:03:82:a0:53:f1:9f:bb:06:b1:b2:3c: + cb:f5:b8:6d:f8:0d:b8:f3:00:b8:2d:84:0a:ca:ac:08:b9:0c: + 73:d9:5f:d9:87:97:8b:67:81:59:16:52:8a:f4:da:1c:94:5b: + 4b:4a:bf:01:7d:6e:1e:99:cf:fe:c3:93:79:ef:7a:d3:51:72: + 51:6d:cc:c3:60:25:f6:0a:ce:1b:de:3d:2a:82:3e:6c:ae:17: + 9a:ae:86:44:b6:7c:9d:41:ee:89:81:18:32:18:8b:46:42:7b: + 11:d2:03:71:93:d5:1e:3a:a5:90:d1:a3:45:16:a8:d5:37:63: + a7:89:01:6a:e6:1a:25:bb:68:e6:4c:13:ee:e3:3e:36:a7:33: + 8c:f3:b9:8d:fd:0d:db:73:e8:af:42:14:c7:bc:32:b7:2a:fd: + 9c:1d:fe:f0:2a:32:9d:35:6b:08:dc:06:81:ec:06:be:ad:56: + 77:6b:26:95:9d:09:ae:90:23:5d:50:30:1d:4a:67:70:80:88: + 72:ea:de:17:b4:03:35:0e:a7:36:b6:e2:aa:30:ba:1d:90:0e: + 1d:e6:9d:f0:f7:00:74:ee:39:09:3a:3e:e3:23:12:41:25:fc: + 9f:e6:8d:0c +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBCjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBACvkwNAz/XSCvHCyL+ldm56w+Pu+2+w25VUDgqBT8Z+7BrGyPMv1uG34 +DbjzALgthArKrAi5DHPZX9mHl4tngVkWUor02hyUW0tKvwF9bh6Zz/7Dk3nvetNR +clFtzMNgJfYKzhvePSqCPmyuF5quhkS2fJ1B7omBGDIYi0ZCexHSA3GT1R46pZDR +o0UWqNU3Y6eJAWrmGiW7aOZME+7jPjanM4zzuY39Ddtz6K9CFMe8Mrcq/Zwd/vAq +Mp01awjcBoHsBr6tVndrJpWdCa6QI11QMB1KZ3CAiHLq3he0AzUOpza24qowuh2Q +Dh3mnfD3AHTuOQk6PuMjEkEl/J/mjQw= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/0B.pem b/rpkid/resource-cert-samples/LIR3/0B.pem new file mode 100644 index 00000000..78d2f693 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/0B.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 11 (0xb) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 3f:f3:c1:ed:2e:d8:80:65:aa:b8:ea:d0:78:a9:fe:62:aa:70: + 6e:2e:af:19:8a:75:69:37:a0:d1:42:7e:da:c0:24:96:bc:00: + 7d:af:e9:a9:ab:c3:f1:e2:73:69:46:1c:61:83:ef:c9:7a:e3: + 75:4b:ca:93:91:9c:1f:c9:ab:2b:e5:71:f6:b2:06:55:eb:06: + b5:e4:89:76:44:c7:05:9e:b1:ee:7c:02:23:2e:6f:b0:ae:e8: + 80:ad:8f:de:20:e7:a8:6f:bf:8d:a5:6d:cf:c0:4a:c8:a0:24: + d1:65:34:29:58:87:eb:f1:4f:4b:bd:0a:ba:d0:e5:19:39:7b: + 8f:03:78:37:a6:fd:95:22:7d:be:ed:c6:af:90:e2:e3:bb:8a: + 74:73:93:2d:b8:76:ac:56:d8:a3:2b:d1:48:d6:51:46:32:72: + 7f:1d:b6:5b:ef:07:4f:f2:87:16:cd:8b:e5:f7:5a:c4:37:6f: + b7:dd:38:dc:c7:8b:21:91:46:b0:ba:76:3a:00:a8:fa:5d:24: + 80:56:14:d3:c3:8e:90:a8:4f:fa:de:79:91:9c:24:cc:aa:a1: + 85:b9:13:aa:88:12:f3:19:77:18:0e:62:a2:91:d9:fb:82:9e: + 13:83:b9:26:2e:cd:55:02:07:f4:53:35:f0:c4:e1:ec:99:ae: + 0f:ff:08:02 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAP/PB7S7YgGWquOrQeKn+ +Yqpwbi6vGYp1aTeg0UJ+2sAklrwAfa/pqavD8eJzaUYcYYPvyXrjdUvKk5GcH8mr +K+Vx9rIGVesGteSJdkTHBZ6x7nwCIy5vsK7ogK2P3iDnqG+/jaVtz8BKyKAk0WU0 +KViH6/FPS70KutDlGTl7jwN4N6b9lSJ9vu3Gr5Di47uKdHOTLbh2rFbYoyvRSNZR +RjJyfx22W+8HT/KHFs2L5fdaxDdvt9043MeLIZFGsLp2OgCo+l0kgFYU08OOkKhP ++t55kZwkzKqhhbkTqogS8xl3GA5iopHZ+4KeE4O5Ji7NVQIH9FM18MTh7JmuD/8I +Ag== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/0C.pem b/rpkid/resource-cert-samples/LIR3/0C.pem new file mode 100644 index 00000000..e3a801b4 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/0C.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 12 (0xc) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:07:09 2007 GMT + Not After : Aug 9 01:07:09 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + 9c:79:5a:46:1a:3d:cc:72:7d:86:1f:86:4e:b9:13:a6:82:be: + 43:15:5b:dd:b0:1e:e0:f8:98:dc:5e:6b:b7:f4:05:45:36:29: + 73:1f:22:89:0a:7d:d9:7a:7c:b7:c0:31:f0:93:80:a0:66:68: + 72:15:4a:5a:09:9d:96:36:08:7c:78:ff:6f:81:ca:54:15:1f: + 57:4e:b2:b8:63:98:4d:12:20:6a:b1:91:ab:b0:a0:c0:dc:a6: + c2:03:88:58:e4:4d:2d:de:32:8f:1a:22:ef:c3:36:4c:ad:f6: + af:74:4f:2c:b2:55:3f:e2:0d:82:d1:d8:0d:c4:15:c9:3b:f4: + 9e:5c:de:47:62:e4:b5:59:6b:59:db:48:ca:46:10:af:2c:9c: + 31:c7:dc:50:bb:18:a7:ce:ec:50:f5:fb:90:55:4d:ff:3f:c1: + 6f:82:8f:0f:a3:00:00:fe:cf:5e:cf:48:59:15:de:36:37:ff: + c2:c8:bf:f8:82:39:52:eb:43:84:c4:d5:5f:de:e8:d8:56:58: + 7e:dd:82:a4:76:b8:31:42:45:cd:36:0b:52:87:4f:41:55:c4: + 42:4f:6b:2b:e5:57:1a:19:04:f9:70:d1:47:7a:ab:6e:94:91: + c8:d5:a4:17:01:56:ec:21:85:f9:03:1a:a8:6b:14:fc:a5:51: + cb:80:84:e3 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBDDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMDcwOVoXDTA4MDgwOTAxMDcwOVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEAnHlaRho9zHJ9hh+GTrkT +poK+QxVb3bAe4PiY3F5rt/QFRTYpcx8iiQp92Xp8t8Ax8JOAoGZochVKWgmdljYI +fHj/b4HKVBUfV06yuGOYTRIgarGRq7CgwNymwgOIWORNLd4yjxoi78M2TK32r3RP +LLJVP+INgtHYDcQVyTv0nlzeR2LktVlrWdtIykYQryycMcfcULsYp87sUPX7kFVN +/z/Bb4KPD6MAAP7PXs9IWRXeNjf/wsi/+II5UutDhMTVX97o2FZYft2CpHa4MUJF +zTYLUodPQVXEQk9rK+VXGhkE+XDRR3qrbpSRyNWkFwFW7CGF+QMaqGsU/KVRy4CE +4w== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/0D.pem b/rpkid/resource-cert-samples/LIR3/0D.pem new file mode 100644 index 00000000..6634de32 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/0D.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 13 (0xd) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Signature Algorithm: sha256WithRSAEncryption + 1f:7e:d1:95:bc:b5:52:1b:fc:3f:0b:29:18:d2:72:db:70:8b: + 00:7b:9a:d0:1e:f1:cc:bc:c7:7b:bf:eb:0f:01:13:8f:d4:29: + 5b:53:46:7b:d3:cb:72:a9:7b:98:ca:25:d3:8a:72:d2:f5:53: + 67:c6:e1:59:7b:1a:6b:92:37:fd:ce:98:12:5c:ae:f2:37:c4: + 41:7c:30:5d:19:54:9d:d2:ad:59:a2:df:b5:4a:d8:fb:ca:06: + bf:fb:2a:a5:85:64:d2:80:ab:d2:67:4e:a5:fa:92:cb:70:14: + 62:5d:ac:bf:1e:13:1f:7e:51:e7:56:08:7e:f7:6a:ae:d1:a2: + 14:d2:e7:e3:c7:aa:c6:29:65:66:f1:71:7f:59:8a:20:ba:01: + a4:12:c1:53:01:b4:c3:7c:fe:50:df:d9:7c:61:6f:e1:5d:54: + e4:1f:91:9c:80:ce:c9:e6:e9:c6:1c:8e:60:c2:dd:bf:72:6f: + 32:cb:37:fb:4b:b8:c3:46:16:53:ee:74:40:d4:f3:78:8a:1e: + e1:2d:2b:2b:fa:16:ea:f5:e3:85:10:57:43:68:33:54:cc:4d: + a7:16:ad:ce:79:da:dc:28:94:1d:54:36:2b:6a:37:9e:b0:85: + 44:9d:5c:f4:97:25:b0:3a:42:cf:c6:d0:c2:7c:f1:fc:81:53: + 0b:b7:b4:71 +-----BEGIN CERTIFICATE----- +MIIDGTCCAgGgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMTMzOVoXDTA4MDgwOTAxMTMzOVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjZzBlMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcw +BYYmcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wDQYJKoZI +hvcNAQELBQADggEBAB9+0ZW8tVIb/D8LKRjScttwiwB7mtAe8cy8x3u/6w8BE4/U +KVtTRnvTy3Kpe5jKJdOKctL1U2fG4Vl7GmuSN/3OmBJcrvI3xEF8MF0ZVJ3SrVmi +37VK2PvKBr/7KqWFZNKAq9JnTqX6kstwFGJdrL8eEx9+UedWCH73aq7RohTS5+PH +qsYpZWbxcX9ZiiC6AaQSwVMBtMN8/lDf2Xxhb+FdVOQfkZyAzsnm6cYcjmDC3b9y +bzLLN/tLuMNGFlPudEDU83iKHuEtKyv6Fur144UQV0NoM1TMTacWrc552twolB1U +NitqN56whUSdXPSXJbA6Qs/G0MJ88fyBUwu3tHE= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/0E.pem b/rpkid/resource-cert-samples/LIR3/0E.pem new file mode 100644 index 00000000..a6a893b1 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/0E.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 14 (0xe) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Signature Algorithm: sha256WithRSAEncryption + 96:34:8a:58:26:99:07:8d:0c:24:fe:84:fb:00:19:d6:cc:64: + 39:28:1b:33:69:82:b7:1f:3b:0c:ae:96:94:d6:fa:a3:00:2c: + 7e:f7:68:60:e3:11:98:5c:86:1e:7b:47:44:0d:b0:e7:62:60: + ec:57:d6:ea:64:7c:66:45:57:5e:c9:b3:c3:54:9a:18:59:7d: + d4:2e:5e:30:cd:a8:41:51:21:83:ad:b2:b1:27:4d:a1:e7:72: + 25:43:f3:34:50:5a:dd:67:4e:72:ba:fa:5a:6d:c9:aa:01:67: + b5:71:4a:28:ee:1e:e7:5f:27:59:11:be:ee:25:f3:a5:b2:2e: + 8f:9a:6d:19:54:17:0b:97:a9:4a:49:bf:c3:44:3e:73:7d:93: + 03:f6:e2:a1:b1:7c:0a:a5:62:b5:5c:9e:9c:c7:f1:3f:ce:f3: + 35:2b:47:30:e6:f4:a4:b3:27:9e:37:08:1f:da:d5:ac:19:e8: + ba:72:ab:85:fe:c1:c9:d2:cc:75:f2:62:bc:37:21:ff:0f:df: + 8f:7f:6e:07:c6:8f:84:80:16:4a:1d:a3:fe:28:78:ba:10:9a: + ad:ef:03:f9:0a:c0:b9:fe:20:f7:6d:49:30:c0:26:e3:63:8d: + f3:6d:88:6a:b3:74:28:a2:a3:5c:2e:4e:2c:1f:46:d3:4a:c5: + b1:6f:aa:06 +-----BEGIN CERTIFICATE----- +MIIDGTCCAgGgAwIBAgIBDjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMTMzOVoXDTA4MDgwOTAxMTMzOVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjZzBlMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcw +BYYmcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yi8wDQYJKoZI +hvcNAQELBQADggEBAJY0ilgmmQeNDCT+hPsAGdbMZDkoGzNpgrcfOwyulpTW+qMA +LH73aGDjEZhchh57R0QNsOdiYOxX1upkfGZFV17Js8NUmhhZfdQuXjDNqEFRIYOt +srEnTaHnciVD8zRQWt1nTnK6+lptyaoBZ7VxSijuHudfJ1kRvu4l86WyLo+abRlU +FwuXqUpJv8NEPnN9kwP24qGxfAqlYrVcnpzH8T/O8zUrRzDm9KSzJ543CB/a1awZ +6Lpyq4X+wcnSzHXyYrw3If8P349/bgfGj4SAFkodo/4oeLoQmq3vA/kKwLn+IPdt +STDAJuNjjfNtiGqzdCiio1wuTiwfRtNKxbFvqgY= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/0F.pem b/rpkid/resource-cert-samples/LIR3/0F.pem new file mode 100644 index 00000000..cca0bb04 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/0F.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 15 (0xf) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Signature Algorithm: sha256WithRSAEncryption + 71:9a:80:f3:ba:b7:60:6f:6c:f5:31:18:c9:e3:45:61:0a:93: + d9:c3:23:35:dc:11:da:cf:b4:c7:d5:36:cd:48:a7:63:c2:e9: + 44:3c:56:c1:60:e1:7a:ab:b1:03:32:22:c7:8d:d8:24:a9:e4: + 70:e9:d2:fd:7b:e6:20:2c:9d:ed:71:d2:9e:30:a0:f0:b2:67: + 87:87:f7:d5:96:da:67:d4:8a:e2:aa:f2:e8:2f:b2:cd:d7:92: + ed:9f:44:7f:f9:3d:f8:5d:c6:44:ef:a0:d3:98:41:ce:5b:c7: + c3:b1:bb:fc:08:ec:b4:4e:0c:4d:8e:30:63:f9:06:50:a3:b1: + 48:6e:c0:5b:ed:9a:7c:0e:ec:32:2e:c2:9e:12:28:94:9d:ed: + 3c:99:4c:74:73:6b:ec:58:41:b3:f9:58:fb:2c:31:00:7d:20: + 13:07:63:3e:a4:ca:59:95:37:3f:cf:b0:ae:6a:15:5a:09:8c: + 4b:77:c4:78:76:73:90:98:c6:2a:97:70:e1:c0:90:24:c0:3c: + a5:99:3f:74:d0:a2:e5:f5:d3:dc:52:35:71:7a:bd:48:38:a9: + 66:a7:42:28:ae:93:82:f3:1a:99:be:52:69:d4:f9:d1:15:4d: + 3f:2f:65:c6:9f:9f:73:00:59:f5:45:75:1f:35:06:e9:4a:b7: + b5:77:9a:bf +-----BEGIN CERTIFICATE----- +MIIDGTCCAgGgAwIBAgIBDzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMTMzOVoXDTA4MDgwOTAxMTMzOVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjZzBlMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcw +BYYmcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1YS8wDQYJKoZI +hvcNAQELBQADggEBAHGagPO6t2BvbPUxGMnjRWEKk9nDIzXcEdrPtMfVNs1Ip2PC +6UQ8VsFg4XqrsQMyIseN2CSp5HDp0v175iAsne1x0p4woPCyZ4eH99WW2mfUiuKq +8ugvss3Xku2fRH/5PfhdxkTvoNOYQc5bx8Oxu/wI7LRODE2OMGP5BlCjsUhuwFvt +mnwO7DIuwp4SKJSd7TyZTHRza+xYQbP5WPssMQB9IBMHYz6kylmVNz/PsK5qFVoJ +jEt3xHh2c5CYxiqXcOHAkCTAPKWZP3TQouX109xSNXF6vUg4qWanQiiuk4LzGpm+ +UmnU+dEVTT8vZcafn3MAWfVFdR81BulKt7V3mr8= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/10.pem b/rpkid/resource-cert-samples/LIR3/10.pem new file mode 100644 index 00000000..16656abb --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/10.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 16 (0x10) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 67:a7:55:49:7b:68:d4:dd:67:16:e5:09:f3:ac:fb:1b:ea:83: + 58:e4:ba:4f:a4:2f:88:af:1e:05:da:46:b5:85:1a:14:87:c1: + 34:74:2d:35:4f:3d:2e:63:9a:cc:ac:28:8d:e5:61:a0:a5:73: + f5:25:c0:1b:11:27:b6:dc:4c:41:81:f4:d6:0d:f1:8a:af:69: + ae:32:23:d0:4a:fe:1d:d2:c6:ef:87:f5:93:01:42:c5:54:4d: + ce:73:d5:19:c7:c9:e6:1d:4c:2f:92:28:03:b2:cd:c5:a6:f6: + 6b:b1:bf:7c:1d:71:38:ac:85:93:c8:c2:a4:73:06:4b:f4:ff: + 5e:44:e0:57:9a:7e:f5:5f:4c:7d:6f:b6:6a:30:27:5e:ff:7d: + 8d:49:04:34:05:1a:87:2e:36:c3:aa:13:b1:91:f0:57:ad:a7: + 9e:d3:be:fa:de:af:db:42:f6:bd:06:04:2e:71:e0:5e:82:4a: + 4f:dd:57:0f:29:ca:09:db:a8:e4:fd:82:5d:ff:55:24:a4:9a: + 64:26:d0:02:1f:f2:4d:92:28:9b:1d:bb:f6:6f:2a:d3:25:48: + 87:04:96:37:9f:90:7c:15:6d:c7:18:ef:a7:6b:0e:b1:37:6c: + ae:69:7e:49:81:8c:de:b9:f7:34:ee:6d:48:26:92:7f:8f:0c: + 95:7d:08:eb +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBEDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMTUxMFoXDTA4MDgwOTAxMTUxMFowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBAGenVUl7aNTdZxblCfOs+xvqg1jkuk+kL4ivHgXaRrWFGhSHwTR0LTVP +PS5jmsysKI3lYaClc/UlwBsRJ7bcTEGB9NYN8Yqvaa4yI9BK/h3Sxu+H9ZMBQsVU +Tc5z1RnHyeYdTC+SKAOyzcWm9muxv3wdcTishZPIwqRzBkv0/15E4FeafvVfTH1v +tmowJ17/fY1JBDQFGocuNsOqE7GR8Fetp57Tvvrer9tC9r0GBC5x4F6CSk/dVw8p +ygnbqOT9gl3/VSSkmmQm0AIf8k2SKJsdu/ZvKtMlSIcEljefkHwVbccY76drDrE3 +bK5pfkmBjN659zTubUgmkn+PDJV9COs= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/11.pem b/rpkid/resource-cert-samples/LIR3/11.pem new file mode 100644 index 00000000..7342b3c4 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/11.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 17 (0x11) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 76:a6:64:04:5d:a3:16:7a:fe:0a:e7:44:c0:de:82:1c:c8:06: + a3:08:2b:4a:fb:44:99:79:dc:52:c8:8c:af:6f:17:24:9a:08: + 29:37:e2:ae:e7:39:cf:7e:ef:53:d1:82:87:1d:f8:a3:5c:ee: + db:a8:dc:6f:7b:78:9f:29:6b:c7:1c:98:28:e0:e3:e5:35:bb: + 87:46:fd:14:c1:d2:b7:92:6f:9d:d0:74:8a:54:30:97:ef:b5: + d3:4f:18:10:fc:ec:21:3f:76:08:7d:e9:ac:c5:5d:a7:b7:e8: + 4d:24:00:fa:e6:2b:82:b9:65:5f:b6:a3:7f:8c:bf:5d:9e:1b: + 9c:61:66:a3:37:db:59:d1:c4:eb:c3:06:3a:1b:2a:a1:a8:21: + 05:77:ab:bc:36:ef:08:7e:40:87:e3:c7:4c:eb:0c:5a:2a:03: + f8:26:b6:30:a8:04:a4:af:ad:63:e3:5c:19:7f:a9:50:30:e8: + f7:cc:fb:ef:ee:ba:90:e0:1b:24:dd:aa:dc:d9:90:11:5e:cb: + 3f:3a:d8:fd:c0:80:6b:1e:c2:eb:bb:70:57:b4:54:78:a2:12: + eb:6f:cd:5f:65:c3:3d:cf:62:0c:18:02:f1:8f:6e:04:30:25: + 82:15:6e:25:0f:3c:09:5e:e6:49:cd:73:e5:68:a9:82:3c:93: + 22:47:07:4f +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBETANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMTUxMFoXDTA4MDgwOTAxMTUxMFowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAdqZkBF2jFnr+CudEwN6C +HMgGowgrSvtEmXncUsiMr28XJJoIKTfiruc5z37vU9GChx34o1zu26jcb3t4nylr +xxyYKODj5TW7h0b9FMHSt5JvndB0ilQwl++1008YEPzsIT92CH3prMVdp7foTSQA ++uYrgrllX7ajf4y/XZ4bnGFmozfbWdHE68MGOhsqoaghBXervDbvCH5Ah+PHTOsM +WioD+Ca2MKgEpK+tY+NcGX+pUDDo98z77+66kOAbJN2q3NmQEV7LPzrY/cCAax7C +67twV7RUeKIS62/NX2XDPc9iDBgC8Y9uBDAlghVuJQ88CV7mSc1z5WipgjyTIkcH +Tw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/12.pem b/rpkid/resource-cert-samples/LIR3/12.pem new file mode 100644 index 00000000..2ca7eef4 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/12.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 18 (0x12) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + 36:9d:84:eb:95:7f:1e:45:82:16:54:14:e6:50:f9:61:6f:a2: + 16:01:57:9c:f6:c3:00:d7:00:8f:a4:af:12:c7:71:f9:ac:e7: + f5:57:5e:8a:92:6e:00:08:d4:b1:2e:bf:07:cc:e8:f9:05:97: + 21:fe:00:12:ab:33:ad:77:3d:01:54:be:c7:57:1d:b6:ba:e8: + 71:56:35:71:67:10:5f:78:67:92:d9:b2:3f:26:12:78:e2:5b: + 24:ed:b3:45:95:d7:6c:c3:0a:c9:7c:e7:db:e3:e9:90:24:cb: + a1:a0:3e:05:7f:8d:4e:bc:a5:39:c6:b1:ac:29:21:28:9f:d4: + 58:3f:cd:07:d0:81:fd:d4:e2:b8:cc:ef:b1:75:cb:eb:73:30: + f8:84:7a:bb:42:bf:bf:23:4e:e9:34:1e:c0:49:ea:ed:9a:62: + 70:f8:79:08:4b:b1:80:a1:da:a6:c5:3e:78:20:5e:10:da:81: + 29:8f:ff:6d:0e:d8:91:be:ee:2e:f7:c0:cc:87:88:45:3f:73: + 63:ba:a0:66:73:94:6c:79:aa:f4:ec:85:62:32:2b:aa:f2:0d: + a5:66:42:f4:ca:83:8b:b5:73:a5:78:2f:0e:bc:87:e4:ec:1a: + 2b:c3:83:55:8e:35:65:39:62:41:86:74:d5:2a:a5:c6:05:03: + 0a:e2:ea:76 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBEjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MDgxMDAxMTUxMFoXDTA4MDgwOTAxMTUxMFowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEANp2E65V/HkWCFlQU5lD5 +YW+iFgFXnPbDANcAj6SvEsdx+azn9VdeipJuAAjUsS6/B8zo+QWXIf4AEqszrXc9 +AVS+x1cdtrrocVY1cWcQX3hnktmyPyYSeOJbJO2zRZXXbMMKyXzn2+PpkCTLoaA+ +BX+NTrylOcaxrCkhKJ/UWD/NB9CB/dTiuMzvsXXL63Mw+IR6u0K/vyNO6TQewEnq +7ZpicPh5CEuxgKHapsU+eCBeENqBKY//bQ7Ykb7uLvfAzIeIRT9zY7qgZnOUbHmq +9OyFYjIrqvINpWZC9MqDi7VzpXgvDryH5OwaK8ODVY41ZTliQYZ01SqlxgUDCuLq +dg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/13.pem b/rpkid/resource-cert-samples/LIR3/13.pem new file mode 100644 index 00000000..3fea16ec --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/13.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 19 (0x13) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 36:12:96:70:b8:91:46:d3:30:35:cf:9b:f2:ce:98:5b:0c:25: + a6:3e:10:60:44:b3:1a:fc:3d:93:b6:f3:e9:50:30:aa:16:29: + 18:6f:62:f1:02:2a:fd:51:02:79:5b:30:ee:2a:f9:fb:16:fb: + 31:eb:ab:cf:cb:f8:af:82:ad:42:24:06:0c:c2:bd:88:c4:d9: + d3:b2:7a:51:e7:70:24:d1:33:73:ae:3f:9a:ec:7c:56:88:ae: + b3:0a:49:03:4a:74:11:02:96:c0:be:8c:8c:f3:d0:53:3e:63: + 08:72:ce:6c:3d:6a:2f:c2:6a:7f:f5:1a:aa:af:f0:9a:03:be: + 15:38:27:9a:e3:c4:53:8d:d3:69:bb:18:c6:2e:a5:25:ba:08: + f7:86:fe:c0:a1:a0:b0:60:3b:66:aa:52:d1:a0:92:87:1b:96: + 52:ba:4e:32:0f:72:5d:6f:61:52:2c:c5:1b:b8:74:34:f5:77: + 16:47:44:af:de:10:f7:0f:e8:ff:6e:6f:dd:a0:8e:3c:0b:b7: + 5c:d8:76:00:1c:dd:26:ba:fd:a5:42:6e:ea:69:12:59:64:8d: + bc:5d:90:eb:5b:04:85:2f:e8:b7:a2:cb:af:9e:a8:0c:f6:c3: + bd:e0:b1:5b:58:12:36:b2:ed:bd:61:53:33:5c:4a:a2:d3:79: + e5:dc:54:56 +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBEzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAxOTE5MDYwN1oXDTA4MTAxODE5MDYwN1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBADYSlnC4kUbTMDXPm/LOmFsMJaY+EGBEsxr8PZO28+lQMKoWKRhvYvEC +Kv1RAnlbMO4q+fsW+zHrq8/L+K+CrUIkBgzCvYjE2dOyelHncCTRM3OuP5rsfFaI +rrMKSQNKdBEClsC+jIzz0FM+Ywhyzmw9ai/Can/1Gqqv8JoDvhU4J5rjxFON02m7 +GMYupSW6CPeG/sChoLBgO2aqUtGgkocbllK6TjIPcl1vYVIsxRu4dDT1dxZHRK/e +EPcP6P9ub92gjjwLt1zYdgAc3Sa6/aVCbuppEllkjbxdkOtbBIUv6Leiy6+eqAz2 +w73gsVtYEjay7b1hUzNcSqLTeeXcVFY= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/14.pem b/rpkid/resource-cert-samples/LIR3/14.pem new file mode 100644 index 00000000..6173347f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/14.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 20 (0x14) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 22:c9:29:33:23:37:da:af:8a:41:20:fe:35:f1:2a:25:86:ba: + 88:08:d5:a5:26:79:f7:86:75:50:9b:ef:69:e0:c6:04:6b:0a: + e0:3f:06:78:ee:b5:9c:c3:23:45:8c:2b:f0:26:4d:9e:94:da: + c8:d0:a0:b3:71:bd:b5:89:dc:f5:0a:c5:56:a6:f8:1e:0f:fc: + 27:cc:ec:42:ae:ca:7b:f6:61:f9:df:80:8d:87:85:e0:79:1b: + 0c:32:82:37:e2:59:7c:65:7b:bd:48:ba:c0:13:24:74:f2:6a: + 73:f8:47:a8:c7:7b:b3:89:0d:2e:5e:fc:09:06:5c:4d:4d:6e: + 3b:c4:c1:57:c7:59:68:96:bd:97:91:df:91:d9:9d:8c:08:ef: + 82:7c:0a:dc:54:5b:7b:1d:d9:cb:1b:a6:ca:ce:82:1b:1c:4e: + cb:42:2e:42:7a:8c:0b:00:74:2c:b6:14:41:fc:e8:51:f0:20: + 1b:81:61:3d:47:ef:a2:9b:0d:0b:89:57:11:34:9f:f2:21:9e: + c9:9f:f1:39:d0:2f:73:97:86:8a:cb:ab:90:67:76:25:06:8b: + a2:cf:94:1a:84:09:bd:0e:d1:28:52:7f:f1:52:69:9b:d2:66: + b9:51:7a:87:e2:b1:cf:b2:d2:c4:00:fe:16:d1:29:ac:f6:61: + 6b:58:89:0d +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBFDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAxOTE5MDYwN1oXDTA4MTAxODE5MDYwN1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAIskpMyM32q+KQSD+NfEq +JYa6iAjVpSZ594Z1UJvvaeDGBGsK4D8GeO61nMMjRYwr8CZNnpTayNCgs3G9tYnc +9QrFVqb4Hg/8J8zsQq7Ke/Zh+d+AjYeF4HkbDDKCN+JZfGV7vUi6wBMkdPJqc/hH +qMd7s4kNLl78CQZcTU1uO8TBV8dZaJa9l5HfkdmdjAjvgnwK3FRbex3Zyxumys6C +GxxOy0IuQnqMCwB0LLYUQfzoUfAgG4FhPUfvopsNC4lXETSf8iGeyZ/xOdAvc5eG +isurkGd2JQaLos+UGoQJvQ7RKFJ/8VJpm9JmuVF6h+Kxz7LSxAD+FtEprPZha1iJ +DQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/15.pem b/rpkid/resource-cert-samples/LIR3/15.pem new file mode 100644 index 00000000..53d5d71f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/15.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 21 (0x15) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + 88:85:75:52:a4:57:62:32:86:d7:72:f8:f5:a2:ea:4c:a9:a7: + 09:c7:a8:b0:12:0e:e1:69:d2:99:de:46:59:52:d8:ef:9e:3f: + 45:8e:b4:03:cf:64:e1:db:f0:57:37:e8:f3:23:d2:7e:f4:6a: + 74:64:3a:7a:3b:e1:e6:bb:0d:f0:1d:12:e3:1a:59:c3:b5:6f: + 29:b7:80:3c:c2:76:2a:b2:be:09:3a:95:99:5a:82:05:b4:10: + 70:f0:29:2f:96:27:0c:c4:83:e6:df:e0:ce:37:ad:32:0a:0b: + a8:38:4b:a8:50:e9:17:61:c6:fb:bc:41:54:8b:fc:e4:a7:e9: + 69:03:23:90:2c:bd:3f:e5:74:13:91:89:77:df:88:cb:4c:58: + af:be:7e:af:e7:2c:e2:28:64:e6:5f:f3:09:a0:21:89:12:85: + 89:50:a2:ff:d6:88:c0:9f:25:5b:40:b1:b2:6f:6c:bb:d3:32: + b9:24:9c:70:bb:94:be:63:a2:da:fb:a8:2c:8b:ff:83:00:8b: + 8d:cb:8f:cc:6d:b8:05:ba:0d:b3:67:05:ff:f6:40:2d:bb:7d: + c5:0d:df:6d:42:d4:79:11:2c:12:34:55:8a:63:4b:50:e4:95: + 92:86:36:b8:a6:24:15:33:40:7f:c7:32:b9:de:fc:fd:eb:60: + eb:81:3d:e2 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBFTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAxOTE5MDYwN1oXDTA4MTAxODE5MDYwN1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEAiIV1UqRXYjKG13L49aLq +TKmnCceosBIO4WnSmd5GWVLY754/RY60A89k4dvwVzfo8yPSfvRqdGQ6ejvh5rsN +8B0S4xpZw7VvKbeAPMJ2KrK+CTqVmVqCBbQQcPApL5YnDMSD5t/gzjetMgoLqDhL +qFDpF2HG+7xBVIv85KfpaQMjkCy9P+V0E5GJd9+Iy0xYr75+r+cs4ihk5l/zCaAh +iRKFiVCi/9aIwJ8lW0Cxsm9su9MyuSSccLuUvmOi2vuoLIv/gwCLjcuPzG24BboN +s2cF//ZALbt9xQ3fbULUeREsEjRVimNLUOSVkoY2uKYkFTNAf8cyud78/etg64E9 +4g== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/16.pem b/rpkid/resource-cert-samples/LIR3/16.pem new file mode 100644 index 00000000..a35e6d8c --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/16.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 22 (0x16) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:03:51 2007 GMT + Not After : Oct 28 16:03:51 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 8b:32:d1:76:91:99:a4:fe:a9:47:f9:ad:1b:e4:09:b2:91:49: + 01:ea:21:09:e1:db:ae:45:07:73:e1:be:99:6b:e5:73:30:20: + 57:95:c0:e0:9f:32:29:75:e7:fd:15:06:0c:48:aa:17:0a:4b: + 21:9e:b2:b8:ba:03:d7:fb:40:69:19:80:28:c7:a4:bd:e0:63: + ec:e4:88:db:82:b9:03:bb:88:bb:48:40:c5:ea:34:4d:39:38: + 5f:a1:0b:4b:8b:60:b6:a5:08:01:20:2b:44:b9:1b:2f:c6:72: + dc:90:4c:b3:56:9d:0c:64:dc:5e:d2:da:4e:4f:c5:63:22:18: + 67:0b:77:fc:fd:7f:31:73:70:81:cd:f8:9a:67:07:6f:b2:b7: + ea:f4:68:19:86:9a:60:59:c4:3c:a1:ea:ba:09:6d:13:9d:3f: + 76:cc:5f:2e:3f:e0:9b:5b:3c:72:5f:39:ed:9f:34:48:97:b3: + c1:bb:c5:de:5a:6b:11:71:ba:d1:c4:63:20:2c:bf:75:e8:c2: + 4a:b8:80:b8:ac:bf:46:cc:d7:2a:8b:c3:63:23:ca:9e:8d:94: + 2c:6a:53:2f:68:7e:cd:3d:71:fd:32:c7:f7:16:11:c6:a3:3a: + 2f:1f:05:0c:98:3f:17:3d:8c:7a:e4:47:cd:75:55:f8:b3:1b: + a3:bc:27:3d +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBFjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MDM1MVoXDTA4MTAyODE2MDM1MVowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBAIsy0XaRmaT+qUf5rRvkCbKRSQHqIQnh265FB3Phvplr5XMwIFeVwOCf +Mil15/0VBgxIqhcKSyGesri6A9f7QGkZgCjHpL3gY+zkiNuCuQO7iLtIQMXqNE05 +OF+hC0uLYLalCAEgK0S5Gy/GctyQTLNWnQxk3F7S2k5PxWMiGGcLd/z9fzFzcIHN ++JpnB2+yt+r0aBmGmmBZxDyh6roJbROdP3bMXy4/4JtbPHJfOe2fNEiXs8G7xd5a +axFxutHEYyAsv3Xowkq4gLisv0bM1yqLw2Mjyp6NlCxqUy9ofs09cf0yx/cWEcaj +Oi8fBQyYPxc9jHrkR811VfizG6O8Jz0= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/17.pem b/rpkid/resource-cert-samples/LIR3/17.pem new file mode 100644 index 00000000..b4d63508 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/17.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 23 (0x17) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:03:52 2007 GMT + Not After : Oct 28 16:03:52 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 6c:20:82:cb:ed:5f:a4:c6:fa:b5:4c:20:7d:e8:18:e7:a9:8a: + a4:43:aa:1b:0a:47:01:e9:d5:29:f2:58:40:e1:b0:64:37:b1: + 54:e0:49:4c:b9:98:a4:41:b0:cf:33:87:c7:47:30:58:f9:46: + 51:5d:d4:8c:65:24:59:a6:8a:01:c0:bc:46:38:45:fa:64:51: + eb:ff:87:7c:18:33:41:7e:e9:52:98:a6:0f:1a:d8:43:2f:34: + 9d:14:b4:14:e8:68:2e:16:5f:06:a7:85:96:7e:dc:49:67:f9: + 56:5b:42:1a:af:00:fb:b5:d3:84:b8:e0:79:3c:b6:b7:b9:f3: + 04:fc:e4:9a:9f:74:6c:ea:ff:8a:14:9d:69:15:ac:b6:5b:09: + eb:78:64:a7:7d:81:f9:f1:c9:4c:73:ae:88:43:da:39:32:37: + 4c:df:16:74:4d:dd:27:3a:bf:99:39:5c:a8:8d:f5:47:a8:60: + 7c:3d:56:5b:ab:73:f7:57:26:00:55:16:f1:dc:ae:d7:e1:48: + ed:b0:32:75:aa:76:4c:5b:7e:ef:be:6f:bc:8c:1e:12:70:27: + 25:3d:b6:fd:6e:34:3f:9b:9f:cb:13:37:26:f4:56:fc:5b:9d: + 7c:b5:b9:7a:29:ff:ca:c0:55:bb:57:55:25:45:b5:a1:c4:2d: + 3c:2d:9c:8d +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBFzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MDM1MloXDTA4MTAyODE2MDM1MlowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAbCCCy+1fpMb6tUwgfegY +56mKpEOqGwpHAenVKfJYQOGwZDexVOBJTLmYpEGwzzOHx0cwWPlGUV3UjGUkWaaK +AcC8RjhF+mRR6/+HfBgzQX7pUpimDxrYQy80nRS0FOhoLhZfBqeFln7cSWf5VltC +Gq8A+7XThLjgeTy2t7nzBPzkmp90bOr/ihSdaRWstlsJ63hkp32B+fHJTHOuiEPa +OTI3TN8WdE3dJzq/mTlcqI31R6hgfD1WW6tz91cmAFUW8dyu1+FI7bAydap2TFt+ +775vvIweEnAnJT22/W40P5ufyxM3JvRW/FudfLW5ein/ysBVu1dVJUW1ocQtPC2c +jQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/18.pem b/rpkid/resource-cert-samples/LIR3/18.pem new file mode 100644 index 00000000..d264ae2f --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/18.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 24 (0x18) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:03:52 2007 GMT + Not After : Oct 28 16:03:52 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + 31:60:cb:59:95:02:29:ad:2e:2d:92:c4:e9:61:2b:e7:a2:bc: + 39:70:7b:b0:62:af:56:08:81:c5:50:7f:ec:4e:d4:ff:7f:4a: + c7:34:4c:d5:dd:dc:dd:92:64:f7:5f:7b:ab:3c:9d:9d:15:b8: + c4:73:31:eb:c6:2d:af:0c:1f:a9:05:e7:3e:28:a8:1d:f0:6f: + ca:4b:c9:76:ff:5b:95:dd:d8:48:4a:d6:93:10:3a:1a:36:3d: + 2a:10:2c:89:c5:19:fa:e8:fa:eb:b8:51:37:de:af:30:e3:ae: + 09:d3:21:9c:83:4a:c1:70:ec:f6:f3:4b:72:40:75:61:02:bd: + fc:1b:96:e2:24:39:be:9a:43:29:8c:d7:c6:90:e2:14:fd:5e: + 22:9f:32:45:67:d2:f6:6d:45:5e:43:e6:1c:ed:74:18:2c:9c: + ba:eb:a5:ee:76:2b:5f:b1:7a:06:18:94:95:52:58:fe:ef:61: + d9:f0:fd:ba:b4:88:af:a3:78:f1:d9:36:42:4f:df:55:f9:9e: + 4d:f1:c9:12:85:f6:6c:1f:a5:1b:17:f2:2a:4a:1e:65:fa:18: + 1a:22:ee:c6:fb:b9:65:1d:30:1a:a7:f9:78:87:27:a5:c8:4a: + 35:6d:92:2d:f0:13:75:a2:77:df:fa:28:d0:68:0b:19:7f:38: + f3:64:0c:93 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBGDANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MDM1MloXDTA4MTAyODE2MDM1MlowHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEAMWDLWZUCKa0uLZLE6WEr +56K8OXB7sGKvVgiBxVB/7E7U/39KxzRM1d3c3ZJk9197qzydnRW4xHMx68Ytrwwf +qQXnPiioHfBvykvJdv9bld3YSErWkxA6GjY9KhAsicUZ+uj667hRN96vMOOuCdMh +nINKwXDs9vNLckB1YQK9/BuW4iQ5vppDKYzXxpDiFP1eIp8yRWfS9m1FXkPmHO10 +GCycuuul7nYrX7F6BhiUlVJY/u9h2fD9urSIr6N48dk2Qk/fVfmeTfHJEoX2bB+l +GxfyKkoeZfoYGiLuxvu5ZR0wGqf5eIcnpchKNW2SLfATdaJ33/oo0GgLGX8482QM +kw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/19.pem b/rpkid/resource-cert-samples/LIR3/19.pem new file mode 100644 index 00000000..969f45e5 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/19.pem @@ -0,0 +1,88 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY ISP5c + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:c8:8b:a1:25:65:df:ee:a2:7f:54:af:52:0a:1a: + 1a:fa:0d:75:b3:3c:e9:e0:29:d3:89:20:e9:51:49: + 67:2c:43:da:a0:2c:d4:44:b3:96:14:a9:07:77:60: + b9:6f:01:ef:8e:54:a5:74:ac:5a:67:f8:30:4d:10: + f9:ac:9f:b8:75:61:0b:f6:e7:7c:ea:9b:5c:98:7a: + 4b:3e:c4:e2:59:42:d3:19:ca:0f:58:0e:b7:c8:82: + 4e:e5:bb:ac:fd:92:e5:88:b2:fc:64:cf:6e:38:3b: + 18:83:fc:e7:a6:ae:fb:90:36:d0:e1:ca:4d:90:41: + 0f:0f:3b:2a:c0:0c:d9:7b:7d:e8:50:13:f6:09:73: + 82:a3:d2:e3:bb:82:08:87:7f:d2:bb:0e:0e:7a:28: + b6:25:02:b5:d9:51:fc:33:32:47:47:ff:cf:7f:bc: + ee:00:01:bb:05:5e:2e:03:9a:ad:95:3b:ca:c2:c6: + 87:64:74:39:aa:59:6b:ae:e0:a7:51:1a:07:f2:8e: + 4c:8e:65:2f:df:f2:99:ba:e0:b6:8a:4f:c0:20:72: + 79:98:00:8f:0d:50:13:3d:d1:3e:8c:bd:dc:74:a9: + 33:a8:56:1d:31:78:7c:e7:02:9e:8d:0a:14:12:6d: + d3:37:c7:7a:f0:84:10:fe:fe:4d:28:97:26:6e:08: + 85:a1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 2D:87:C1:9A:F8:58:2B:BD:C2:F8:7E:30:47:B3:A9:88:37:C9:EB:46 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5c/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + Signature Algorithm: sha256WithRSAEncryption + 2c:6e:f1:28:d7:06:69:d5:38:e5:77:75:9c:d0:9f:3b:52:f4: + ff:83:1d:51:70:18:b1:76:57:29:1c:f4:0c:fc:bd:6d:dc:c6: + 95:68:2d:38:fc:5b:b8:66:b8:92:95:3e:0d:cb:f6:49:3f:6e: + 63:01:88:9b:44:7a:d1:7a:48:03:20:73:c7:f1:c8:f6:8d:be: + 1c:6e:ca:28:0e:32:93:90:9a:76:d1:7f:f3:33:55:24:67:65: + fd:05:03:c8:1f:7e:68:7d:c9:83:f9:47:26:d1:dc:4b:04:a2: + 68:bb:74:2c:9c:f3:33:ec:d7:0e:d9:23:f9:a4:10:9e:af:94: + 41:09:a0:67:2d:21:d7:b5:0a:e1:41:b3:b6:4d:bc:8d:74:6c: + f6:b6:32:fe:ee:c4:71:b6:73:e1:bc:2a:25:54:df:91:84:4e: + 15:09:05:98:a1:99:33:48:38:7e:7e:b1:38:73:c7:66:a2:19: + 31:2e:93:86:65:40:20:c0:0f:86:e9:a4:77:d9:61:a5:a4:92: + 35:c7:9c:51:15:a0:dd:21:56:76:a4:d1:75:76:0a:b6:51:9a: + 08:c3:d4:21:ec:86:f0:b7:66:2e:7c:8b:0f:76:5c:29:3d:a6: + 9c:ea:0c:e0:5d:14:14:b5:cc:cc:84:e0:33:95:17:06:11:c4: + d9:d9:98:d1 +-----BEGIN CERTIFICATE----- +MIIDozCCAougAwIBAgIBGTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MzIzM1oXDTA4MTAyODE2MzIzM1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE +s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y +DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ +c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk +dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x +eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjgfAwge0wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQULYfBmvhYK73C+H4wR7OpiDfJ60YwDgYDVR0PAQH/ +BAQDAgEGMEIGCCsGAQUFBwELBDYwNDAyBggrBgEFBQcwBYYmcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9JU1A1Yy8wRAYIKwYBBQUHAQEEODA2MDQGCCsG +AQUFBzAChihyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjMuY2Vy +MCEGCCsGAQUFBwEIAQH/BBIwEKAOMAwwCgIDAPwWAgMA/BwwDQYJKoZIhvcNAQEL +BQADggEBACxu8SjXBmnVOOV3dZzQnztS9P+DHVFwGLF2Vykc9Az8vW3cxpVoLTj8 +W7hmuJKVPg3L9kk/bmMBiJtEetF6SAMgc8fxyPaNvhxuyigOMpOQmnbRf/MzVSRn +Zf0FA8gffmh9yYP5RybR3EsEomi7dCyc8zPs1w7ZI/mkEJ6vlEEJoGctIde1CuFB +s7ZNvI10bPa2Mv7uxHG2c+G8KiVU35GEThUJBZihmTNIOH5+sThzx2aiGTEuk4Zl +QCDAD4bppHfZYaWkkjXHnFEVoN0hVnak0XV2CrZRmgjD1CHshvC3Zi58iw92XCk9 +ppzqDOBdFBS1zMyE4DOVFwYRxNnZmNE= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/1A.pem b/rpkid/resource-cert-samples/LIR3/1A.pem new file mode 100644 index 00000000..8f133ac8 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/1A.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY ISP5b + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:bf:8f:59:d8:fc:fa:1d:04:70:29:ce:7b:01:64: + 21:40:dc:5c:43:fe:4c:af:88:c8:62:9b:be:9c:72: + 8f:8a:a5:34:8a:3b:23:8d:9b:8a:4f:bf:66:ac:68: + 71:9c:fd:68:59:f5:bf:9f:4d:2e:b5:d6:e3:fa:bd: + f3:60:53:5c:b7:11:ac:95:0b:c0:87:cd:99:9e:94: + 57:8d:ec:05:b8:df:aa:fc:8e:38:d3:0f:65:6d:09: + 60:f2:e1:98:81:72:d8:51:3e:41:91:b3:10:95:f5: + f5:d0:f9:e5:5c:a1:85:fa:71:26:85:e3:d1:4c:02: + 7f:14:e2:1e:4a:8a:96:68:9e:d6:16:a5:ef:ad:b5: + 83:62:cd:23:74:7c:82:56:b4:d1:34:53:5a:8a:7a: + 61:9f:ae:54:5b:ef:f9:56:de:87:6b:42:92:bc:49: + f4:b5:c3:35:07:4a:18:47:d2:92:c6:1c:16:74:74: + b1:e9:39:3c:53:12:05:9d:eb:dc:9c:72:2b:97:4d: + 27:21:77:96:7d:4c:ce:79:0c:fb:a7:b8:99:6b:66: + 20:2e:56:9c:44:b4:e3:5e:80:c4:7d:78:a1:b4:05: + f7:20:7d:26:1e:44:bf:5d:69:15:3c:7a:24:67:bd: + b9:b5:08:0f:33:4d:af:3b:2d:e7:b9:ab:1d:2b:d6: + fb:73 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 6C:B3:65:94:FE:C6:9F:4A:50:9D:4D:8B:40:1A:A1:FD:97:17:97:92 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5b/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 3a:6d:f2:b8:e4:50:4d:f6:f0:f3:04:1b:73:bf:36:13:d5:e6: + 70:d9:31:b4:47:b7:5e:ca:8a:25:93:fc:6c:dd:63:5e:09:dc: + 47:d9:d4:43:39:f3:ed:c5:f2:64:d5:ac:72:02:76:f2:07:ca: + a5:d9:1a:e3:9d:6a:7d:90:4c:d5:c7:09:c9:64:dd:38:f0:2f: + ab:0d:5f:e4:13:02:2c:85:02:56:f4:6d:31:07:f9:0b:c7:e9: + a4:0a:ee:13:03:18:9d:81:b8:78:68:d2:99:a3:e4:4f:e7:96: + 86:99:06:10:8c:b5:c2:39:03:8a:94:2e:21:00:67:82:f5:25: + 6c:cb:71:6b:8c:e6:31:0a:19:ed:1a:34:0c:a9:48:ca:c8:69: + fc:91:4e:f9:0c:e5:24:2b:70:52:1c:ff:1c:cf:38:28:17:3a: + 3d:22:a7:fa:93:dd:8f:46:03:2e:b0:ce:10:57:4a:3c:fc:a8: + 1a:a6:c1:0e:fa:09:49:9e:d1:89:b8:4c:b0:7a:5b:76:25:05: + fe:80:d9:8d:c1:9e:84:0b:83:53:16:9a:1e:2d:55:9a:b7:81: + d4:3f:0a:c7:56:ac:87:58:fa:3b:27:77:c6:f6:31:c1:c8:56: + 4a:28:6a:de:20:32:c4:80:b0:d1:36:25:ac:2c:94:28:8a:b8: + 2b:f2:04:f0 +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBGjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MzIzM1oXDTA4MTAyODE2MzIzM1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON +m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT +D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t +tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp +OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe +RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoDADANBgkqhkiG9w0BAQsFAAOCAQEAOm3yuORQTfbw8wQbc782 +E9XmcNkxtEe3XsqKJZP8bN1jXgncR9nUQznz7cXyZNWscgJ28gfKpdka451qfZBM +1ccJyWTdOPAvqw1f5BMCLIUCVvRtMQf5C8fppAruEwMYnYG4eGjSmaPkT+eWhpkG +EIy1wjkDipQuIQBngvUlbMtxa4zmMQoZ7Ro0DKlIyshp/JFO+QzlJCtwUhz/HM84 +KBc6PSKn+pPdj0YDLrDOEFdKPPyoGqbBDvoJSZ7RibhMsHpbdiUF/oDZjcGehAuD +UxaaHi1VmreB1D8Kx1ash1j6Oyd3xvYxwchWSihq3iAyxICw0TYlrCyUKIq4K/IE +8A== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/1B.pem b/rpkid/resource-cert-samples/LIR3/1B.pem new file mode 100644 index 00000000..787aacd7 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/1B.pem @@ -0,0 +1,91 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 27 (0x1b) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY LIR3 + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY ISP5a + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:e6:4b:ad:78:28:6b:e6:50:1b:65:81:d5:8d:2b: + 56:77:cd:bb:c9:47:a0:aa:32:b0:2c:ac:1f:f1:e4: + 90:2b:c2:33:6f:e7:53:b1:d0:1d:ab:05:27:9d:b7: + a1:ee:a8:4f:c8:5b:36:23:e3:12:e4:51:59:27:cd: + fd:7a:aa:dc:56:05:a1:73:ab:79:dd:3c:82:b2:8f: + ae:f9:ec:c0:36:38:e6:02:aa:fd:89:60:21:52:5b: + b6:33:80:75:e5:7f:fd:ac:6e:ec:d4:9a:26:2f:7e: + 28:45:16:29:47:7d:f3:8a:72:d5:e4:65:fa:f4:54: + 6f:ae:48:33:62:c1:32:f1:2b:83:33:36:63:60:9e: + bc:c7:e7:99:5d:51:da:cd:2f:8f:83:47:20:9e:e9: + cc:a3:72:c0:72:bd:49:2d:c4:52:ea:6f:da:42:46: + 71:90:c7:af:7f:9f:c7:dd:0b:96:96:3c:45:9f:c0: + ea:65:6a:43:e3:f3:92:d5:e1:73:c0:6e:20:f5:17: + e5:d1:58:da:21:b3:e9:0c:4d:f0:e8:bd:7c:b7:ef: + 81:c9:f5:70:cf:a8:20:7d:e2:6a:f9:1b:66:a9:c8: + 71:d6:32:f8:72:3d:83:99:19:0d:0c:6b:e9:f8:92: + cd:33:17:86:6a:3d:af:0d:05:94:ab:1c:d4:2c:a4: + 45:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:F0:14:0B:79:FB:0B:FF:A8:EF:54:B9:EC:3E:B9:8B:D0:CB:9C:EC + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/ISP5a/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/LIR3.cer + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + + Signature Algorithm: sha256WithRSAEncryption + 38:f3:dc:20:93:3e:ff:25:8d:0e:90:b3:7f:65:ea:67:69:9a: + f0:6a:a1:77:5b:49:da:26:66:ac:3d:4d:20:a9:39:bb:e1:85: + 8a:a2:eb:5c:e8:b6:d2:d8:6b:04:19:32:cc:a7:1b:f6:24:d9: + 30:ee:ef:e3:d7:9f:85:01:02:6e:4e:4b:ad:af:97:71:59:e2: + 24:b3:29:86:16:79:ae:04:be:9c:43:70:99:63:98:f9:6e:1c: + 8a:69:48:64:90:70:b4:51:e6:12:95:b3:c1:bc:d4:1d:c0:dc: + 3e:cc:af:6e:a5:a5:d2:79:b3:bb:d7:b5:8a:a6:d7:64:83:87: + 8c:54:49:b8:c9:e8:76:18:40:20:ec:2c:52:0a:57:4c:7a:a0: + 87:f2:c7:13:42:24:c6:10:e7:db:d3:4c:6a:d7:65:ec:19:13: + 7c:15:13:74:9b:95:13:0a:91:9f:ad:ad:e7:85:40:16:8d:44: + ff:fa:e7:3b:a1:96:da:46:cb:e8:18:92:7f:9a:42:bb:8b:7f: + 25:bb:da:46:a3:2f:92:59:26:eb:66:17:b9:12:3f:52:58:a7: + b6:31:f6:2a:68:35:11:a7:f0:b9:aa:44:c3:f3:ad:05:7e:3a: + 25:96:9e:01:ce:6b:e5:87:b5:c5:99:da:e3:b6:00:8a:e7:11: + f7:98:16:3a +-----BEGIN CERTIFICATE----- +MIIDvTCCAqWgAwIBAgIBGzANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBURVNU +IEVOVElUWSBMSVIzMB4XDTA3MTAyOTE2MzIzM1oXDTA4MTAyODE2MzIzM1owHDEa +MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox +0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J +YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg +nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl +akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy +PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEJMIIBBTAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAOBgNVHQ8B +Af8EBAMCAQYwQgYIKwYBBQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dv +bWJhdHMtci11cy5oYWN0cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYI +KwYBBQUHMAKGKHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5j +ZXIwOQYIKwYBBQUHAQcBAf8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACAB +DbgAAAAAAAAAAAoAADANBgkqhkiG9w0BAQsFAAOCAQEAOPPcIJM+/yWNDpCzf2Xq +Z2ma8Gqhd1tJ2iZmrD1NIKk5u+GFiqLrXOi20thrBBkyzKcb9iTZMO7v49efhQEC +bk5Lra+XcVniJLMphhZ5rgS+nENwmWOY+W4cimlIZJBwtFHmEpWzwbzUHcDcPsyv +bqWl0nmzu9e1iqbXZIOHjFRJuMnodhhAIOwsUgpXTHqgh/LHE0IkxhDn29NMatdl +7BkTfBUTdJuVEwqRn62t54VAFo1E//rnO6GW2kbL6BiSf5pCu4t/JbvaRqMvklkm +62YXuRI/UlintjH2Kmg1EafwuapEw/OtBX46JZaeAc5r5Ye1xZna47YAiucR95gW +Og== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/LIR3/index b/rpkid/resource-cert-samples/LIR3/index new file mode 100644 index 00000000..c03799ef --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/index @@ -0,0 +1,27 @@ +V 080731144818Z 01 unknown /CN=TEST ENTITY ISP5c +V 080731144820Z 02 unknown /CN=TEST ENTITY ISP5b +V 080731144822Z 03 unknown /CN=TEST ENTITY ISP5a +V 080809005817Z 04 unknown /CN=TEST ENTITY ISP5c +V 080809005817Z 05 unknown /CN=TEST ENTITY ISP5b +V 080809005817Z 06 unknown /CN=TEST ENTITY ISP5a +V 080809010231Z 07 unknown /CN=TEST ENTITY ISP5c +V 080809010231Z 08 unknown /CN=TEST ENTITY ISP5b +V 080809010231Z 09 unknown /CN=TEST ENTITY ISP5a +V 080809010709Z 0A unknown /CN=TEST ENTITY ISP5c +V 080809010709Z 0B unknown /CN=TEST ENTITY ISP5b +V 080809010709Z 0C unknown /CN=TEST ENTITY ISP5a +V 080809011339Z 0D unknown /CN=TEST ENTITY ISP5c +V 080809011339Z 0E unknown /CN=TEST ENTITY ISP5b +V 080809011339Z 0F unknown /CN=TEST ENTITY ISP5a +V 080809011510Z 10 unknown /CN=TEST ENTITY ISP5c +V 080809011510Z 11 unknown /CN=TEST ENTITY ISP5b +V 080809011510Z 12 unknown /CN=TEST ENTITY ISP5a +V 081018190607Z 13 unknown /CN=TEST ENTITY ISP5c +V 081018190607Z 14 unknown /CN=TEST ENTITY ISP5b +V 081018190607Z 15 unknown /CN=TEST ENTITY ISP5a +V 081028160351Z 16 unknown /CN=TEST ENTITY ISP5c +V 081028160352Z 17 unknown /CN=TEST ENTITY ISP5b +V 081028160352Z 18 unknown /CN=TEST ENTITY ISP5a +V 081028163233Z 19 unknown /CN=TEST ENTITY ISP5c +V 081028163233Z 1A unknown /CN=TEST ENTITY ISP5b +V 081028163233Z 1B unknown /CN=TEST ENTITY ISP5a diff --git a/rpkid/resource-cert-samples/LIR3/index.attr b/rpkid/resource-cert-samples/LIR3/index.attr new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/index.attr @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/LIR3/index.attr.old b/rpkid/resource-cert-samples/LIR3/index.attr.old new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/index.attr.old @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/LIR3/index.old b/rpkid/resource-cert-samples/LIR3/index.old new file mode 100644 index 00000000..82ed2ae6 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/index.old @@ -0,0 +1,26 @@ +V 080731144818Z 01 unknown /CN=TEST ENTITY ISP5c +V 080731144820Z 02 unknown /CN=TEST ENTITY ISP5b +V 080731144822Z 03 unknown /CN=TEST ENTITY ISP5a +V 080809005817Z 04 unknown /CN=TEST ENTITY ISP5c +V 080809005817Z 05 unknown /CN=TEST ENTITY ISP5b +V 080809005817Z 06 unknown /CN=TEST ENTITY ISP5a +V 080809010231Z 07 unknown /CN=TEST ENTITY ISP5c +V 080809010231Z 08 unknown /CN=TEST ENTITY ISP5b +V 080809010231Z 09 unknown /CN=TEST ENTITY ISP5a +V 080809010709Z 0A unknown /CN=TEST ENTITY ISP5c +V 080809010709Z 0B unknown /CN=TEST ENTITY ISP5b +V 080809010709Z 0C unknown /CN=TEST ENTITY ISP5a +V 080809011339Z 0D unknown /CN=TEST ENTITY ISP5c +V 080809011339Z 0E unknown /CN=TEST ENTITY ISP5b +V 080809011339Z 0F unknown /CN=TEST ENTITY ISP5a +V 080809011510Z 10 unknown /CN=TEST ENTITY ISP5c +V 080809011510Z 11 unknown /CN=TEST ENTITY ISP5b +V 080809011510Z 12 unknown /CN=TEST ENTITY ISP5a +V 081018190607Z 13 unknown /CN=TEST ENTITY ISP5c +V 081018190607Z 14 unknown /CN=TEST ENTITY ISP5b +V 081018190607Z 15 unknown /CN=TEST ENTITY ISP5a +V 081028160351Z 16 unknown /CN=TEST ENTITY ISP5c +V 081028160352Z 17 unknown /CN=TEST ENTITY ISP5b +V 081028160352Z 18 unknown /CN=TEST ENTITY ISP5a +V 081028163233Z 19 unknown /CN=TEST ENTITY ISP5c +V 081028163233Z 1A unknown /CN=TEST ENTITY ISP5b diff --git a/rpkid/resource-cert-samples/LIR3/serial b/rpkid/resource-cert-samples/LIR3/serial new file mode 100644 index 00000000..cc9c0531 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/serial @@ -0,0 +1 @@ +1C diff --git a/rpkid/resource-cert-samples/LIR3/serial.old b/rpkid/resource-cert-samples/LIR3/serial.old new file mode 100644 index 00000000..8787ed81 --- /dev/null +++ b/rpkid/resource-cert-samples/LIR3/serial.old @@ -0,0 +1 @@ +1B diff --git a/rpkid/resource-cert-samples/Makefile b/rpkid/resource-cert-samples/Makefile new file mode 100644 index 00000000..90c85ac0 --- /dev/null +++ b/rpkid/resource-cert-samples/Makefile @@ -0,0 +1,232 @@ +# Automatically generated, do not edit. + +all:: RIR.cer + +RIR.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +RIR.req: RIR.key RIR.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config RIR.cnf -key RIR.key -out $@ + +RIR.cer: RIR.req RIR.cnf RIR.key Makefile + @test -d RIR || mkdir RIR + @test -f RIR/index || touch RIR/index + @test -f RIR/serial || echo 01 >RIR/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in RIR.req -extfile RIR.cnf -config RIR.cnf -selfsign + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in RIR.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in RIR.cer + +all:: LIR3.cer + +LIR3.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +LIR3.req: LIR3.key LIR3.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config LIR3.cnf -key LIR3.key -out $@ + +LIR3.cer: LIR3.req LIR3.cnf RIR.key Makefile + @test -d LIR3 || mkdir LIR3 + @test -f LIR3/index || touch LIR3/index + @test -f LIR3/serial || echo 01 >LIR3/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in LIR3.req -extfile LIR3.cnf -config RIR.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in LIR3.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in LIR3.cer + +all:: LIR2.cer + +LIR2.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +LIR2.req: LIR2.key LIR2.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config LIR2.cnf -key LIR2.key -out $@ + +LIR2.cer: LIR2.req LIR2.cnf RIR.key Makefile + @test -d LIR2 || mkdir LIR2 + @test -f LIR2/index || touch LIR2/index + @test -f LIR2/serial || echo 01 >LIR2/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in LIR2.req -extfile LIR2.cnf -config RIR.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in LIR2.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in LIR2.cer + +all:: LIR1.cer + +LIR1.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +LIR1.req: LIR1.key LIR1.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config LIR1.cnf -key LIR1.key -out $@ + +LIR1.cer: LIR1.req LIR1.cnf RIR.key Makefile + @test -d LIR1 || mkdir LIR1 + @test -f LIR1/index || touch LIR1/index + @test -f LIR1/serial || echo 01 >LIR1/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in LIR1.req -extfile LIR1.cnf -config RIR.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in LIR1.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in LIR1.cer + +all:: ISP5c.cer + +ISP5c.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP5c.req: ISP5c.key ISP5c.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP5c.cnf -key ISP5c.key -out $@ + +ISP5c.cer: ISP5c.req ISP5c.cnf LIR3.key Makefile + @test -d ISP5c || mkdir ISP5c + @test -f ISP5c/index || touch ISP5c/index + @test -f ISP5c/serial || echo 01 >ISP5c/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP5c.req -extfile ISP5c.cnf -config LIR3.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP5c.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP5c.cer + +all:: ISP5b.cer + +ISP5b.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP5b.req: ISP5b.key ISP5b.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP5b.cnf -key ISP5b.key -out $@ + +ISP5b.cer: ISP5b.req ISP5b.cnf LIR3.key Makefile + @test -d ISP5b || mkdir ISP5b + @test -f ISP5b/index || touch ISP5b/index + @test -f ISP5b/serial || echo 01 >ISP5b/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP5b.req -extfile ISP5b.cnf -config LIR3.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP5b.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP5b.cer + +all:: ISP5a.cer + +ISP5a.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP5a.req: ISP5a.key ISP5a.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP5a.cnf -key ISP5a.key -out $@ + +ISP5a.cer: ISP5a.req ISP5a.cnf LIR3.key Makefile + @test -d ISP5a || mkdir ISP5a + @test -f ISP5a/index || touch ISP5a/index + @test -f ISP5a/serial || echo 01 >ISP5a/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP5a.req -extfile ISP5a.cnf -config LIR3.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP5a.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP5a.cer + +all:: ISP4.cer + +ISP4.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP4.req: ISP4.key ISP4.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP4.cnf -key ISP4.key -out $@ + +ISP4.cer: ISP4.req ISP4.cnf LIR2.key Makefile + @test -d ISP4 || mkdir ISP4 + @test -f ISP4/index || touch ISP4/index + @test -f ISP4/serial || echo 01 >ISP4/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP4.req -extfile ISP4.cnf -config LIR2.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP4.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP4.cer + +all:: ISP3.cer + +ISP3.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP3.req: ISP3.key ISP3.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP3.cnf -key ISP3.key -out $@ + +ISP3.cer: ISP3.req ISP3.cnf LIR2.key Makefile + @test -d ISP3 || mkdir ISP3 + @test -f ISP3/index || touch ISP3/index + @test -f ISP3/serial || echo 01 >ISP3/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP3.req -extfile ISP3.cnf -config LIR2.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP3.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP3.cer + +all:: ISP2.cer + +ISP2.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP2.req: ISP2.key ISP2.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP2.cnf -key ISP2.key -out $@ + +ISP2.cer: ISP2.req ISP2.cnf LIR1.key Makefile + @test -d ISP2 || mkdir ISP2 + @test -f ISP2/index || touch ISP2/index + @test -f ISP2/serial || echo 01 >ISP2/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP2.req -extfile ISP2.cnf -config LIR1.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP2.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP2.cer + +all:: ISP1.cer + +ISP1.key: + ../../openssl/openssl/apps/openssl genrsa -out $@ 2048 + +ISP1.req: ISP1.key ISP1.cnf Makefile + ../../openssl/openssl/apps/openssl req -new -config ISP1.cnf -key ISP1.key -out $@ + +ISP1.cer: ISP1.req ISP1.cnf LIR1.key Makefile + @test -d ISP1 || mkdir ISP1 + @test -f ISP1/index || touch ISP1/index + @test -f ISP1/serial || echo 01 >ISP1/serial + ../../openssl/openssl/apps/openssl ca -batch -out $@ -in ISP1.req -extfile ISP1.cnf -config LIR1.cnf + + +show_req:: + ../../openssl/openssl/apps/openssl req -noout -text -in ISP1.req -config /dev/null + +show_cer:: + ../../openssl/openssl/apps/openssl x509 -noout -text -in ISP1.cer diff --git a/rpkid/resource-cert-samples/RIR.cer b/rpkid/resource-cert-samples/RIR.cer new file mode 100644 index 00000000..d7154c7c --- /dev/null +++ b/rpkid/resource-cert-samples/RIR.cer @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 47 (0x2f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 90:3c:6e:1d:89:9d:00:53:b4:b1:36:ea:2b:cf:21:d5:b2:77: + 66:be:da:ad:db:92:35:0d:83:55:f5:92:11:73:93:af:1a:ec: + 1d:7a:1a:84:8f:c0:61:29:f1:51:c7:a6:7c:95:7c:a8:38:40: + 57:6b:fc:51:38:fd:6b:8a:7a:58:d8:c6:36:a5:0d:9b:7a:b9: + b4:47:e1:a5:fc:66:b6:51:22:45:50:94:b4:f2:47:f2:a2:29: + 6a:33:6a:3c:26:44:c5:5a:17:ce:7a:f3:4a:46:0e:f4:fd:36: + 01:7c:c5:1e:59:bc:3a:e7:36:f3:64:d4:0c:7a:f7:6a:ef:11: + ae:32:5a:77:62:b3:e4:b3:9e:16:9f:11:28:cb:11:dd:79:ff: + a5:b8:3e:3f:fd:df:34:92:2f:f4:0e:d2:50:a8:80:a1:17:91: + 50:c7:d3:af:c5:6e:d8:ca:cd:28:e0:92:28:b3:c4:13:39:9d: + fc:a1:57:61:22:22:70:57:27:5f:33:72:17:a8:04:89:9d:44: + 9b:7d:1a:66:10:19:f3:b9:9c:17:48:22:71:c6:a5:e0:ba:00: + ab:a4:01:bb:c7:2b:8f:0f:25:8a:20:71:21:4f:c0:74:34:14: + e5:23:3a:70:48:c2:04:9a:93:97:29:f9:39:7b:ac:1a:e4:2b: + 0d:13:b6:b7 +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBLzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQCQPG4diZ0AU7SxNuorzyHVsndmvtqt25I1DYNV +9ZIRc5OvGuwdehqEj8BhKfFRx6Z8lXyoOEBXa/xROP1rinpY2MY2pQ2berm0R+Gl +/Ga2USJFUJS08kfyoilqM2o8JkTFWhfOevNKRg70/TYBfMUeWbw65zbzZNQMevdq +7xGuMlp3YrPks54WnxEoyxHdef+luD4//d80ki/0DtJQqIChF5FQx9OvxW7Yys0o +4JIos8QTOZ38oVdhIiJwVydfM3IXqASJnUSbfRpmEBnzuZwXSCJxxqXgugCrpAG7 +xyuPDyWKIHEhT8B0NBTlIzpwSMIEmpOXKfk5e6wa5CsNE7a3 +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR.cnf b/rpkid/resource-cert-samples/RIR.cnf new file mode 100644 index 00000000..b70b41e8 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR.cnf @@ -0,0 +1,64 @@ +# Automatically generated, do not edit. + +[ ca ] +default_ca = ca_default + +[ ca_default ] +certificate = RIR.cer +serial = RIR/serial +private_key = RIR.key +database = RIR/index +new_certs_dir = RIR +name_opt = ca_default +cert_opt = ca_default +default_days = 365 +default_crl_days = 30 +default_md = sha256 +preserve = no +copy_extensions = copy +policy = ca_policy_anything +unique_subject = no +x509_extensions = ca_x509_ext +crl_extensions = crl_x509_ext + +[ ca_policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional +givenName = optional +surname = optional + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = TEST ENTITY RIR + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/RIR/ +#authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/???.cer +sbgp-autonomousSysNum = critical,AS:64533,AS:64534-64540,AS:64544 +sbgp-ipAddrBlock = critical,IPv4:10.0.0.0/24,IPv4:10.3.0.0/24,IPv4:192.0.2.1-192.0.2.33,IPv4:192.0.2.44-192.0.2.100,IPv6:2001:db8::44-2001:db8::100,IPv6:2001:db8::a00:0/120,IPv6:2001:db8::a03:0/120,IPv6:2001:db8::10:0:44/128 + +[ ca_x509_ext ] +basicConstraints = critical,CA:true +#authorityKeyIdentifier = keyid:always +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombats-r-us.hactrn.net/RIR/ +#authorityInfoAccess = caIssuers;URI:rsync://wombats-r-us.hactrn.net/???.cer +sbgp-autonomousSysNum = critical,AS:64533,AS:64534-64540,AS:64544 +sbgp-ipAddrBlock = critical,IPv4:10.0.0.0/24,IPv4:10.3.0.0/24,IPv4:192.0.2.1-192.0.2.33,IPv4:192.0.2.44-192.0.2.100,IPv6:2001:db8::44-2001:db8::100,IPv6:2001:db8::a00:0/120,IPv6:2001:db8::a03:0/120,IPv6:2001:db8::10:0:44/128 + +[ crl_x509_ext ] +authorityKeyIdentifier = keyid:always diff --git a/rpkid/resource-cert-samples/RIR.key b/rpkid/resource-cert-samples/RIR.key new file mode 100644 index 00000000..5721f051 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEArKcmxJhombby58WXBX751/LsOeYrjsJCiLmPIrY8WbAOih0O ++IGxyP9KihpDvHiRPq+ysJVgqT6dwv+Zj4+23NhGt4Y1pvZCBcLFm4QV4lgPcJy8 +U9codvjyFHkivdaLbA4rAuXY8zP6FkObgIf5skWrvX0UsiQvQRNvRcTc+U1/2NPh +qlxSncl6OLewQ723ajdD7Oc0xDtMysx7H5Hvq9Q1dkKC1PV54BI8JJIu3KJcg/Bx +iiaWMNS4lk0ALBrwD3lSxydzVHfBhvmGYc7gaaeoPXc55yTuQY1SGTtXjITMmtUF +fOaDLOMTbWYbhyCCR+EFJvA7KWltvK9IkcRA8QIDAQABAoIBAQCUKyLfJvjlqhcO +BwlTQyRBSo2mJr0M1/PniG+pV4G1ap0ftE5rwEoF9+lNWbr13PaxOHF+j8OTm1Qi +y95KUQiawNT3nSsgLUh9zyhtDU8Gn5Ioj6ojvYtRhtWh8k95YcznH8WTyBOGq/2c +68pg5NDKSHZZuSVwuBMBox8kXg1RuOI7iEcj1q3QjkzZDQURzkW4jSrWgTeIXt6p ++0fngY15xhYP3FGNAOuqfs1GJK33sQO7A7XWew2UAiiPCxfgGDFRe/tV1I4KuS3/ +Uw23ZtGLQ3nu+SEvTK491uZ38Gld2qEBzNdQv+DwhBRyGl0K5QWFmr90Ko0zYgV8 +9OAGebYBAoGBAOBG2+6erAjy+wdeNLcY+pmgsNBZ9rPkHB2XQaxagId5WTYza0Yv +JwjEiRo6/r1lZ1F0su7rtjQK9V0jfCHVe4jlpLA/qB+HRIbcTFI+GTr3onZwWLuK +CX21a6Nw+FS462DBYWqh8qOUbi/14csGOYwU1ZB7vfSvlZZZyZYosbihAoGBAMUS ++XP0BCPtnY19BnrWBaQqzLNFiuDA/uBcxq9/BlLifu419Ado6EmqVn8A6aD0zWoE +OSQrtJJhvMMLM/2ihYZaW/YtI1IAnDzV51QSbc/biFrSzvT102ABFOwpB33uFeWK +hrQF+7n6imU4f+9iGceAOe/si3fieDUjJ2aEyxZRAoGAO7oDJgfxjqyOt4aaCUzI +qBMII2Rh88RCzIqUfb7YTbu+S1XkMpuqDIaycF7Xqj6QBjxKzp/NNQzaDQS/MQ92 +R53Ifvtk3YibckLGvHw3IeICzQHcT41SO70Nvkf+iil43ZqCQ/B++pszwOf9SqEM +wEZoHYMmsjv0XUbqDWgm9CECgYBliV8pFOJFOJniWjZKd5a0fLC29O+W2Rj4tBRS +O1ogvj2zseynHLABtFeYW/oDSd3D76UZM8N3YBAHVfBVj7TIAio7bgoyp8nXtkXX +lR8q5uscEF087KMZZbVH7+PCSDbT60l321VU/vbrK+8OgTbTCQfQy8kX3YEdr50P +Pv/74QKBgAn1B3+6n6WYFkpIPFKrs4MhVmVveqXQy2DcZb+W0WTm+Z7xBCP496mc +E3FEyKSYocIrDdmtcGDWO4kudrkXmpFJvd6Mi7v076khvQwDQ0++F7JWkAeUFEm4 +kBOCpCRpGlDgr14klqRJzO9swvt2TbPstE3Tofl9mIXaflud3bd3 +-----END RSA PRIVATE KEY----- diff --git a/rpkid/resource-cert-samples/RIR.req b/rpkid/resource-cert-samples/RIR.req new file mode 100644 index 00000000..d86020df --- /dev/null +++ b/rpkid/resource-cert-samples/RIR.req @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIID0zCCArsCAQAwGjEYMBYGA1UEAxMPVEVTVCBFTlRJVFkgUklSMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKcmxJhombby58WXBX751/LsOeYrjsJC +iLmPIrY8WbAOih0O+IGxyP9KihpDvHiRPq+ysJVgqT6dwv+Zj4+23NhGt4Y1pvZC +BcLFm4QV4lgPcJy8U9codvjyFHkivdaLbA4rAuXY8zP6FkObgIf5skWrvX0UsiQv +QRNvRcTc+U1/2NPhqlxSncl6OLewQ723ajdD7Oc0xDtMysx7H5Hvq9Q1dkKC1PV5 +4BI8JJIu3KJcg/BxiiaWMNS4lk0ALBrwD3lSxydzVHfBhvmGYc7gaaeoPXc55yTu +QY1SGTtXjITMmtUFfOaDLOMTbWYbhyCCR+EFJvA7KWltvK9IkcRA8QIDAQABoIIB +cjCCAW4GCSqGSIb3DQEJDjGCAV8wggFbMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFPu4p6M2SAqgn/Au3ItovLNcRSXXMA4GA1UdDwEB/wQEAwIBBjBABggrBgEF +BQcBCwQ0MDIwMAYIKwYBBQUHMAWGJHJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry +bi5uZXQvUklSLzAmBggrBgEFBQcBCAEB/wQXMBWgEzARMAoCAwD8FQIDAPwcAgMA +/CAwga4GCCsGAQUFBwEHAQH/BIGeMIGbMDIEAgABMCwDBAAKAAADBAAKAwAwDgMF +AMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDBlBAIAAjBfMCYDEQIgAQ24AAAA +AAAAAAAAAABEAxEAIAENuAAAAAAAAAAAAAABAAMQACABDbgAAAAAAAAAAAoAAAMQ +ACABDbgAAAAAAAAAAAoDAAMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEF +BQADggEBACxlBDXYMPg+b4ob7rJxpi+V7mYAUkkdk3GlPuSJMyURO+51kSrEpp+q +V7F8bWccjXR123Qjo6agabR22r+d961GflRKimhMZAY8rVRGHO+Pdca7eqxMRxwF +kfuxb2W3TPGcdpuUsoMfe2vxjHZRd3uKL47SrctNpXYrvesjhQpLz1UTQ4Hnv/aw +Ks0pxPqaVNcGXbJKSUwu5x36Cuky4r3dK299QBAuAsv0qPuxOPOLOY0bKTliEHlg +qkadGSvnzLkTvFn41SDBZpFZY2o3RbIwMY0tSvnLN8lvlS9P20Wgl4xUJ39qRRfO +94XlYnKios+AFEUAEzqFh/VnNclb1dw= +-----END CERTIFICATE REQUEST----- diff --git a/rpkid/resource-cert-samples/RIR/01.pem b/rpkid/resource-cert-samples/RIR/01.pem new file mode 100644 index 00000000..07ee97f6 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/01.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID9zCCAt+gAwIBAgIBATANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMDU0NTIzWhcNMDgwNzMxMDU0NTIzWjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFGMIIBQjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAfBgNVHSMEGDAW +gBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8EBAMCAQYwQAYIKwYBBQUH +AQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4u +bmV0L1JJUi8wHwYIKwYBBQUHAQgBAf8EEDAOoAwwCgIDAPwVAgMA/CAwfAYIKwYB +BQUHAQcBAf8EbTBrMCYEAgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUA +wAACZDBBBAIAAjA7MCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABAAMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAAMSdVb0 +8uyFbF8CPlOzqgJv/jG+qPWDRUh8XqHiMvoGtUXbHUn7dO/XHJ2rsdL14F7mUPbI +jzdtbVeK4aMKQBJ9u2ZYsCcpmJYiF/GBMva93X5Fpbnzzj7pJ5AeoIo2qEi7zqqq +hhnInDZmTNRvV21u18VMaz1YBsEJZjr99lqNibba6UsoISVU2KEPVxob/nRHisGX +Sd7mxhkkpTKO11Z4/viUxEQORfjtqnkIk3lmJwTjz2ASmBfuwH4QsLLu9m92ueF5 +PoHO/P8c2TZg1go8jYlBAd61AZHNaixF9EFObfcRNRuFiUfdnMpn8msPpiM3WCbj +CgdEWb4i5d2+jZM= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/02.pem b/rpkid/resource-cert-samples/RIR/02.pem new file mode 100644 index 00000000..b9922644 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/02.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEETCCAvmgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMDU0NTI0WhcNMDgwNzMxMDU0NTI0WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBXzCCAVswDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEEAgACMDswJgMRAiABDbgA +AAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEAIAENuAAAAAAAAAAQAAAA +RDANBgkqhkiG9w0BAQUFAAOCAQEAiSIKq9RWuFEow+iALzmf/bwwB8cn7TOcfQjf +6U5/CHb4FlSMCfrcsxXdHQtDD2CAVhj3J3o2CDZ4FRVnROahg9QGbUv9CExEvAVZ +PJWFvU2/i3yWblucCWonl9ObxmNiScYgU/wpjoSwO7uxlGujc8Weraqq9qW85vk3 +F17jB8O2aEGnKn2/wmAhgXcwrnZTVRSEtEqXc2CucpFkonLrGID1UCwkY83z5XRy +h6UUSHf+XtpRLmEwxtTSYGLTUgMQFQPzyBL+OBSPJSJyAm1NbZuY9hvJ4Yn9at0d +S6H1J1l1y6MTQBMF84qSaAVsuy0tZrsPaBh5tMK9Wtl6ACrHtQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/03.pem b/rpkid/resource-cert-samples/RIR/03.pem new file mode 100644 index 00000000..3b7fe4ac --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/03.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID9jCCAt6gAwIBAgIBAzANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMDU0NTI1WhcNMDgwNzMxMDU0NTI1WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBRDCCAUAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYEAgABMCAwDgMFAMAAAgED +BQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEAPENXZekh +lKRhT+y1XgSOwZ2C9y7Gk6Ogdwj7yv8CIuCD/Es5+ekAYqW4vpch9jYvRind+MAU +5DriEtdsjhn7cxQVgSgGJk3dyymhRvODLSR0r+KUYj0Yo4I6XB71ZdbsfCcY5KpG +/r0MkM6aJxwDR26WvzMUcfU5tN1Dug2iW7dzKfnt/yo3w2vfr/f7ForU/eOde9Jr +JAVXctcYLfYrAmaYEYZBMnWBeHKhLSzWEkhsW5EeFULIlSDvCDB0zXPvEjOY+PhT +IM0GCPNv2OruGLAmCdc6MGfmhUKIxXMyXGBES3kjphudTF+zcZx9TV9U+M4/35M3 +X51eZH/pyqBKBw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/04.pem b/rpkid/resource-cert-samples/RIR/04.pem new file mode 100644 index 00000000..29900503 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/04.pem @@ -0,0 +1,99 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4 (0x4) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 0a:c5:a7:72:a7:bf:b4:e6:ab:04:40:0f:39:bd:54:88:30:2b: + e7:a7:91:f4:e8:2f:38:8a:ff:99:68:0a:ab:ce:d8:7d:51:e3: + 73:2b:64:bf:6a:b5:78:db:96:2e:0d:5b:ec:99:da:aa:63:62: + 43:5c:f7:df:a8:c0:93:ab:5e:ff:de:8f:c6:c9:de:fd:f9:b6: + 6e:6e:96:81:db:db:cc:2c:47:3b:60:33:e2:8d:6d:28:23:13: + f8:e1:84:2d:6f:1c:45:fc:54:91:0e:21:53:3b:a3:23:37:2b: + 64:ab:99:33:66:30:b6:bb:20:c1:d6:d4:34:b4:2a:c8:84:5b: + 87:38:69:ea:82:ef:6d:59:2a:ed:7f:d3:ba:02:34:47:b7:75: + a8:43:30:15:24:9d:58:ed:0a:d3:a0:3f:32:f5:9b:4c:7b:2d: + 9d:73:91:5f:37:08:aa:e4:b3:48:5c:b8:64:dc:09:c4:13:72: + 15:f8:3d:f9:d4:96:d0:9a:83:52:8d:17:b9:c7:ea:33:10:08: + 67:c7:85:23:26:57:f2:cc:b5:d2:a0:65:cc:57:4e:77:7d:2f: + 68:7c:d7:e6:9a:9c:2f:c3:0b:c6:9d:05:5d:56:17:45:81:7f: + 7c:2c:77:fc:2a:f4:33:18:0d:ea:e8:3d:fd:00:55:90:8a:1d: + b8:2c:64:69 +-----BEGIN CERTIFICATE----- +MIID9zCCAt+gAwIBAgIBBDANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwNTI5WhcNMDgwNzMxMTQwNTI5WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFGMIIBQjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAfBgNVHSMEGDAW +gBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8EBAMCAQYwQAYIKwYBBQUH +AQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4u +bmV0L1JJUi8wHwYIKwYBBQUHAQgBAf8EEDAOoAwwCgIDAPwVAgMA/CAwfAYIKwYB +BQUHAQcBAf8EbTBrMCYEAgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUA +wAACZDBBBAIAAjA7MCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABAAMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAArFp3Kn +v7TmqwRADzm9VIgwK+enkfToLziK/5loCqvO2H1R43MrZL9qtXjbli4NW+yZ2qpj +YkNc99+owJOrXv/ej8bJ3v35tm5uloHb28wsRztgM+KNbSgjE/jhhC1vHEX8VJEO +IVM7oyM3K2SrmTNmMLa7IMHW1DS0KsiEW4c4aeqC721ZKu1/07oCNEe3dahDMBUk +nVjtCtOgPzL1m0x7LZ1zkV83CKrks0hcuGTcCcQTchX4PfnUltCag1KNF7nH6jMQ +CGfHhSMmV/LMtdKgZcxXTnd9L2h81+aanC/DC8adBV1WF0WBf3wsd/wq9DMYDero +Pf0AVZCKHbgsZGk= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/05.pem b/rpkid/resource-cert-samples/RIR/05.pem new file mode 100644 index 00000000..3e86b43b --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/05.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 5 (0x5) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 2c:7e:f1:e6:b5:3f:58:22:09:5d:48:ab:9a:3b:67:b8:6c:c6: + 3d:f4:2e:81:f5:63:42:a0:3f:78:4a:9c:0f:6d:d5:64:21:7a: + a9:56:1c:2c:f6:d3:1e:7b:f8:c9:3a:69:09:18:4b:56:88:de: + c7:51:19:bf:63:2f:8b:a7:24:63:b9:a9:b1:93:21:14:e4:3d: + 38:68:0d:b8:f1:33:6b:1c:fa:5f:87:40:42:5e:f5:8d:15:f7: + 9d:7f:89:02:23:f3:fb:7e:29:4c:32:61:d5:b4:8e:68:5d:00: + a0:25:3a:99:76:c2:f2:48:b8:1f:05:5a:65:84:e6:71:a1:02: + ad:6e:b0:72:39:06:49:bc:ab:f9:d7:b4:76:a9:84:8b:fe:8a: + 45:11:1f:c3:58:f0:b4:9d:ee:0a:90:a7:2b:4b:11:ab:7a:90: + aa:b6:a2:63:c6:7d:bc:07:1d:f5:6e:67:b9:7d:bd:8e:c4:11: + cc:4f:96:2c:8e:95:ec:50:3c:e0:cf:e3:e1:ea:7e:4e:92:54: + 58:5b:82:58:8b:51:8a:79:3f:0b:00:d5:c1:00:7b:8d:75:ce: + 7b:36:2d:26:36:63:0e:43:01:17:6e:28:fe:d1:5d:12:68:34: + 85:0d:59:d3:81:33:73:b0:7c:57:cb:3b:f2:43:e0:7c:4a:44: + 89:6d:a3:4c +-----BEGIN CERTIFICATE----- +MIIEETCCAvmgAwIBAgIBBTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwNTI5WhcNMDgwNzMxMTQwNTI5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBXzCCAVswDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEEAgACMDswJgMRAiABDbgA +AAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEAIAENuAAAAAAAAAAQAAAA +RDANBgkqhkiG9w0BAQUFAAOCAQEALH7x5rU/WCIJXUirmjtnuGzGPfQugfVjQqA/ +eEqcD23VZCF6qVYcLPbTHnv4yTppCRhLVojex1EZv2Mvi6ckY7mpsZMhFOQ9OGgN +uPEzaxz6X4dAQl71jRX3nX+JAiPz+34pTDJh1bSOaF0AoCU6mXbC8ki4HwVaZYTm +caECrW6wcjkGSbyr+de0dqmEi/6KRREfw1jwtJ3uCpCnK0sRq3qQqraiY8Z9vAcd +9W5nuX29jsQRzE+WLI6V7FA84M/j4ep+TpJUWFuCWItRink/CwDVwQB7jXXOezYt +JjZjDkMBF24o/tFdEmg0hQ1Z04Ezc7B8V8s78kPgfEpEiW2jTA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/06.pem b/rpkid/resource-cert-samples/RIR/06.pem new file mode 100644 index 00000000..3a8ea7f2 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/06.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 6 (0x6) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:05:29 2007 GMT + Not After : Jul 31 14:05:29 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 9c:f0:67:dc:b1:6f:9b:d1:1f:45:d2:2f:8d:09:75:80:39:4c: + 51:0b:73:7d:99:8e:e6:8a:89:55:c4:5d:69:6d:fb:55:ea:af: + ba:8c:45:3d:ee:b5:e4:7e:76:b9:d6:78:49:23:c9:df:c3:f5: + cb:f8:a8:d6:9a:6b:55:92:06:7d:58:84:35:78:df:5c:cc:28: + 4e:6c:43:17:31:89:6a:73:86:da:ec:42:ab:1f:94:a3:a4:7a: + aa:6b:31:99:22:b1:43:c0:e3:c0:ae:40:88:43:98:cf:8e:b6: + b4:e2:b3:46:ca:10:c9:35:8d:cc:8e:1b:d8:fa:a3:2c:24:29: + 03:7c:3c:65:78:70:e0:eb:89:96:e6:7f:76:da:cf:c9:d1:c7: + 2d:41:b2:3c:e6:8c:39:ca:52:2e:ed:74:81:dd:c2:e9:54:b3: + b7:05:53:96:67:6c:50:a3:b9:1c:a6:5a:23:02:c6:5a:df:f4: + 27:3f:13:25:25:e9:7f:14:96:90:eb:bd:4d:a7:b4:f5:42:f3: + 50:81:34:b9:c9:0b:19:a1:fd:62:96:b1:ed:24:f4:1a:41:60: + 9b:59:22:33:69:d3:d2:1e:73:ac:06:68:1c:4a:82:46:6d:57: + 9d:6a:d6:64:75:0b:d3:bb:33:31:fb:76:e6:9f:8e:48:de:3f: + b4:d7:12:18 +-----BEGIN CERTIFICATE----- +MIID9jCCAt6gAwIBAgIBBjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwNTI5WhcNMDgwNzMxMTQwNTI5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBRDCCAUAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYEAgABMCAwDgMFAMAAAgED +BQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEAnPBn3LFv +m9EfRdIvjQl1gDlMUQtzfZmO5oqJVcRdaW37VeqvuoxFPe615H52udZ4SSPJ38P1 +y/io1pprVZIGfViENXjfXMwoTmxDFzGJanOG2uxCqx+Uo6R6qmsxmSKxQ8DjwK5A +iEOYz462tOKzRsoQyTWNzI4b2PqjLCQpA3w8ZXhw4OuJluZ/dtrPydHHLUGyPOaM +OcpSLu10gd3C6VSztwVTlmdsUKO5HKZaIwLGWt/0Jz8TJSXpfxSWkOu9Tae09ULz +UIE0uckLGaH9Ypax7ST0GkFgm1kiM2nT0h5zrAZoHEqCRm1XnWrWZHUL07szMft2 +5p+OSN4/tNcSGA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/07.pem b/rpkid/resource-cert-samples/RIR/07.pem new file mode 100644 index 00000000..3d305e50 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/07.pem @@ -0,0 +1,99 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 86:f6:b9:a8:10:25:3d:b8:28:c9:14:27:cc:5c:ef:31:6e:cc: + 30:b5:0e:9d:ab:c9:ec:4d:ae:8f:62:c9:11:ac:ef:1a:df:05: + e2:45:63:66:a4:cd:24:98:49:f0:e7:a2:8c:2c:5a:27:bc:03: + 60:1a:f9:0c:d5:dc:27:15:99:9f:c2:dd:cf:dc:b5:6d:1d:ef: + b5:1c:6c:14:49:15:ea:a2:1c:84:b8:95:0b:21:91:dd:e9:ee: + 26:59:0c:3b:f5:4a:b3:f7:90:42:af:3c:b6:bb:8a:d5:66:a4: + 42:28:48:53:81:c0:77:f5:65:27:7f:f0:3f:cf:a5:61:cd:6e: + 27:78:63:ea:ab:f5:34:d4:78:99:5e:a4:8f:df:61:32:97:55: + 16:55:68:01:83:ee:43:22:6d:7c:6d:cb:da:02:6b:24:68:78: + e8:f1:99:eb:f1:78:6b:6e:69:d8:9f:de:a5:bc:65:65:b1:c8: + 05:91:ce:ec:76:ef:81:01:e8:af:8f:c7:f8:89:98:8e:1e:77: + c4:81:22:96:3f:48:38:29:af:0f:f4:57:68:b2:83:13:95:55: + a5:02:64:1c:ed:0b:bb:59:35:69:d4:7a:cf:89:48:86:93:2f: + 03:1d:8f:3d:f3:bb:7c:06:f9:c3:aa:39:0d:c5:f0:15:f4:b4: + e2:85:6b:71 +-----BEGIN CERTIFICATE----- +MIID9zCCAt+gAwIBAgIBBzANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwODI5WhcNMDgwNzMxMTQwODI5WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFGMIIBQjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAfBgNVHSMEGDAW +gBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8EBAMCAQYwQAYIKwYBBQUH +AQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4u +bmV0L1JJUi8wHwYIKwYBBQUHAQgBAf8EEDAOoAwwCgIDAPwVAgMA/CAwfAYIKwYB +BQUHAQcBAf8EbTBrMCYEAgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUA +wAACZDBBBAIAAjA7MCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABAAMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAIb2uagQ +JT24KMkUJ8xc7zFuzDC1Dp2ryexNro9iyRGs7xrfBeJFY2akzSSYSfDnoowsWie8 +A2Aa+QzV3CcVmZ/C3c/ctW0d77UcbBRJFeqiHIS4lQshkd3p7iZZDDv1SrP3kEKv +PLa7itVmpEIoSFOBwHf1ZSd/8D/PpWHNbid4Y+qr9TTUeJlepI/fYTKXVRZVaAGD +7kMibXxty9oCayRoeOjxmevxeGtuadif3qW8ZWWxyAWRzux274EB6K+Px/iJmI4e +d8SBIpY/SDgprw/0V2iygxOVVaUCZBztC7tZNWnUes+JSIaTLwMdjz3zu3wG+cOq +OQ3F8BX0tOKFa3E= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/08.pem b/rpkid/resource-cert-samples/RIR/08.pem new file mode 100644 index 00000000..056b591f --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/08.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 8 (0x8) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + a5:ff:47:52:d6:cf:31:7d:5d:61:f7:71:ca:49:aa:94:9d:82: + c6:79:7d:b3:a4:f8:79:6d:df:35:91:a8:2f:d5:98:77:26:6d: + a6:9c:78:dd:cd:85:72:b4:4a:7c:b7:7d:01:18:61:29:e1:33: + 49:72:3e:f8:21:2c:70:2d:90:fd:5a:84:71:d6:86:79:ee:a4: + 4e:47:d3:cc:51:50:44:48:9f:f1:40:f2:4a:11:d0:2b:6d:b5: + 83:44:81:f5:18:0f:59:15:60:98:60:b0:81:98:4d:22:49:d6: + 1f:0d:8e:f4:7a:87:26:e9:e1:ac:dc:e3:b4:8e:3e:cb:be:25: + 7c:79:9d:d5:5a:ee:99:59:b7:ce:2f:29:3a:6f:af:73:28:46: + 9c:c6:d3:78:c8:62:c1:d1:79:bd:19:07:ff:75:68:20:29:4e: + ef:e9:73:9b:ff:86:ff:3f:7f:d0:a3:5e:15:df:2b:e4:35:1e: + 6c:03:fe:7a:6b:e2:94:ae:d5:fe:00:b1:4a:e0:48:e0:72:30: + d2:26:73:83:c1:df:6a:bf:f8:9f:be:69:db:c6:2c:7b:e1:57: + 45:05:c0:e4:ee:d9:f9:59:53:8f:68:01:9b:0c:6b:8f:a5:80: + 23:c2:26:76:8f:79:26:a1:31:e1:c8:42:c8:b3:4f:22:d6:32: + 46:62:dc:d2 +-----BEGIN CERTIFICATE----- +MIIEETCCAvmgAwIBAgIBCDANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwODI5WhcNMDgwNzMxMTQwODI5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBXzCCAVswDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEEAgACMDswJgMRAiABDbgA +AAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEAIAENuAAAAAAAAAAQAAAA +RDANBgkqhkiG9w0BAQUFAAOCAQEApf9HUtbPMX1dYfdxykmqlJ2Cxnl9s6T4eW3f +NZGoL9WYdyZtppx43c2FcrRKfLd9ARhhKeEzSXI++CEscC2Q/VqEcdaGee6kTkfT +zFFQREif8UDyShHQK221g0SB9RgPWRVgmGCwgZhNIknWHw2O9HqHJunhrNzjtI4+ +y74lfHmd1VrumVm3zi8pOm+vcyhGnMbTeMhiwdF5vRkH/3VoIClO7+lzm/+G/z9/ +0KNeFd8r5DUebAP+emvilK7V/gCxSuBI4HIw0iZzg8Hfar/4n75p28Yse+FXRQXA +5O7Z+VlTj2gBmwxrj6WAI8Imdo95JqEx4chCyLNPItYyRmLc0g== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/09.pem b/rpkid/resource-cert-samples/RIR/09.pem new file mode 100644 index 00000000..b490cd62 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/09.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 9 (0x9) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:08:29 2007 GMT + Not After : Jul 31 14:08:29 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 9a:f2:47:ba:06:1a:9f:bd:cc:87:8a:8f:14:ac:99:bb:3f:9c: + d4:2c:71:5e:3e:75:75:49:e4:9c:bf:57:83:f7:c9:d4:de:6d: + d2:53:0a:0b:9b:95:69:b2:26:52:6b:b0:d7:09:7f:40:4d:34: + 7e:5d:42:80:b4:9a:1c:82:d0:e0:13:d9:7c:d0:15:81:cb:77: + d8:dc:4b:68:fa:33:8f:cd:6b:44:ba:fb:9e:79:23:f9:2b:f1: + c5:34:84:3b:e1:80:e8:08:e6:b4:f3:3f:17:ee:be:b0:57:6a: + 49:79:8f:c8:b8:75:8f:88:49:29:db:32:ee:4d:fb:f1:b4:96: + 28:26:f2:2e:00:27:ae:0c:b2:77:a6:f7:5a:e4:db:a2:0d:9a: + c1:77:90:9f:85:40:ef:d3:67:f2:51:99:57:ee:09:07:6a:43: + 82:ab:a7:4b:aa:9a:a7:87:84:de:29:ef:64:bd:e6:9b:be:9d: + 8f:17:f2:c0:0b:e8:21:ee:42:00:69:f8:9e:c3:06:c2:4f:08: + 49:84:a7:33:76:6d:77:ae:be:24:9c:9e:d3:d6:7d:72:5f:79: + 5b:ab:b8:1c:5f:95:0c:11:78:e3:94:11:ae:48:ae:33:fa:c4: + cb:af:b3:6a:0f:04:c9:a4:54:a6:c0:a5:a3:a2:57:31:53:bc: + 8e:e1:f3:28 +-----BEGIN CERTIFICATE----- +MIID9jCCAt6gAwIBAgIBCTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwODI5WhcNMDgwNzMxMTQwODI5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBRDCCAUAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYEAgABMCAwDgMFAMAAAgED +BQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEAmvJHugYa +n73Mh4qPFKyZuz+c1CxxXj51dUnknL9Xg/fJ1N5t0lMKC5uVabImUmuw1wl/QE00 +fl1CgLSaHILQ4BPZfNAVgct32NxLaPozj81rRLr7nnkj+SvxxTSEO+GA6AjmtPM/ +F+6+sFdqSXmPyLh1j4hJKdsy7k378bSWKCbyLgAnrgyyd6b3WuTbog2awXeQn4VA +79Nn8lGZV+4JB2pDgqunS6qap4eE3invZL3mm76djxfywAvoIe5CAGn4nsMGwk8I +SYSnM3Ztd66+JJye09Z9cl95W6u4HF+VDBF445QRrkiuM/rEy6+zag8EyaRUpsCl +o6JXMVO8juHzKA== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/0A.pem b/rpkid/resource-cert-samples/RIR/0A.pem new file mode 100644 index 00000000..433dc6c9 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/0A.pem @@ -0,0 +1,99 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 10 (0xa) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:09:34 2007 GMT + Not After : Jul 31 14:09:34 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 67:ed:a0:29:b8:66:7d:a6:2c:4f:76:52:df:45:15:6f:23:3d: + 9c:57:05:19:57:31:f0:76:17:32:17:a0:aa:55:6a:5d:ee:51: + 2b:06:6e:75:bd:f2:6c:79:2f:5a:ee:f0:2d:e8:59:dc:a3:86: + 5d:b2:98:e1:59:b3:ec:c9:9b:ed:3a:b0:c7:72:56:28:77:a1: + 4a:a7:17:03:37:e8:b1:d7:19:a3:85:5c:c8:5c:fb:ad:bc:6a: + 0a:65:d7:90:c3:f8:12:83:53:89:c5:7a:71:b4:1f:61:69:5a: + 23:b5:24:5a:6f:23:9d:b0:ac:bc:83:01:c1:e9:41:f8:9e:ae: + e0:2b:a7:76:03:10:86:7f:76:3d:3d:f4:5f:04:2f:1b:e0:37: + 14:6d:97:7c:4f:ba:34:84:d7:6d:c0:90:7c:6d:97:11:c9:a8: + aa:96:7f:65:f7:f4:b6:57:0f:13:2a:3e:68:23:98:b5:f6:11: + 5b:1a:b4:ab:0f:db:77:5b:0d:ff:a7:71:7c:21:93:b4:e3:76: + 22:9a:0e:dc:f3:a3:1f:34:b0:10:f9:f1:4e:ef:b2:42:c8:ed: + e3:03:1f:2d:65:09:20:9e:66:a2:b6:05:df:39:63:e3:ce:ff: + 11:ed:f0:46:39:ca:2f:43:39:59:b2:1e:1b:ea:61:12:e9:02: + 1b:0c:1d:95 +-----BEGIN CERTIFICATE----- +MIID9zCCAt+gAwIBAgIBCjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwOTM0WhcNMDgwNzMxMTQwOTM0WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFGMIIBQjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAfBgNVHSMEGDAW +gBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8EBAMCAQYwQAYIKwYBBQUH +AQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4u +bmV0L1JJUi8wHwYIKwYBBQUHAQgBAf8EEDAOoAwwCgIDAPwVAgMA/CAwfAYIKwYB +BQUHAQcBAf8EbTBrMCYEAgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUA +wAACZDBBBAIAAjA7MCYDEQIgAQ24AAAAAAAAAAAAAABEAxEAIAENuAAAAAAAAAAA +AAABAAMRACABDbgAAAAAAAAAEAAAAEQwDQYJKoZIhvcNAQEFBQADggEBAGftoCm4 +Zn2mLE92Ut9FFW8jPZxXBRlXMfB2FzIXoKpVal3uUSsGbnW98mx5L1ru8C3oWdyj +hl2ymOFZs+zJm+06sMdyVih3oUqnFwM36LHXGaOFXMhc+628agpl15DD+BKDU4nF +enG0H2FpWiO1JFpvI52wrLyDAcHpQfieruArp3YDEIZ/dj099F8ELxvgNxRtl3xP +ujSE123AkHxtlxHJqKqWf2X39LZXDxMqPmgjmLX2EVsatKsP23dbDf+ncXwhk7Tj +diKaDtzzox80sBD58U7vskLI7eMDHy1lCSCeZqK2Bd85Y+PO/xHt8EY5yi9DOVmy +HhvqYRLpAhsMHZU= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/0B.pem b/rpkid/resource-cert-samples/RIR/0B.pem new file mode 100644 index 00000000..0d858937 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/0B.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 11 (0xb) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:09:34 2007 GMT + Not After : Jul 31 14:09:34 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 98:f6:66:a8:a7:f1:b4:d9:11:3c:57:d8:d6:45:e4:73:8f:ca: + a5:e2:1d:d0:7b:46:a0:1a:c5:96:df:3c:f8:6b:1b:07:12:75: + 80:74:64:2e:e6:6b:cf:df:25:d5:c9:2f:2e:06:4e:ca:c2:bf: + ba:35:0c:ae:ed:27:85:70:8f:2b:7f:71:bf:68:c9:bf:ed:4f: + 19:7c:31:69:84:3e:47:1a:05:96:bd:06:16:a9:46:42:98:22: + 3c:24:7b:fb:1f:c0:a3:b6:ce:f1:e1:37:d2:d3:52:f9:bc:e4: + 6d:30:26:3e:79:70:71:62:85:ad:cf:93:15:97:19:2c:f3:86: + 5e:33:13:8e:3d:83:6b:af:5c:b4:2b:f0:9e:fe:cc:1c:8e:79: + b6:28:26:5d:9d:4b:84:4b:81:5b:fa:f7:bc:e6:cd:5f:dc:4a: + ae:61:eb:83:6d:d1:63:68:f5:de:7f:97:1c:80:9d:43:e1:6b: + 6b:6d:43:fb:7a:32:73:26:ab:bb:c2:cf:bd:ae:cf:0a:dd:5b: + ee:bc:76:ea:57:0f:ed:9e:43:8d:6a:eb:8a:39:13:1d:13:85: + 85:4e:80:73:57:d8:7d:4a:ef:75:3e:cd:70:cc:f6:b0:f6:f9: + 5c:9a:50:32:c4:d3:f3:76:07:54:98:54:fa:c1:6a:78:33:36: + c6:eb:60:87 +-----BEGIN CERTIFICATE----- +MIIEETCCAvmgAwIBAgIBCzANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwOTM0WhcNMDgwNzMxMTQwOTM0WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBXzCCAVswDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEEAgACMDswJgMRAiABDbgA +AAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEAIAENuAAAAAAAAAAQAAAA +RDANBgkqhkiG9w0BAQUFAAOCAQEAmPZmqKfxtNkRPFfY1kXkc4/KpeId0HtGoBrF +lt88+GsbBxJ1gHRkLuZrz98l1ckvLgZOysK/ujUMru0nhXCPK39xv2jJv+1PGXwx +aYQ+RxoFlr0GFqlGQpgiPCR7+x/Ao7bO8eE30tNS+bzkbTAmPnlwcWKFrc+TFZcZ +LPOGXjMTjj2Da69ctCvwnv7MHI55tigmXZ1LhEuBW/r3vObNX9xKrmHrg23RY2j1 +3n+XHICdQ+Fra21D+3oycyaru8LPva7PCt1b7rx26lcP7Z5DjWrrijkTHROFhU6A +c1fYfUrvdT7NcMz2sPb5XJpQMsTT83YHVJhU+sFqeDM2xutghw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/0C.pem b/rpkid/resource-cert-samples/RIR/0C.pem new file mode 100644 index 00000000..0e7d6905 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/0C.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 12 (0xc) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:09:34 2007 GMT + Not After : Jul 31 14:09:34 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 4c:57:4d:fd:a9:e6:f1:92:4a:d1:28:22:c5:f2:97:5f:3b:fd: + e6:c1:bf:a6:8f:20:43:45:c3:b1:20:ea:d4:9f:2e:6f:2c:0a: + 0b:74:d8:87:1e:b3:15:47:1d:78:7d:61:65:ae:2e:38:6e:9b: + d6:68:d0:21:21:e5:6c:45:b7:18:95:e4:05:94:52:93:b4:5e: + 02:e8:c9:fc:4f:2d:f6:de:3a:9b:35:c2:9e:e5:98:c3:77:40: + 41:eb:ca:55:33:5f:74:9a:27:44:b3:37:63:55:ae:1c:f2:26: + d7:ae:33:73:53:8a:7d:9f:89:82:19:9e:e1:05:04:a6:6e:ce: + 74:b3:aa:46:63:58:79:bf:49:ca:f0:c4:ac:1d:0d:29:bf:e4: + 43:66:fc:26:a4:4f:13:55:4f:0b:ae:b1:67:8c:f2:2c:7e:32: + 21:80:a6:1d:03:44:9d:50:98:8a:62:3b:ff:88:64:c8:e8:29: + ff:8b:dd:53:84:c7:5f:1a:42:12:64:6b:9d:18:c9:1c:6f:aa: + 48:cd:68:e3:d9:ed:fd:d9:85:7c:fc:00:8a:5f:8b:27:eb:05: + b0:40:f3:4e:f4:d7:17:0c:98:7d:58:f2:8c:0f:d6:8c:70:30: + cd:37:2e:bf:00:78:91:a4:ed:4a:61:87:b6:88:bd:bb:22:52: + 0f:9f:e1:4d +-----BEGIN CERTIFICATE----- +MIID9jCCAt6gAwIBAgIBDDANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQwOTM0WhcNMDgwNzMxMTQwOTM0WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBRDCCAUAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYEAgABMCAwDgMFAMAAAgED +BQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEATFdN/anm +8ZJK0SgixfKXXzv95sG/po8gQ0XDsSDq1J8ubywKC3TYhx6zFUcdeH1hZa4uOG6b +1mjQISHlbEW3GJXkBZRSk7ReAujJ/E8t9t46mzXCnuWYw3dAQevKVTNfdJonRLM3 +Y1WuHPIm164zc1OKfZ+Jghme4QUEpm7OdLOqRmNYeb9JyvDErB0NKb/kQ2b8JqRP +E1VPC66xZ4zyLH4yIYCmHQNEnVCYimI7/4hkyOgp/4vdU4THXxpCEmRrnRjJHG+q +SM1o49nt/dmFfPwAil+LJ+sFsEDzTvTXFwyYfVjyjA/WjHAwzTcuvwB4kaTtSmGH +toi9uyJSD5/hTQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/0D.pem b/rpkid/resource-cert-samples/RIR/0D.pem new file mode 100644 index 00000000..86579fdb --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/0D.pem @@ -0,0 +1,104 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 13 (0xd) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:48:16 2007 GMT + Not After : Jul 31 14:48:16 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 4c:d4:6d:b2:81:45:07:3e:7b:b4:8b:6c:db:42:2b:30:73:cd: + e7:07:39:c3:e6:13:4b:ac:21:33:13:11:00:1c:e6:d1:d4:cf: + 96:08:6e:86:7b:41:64:93:88:20:ac:04:81:65:1a:ae:a9:52: + be:36:c0:2a:6a:c9:3a:2e:86:83:a2:cc:3e:5d:12:60:49:fb: + 48:23:6c:d7:9f:98:fa:b4:b0:d5:48:01:29:74:ca:d1:74:3c: + a7:8c:bb:1c:b3:85:90:2a:99:52:9e:e2:31:9a:09:28:2d:d6: + ca:eb:f5:c6:da:6f:1b:89:83:eb:b7:d9:6d:56:71:e9:82:8e: + b7:84:e1:40:ab:87:15:d2:a6:df:30:11:e1:52:a0:a1:4b:ef: + 8e:3a:db:e1:d1:23:74:39:ff:48:d4:4d:2f:74:4e:e3:77:3c: + f7:1b:16:0b:b3:1a:c7:46:8b:7c:63:3d:9d:2b:75:82:b7:5c: + 9d:7b:df:f9:78:d2:e8:98:48:6c:54:5f:71:2a:a6:95:c6:56: + 3e:6c:e2:0c:20:a2:2c:22:f4:1d:3c:05:b2:31:bd:58:f3:23: + 60:dd:1d:d2:5e:ab:65:72:06:d2:da:c9:d4:c4:33:c2:b0:7d: + 37:13:66:25:b7:28:9b:a3:9c:92:c4:58:b8:02:a2:82:63:fc: + a8:93:65:69 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBDTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE2WhcNMDgwNzMxMTQ0ODE2WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggGAMIIBfDAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAfBgNVHSMEGDAW +gBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8EBAMCAQYwQAYIKwYBBQUH +AQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJhdHMtci11cy5oYWN0cm4u +bmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAKAgMA/BUCAwD8HAIDAPwg +MIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQACgAAAwQACgMAMA4DBQDA +AAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIwXzAmAxECIAENuAAAAAAA +AAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24AAAAAAAAAAAKAAADEAAg +AQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABEMA0GCSqGSIb3DQEBBQUA +A4IBAQBM1G2ygUUHPnu0i2zbQiswc83nBznD5hNLrCEzExEAHObR1M+WCG6Ge0Fk +k4ggrASBZRquqVK+NsAqask6LoaDosw+XRJgSftII2zXn5j6tLDVSAEpdMrRdDyn +jLscs4WQKplSnuIxmgkoLdbK6/XG2m8biYPrt9ltVnHpgo63hOFAq4cV0qbfMBHh +UqChS++OOtvh0SN0Of9I1E0vdE7jdzz3GxYLsxrHRot8Yz2dK3WCt1yde9/5eNLo +mEhsVF9xKqaVxlY+bOIMIKIsIvQdPAWyMb1Y8yNg3R3SXqtlcgbS2snUxDPCsH03 +E2Yltyibo5ySxFi4AqKCY/yok2Vp +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/0E.pem b/rpkid/resource-cert-samples/RIR/0E.pem new file mode 100644 index 00000000..54acaf38 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/0E.pem @@ -0,0 +1,101 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 14 (0xe) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:48:18 2007 GMT + Not After : Jul 31 14:48:18 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha1WithRSAEncryption + 48:66:09:ae:e4:52:ea:33:07:a6:92:4f:41:9d:d9:74:ad:24: + 17:11:d6:85:88:f2:66:52:e5:61:0e:8e:78:db:56:fb:ab:c8: + 31:1b:d1:f2:ec:df:1d:87:80:21:d9:81:9e:c8:00:e8:37:d5: + c3:71:26:97:35:15:fe:99:60:41:be:9b:72:e9:91:c1:bf:c8: + e3:25:95:f3:95:2b:c4:50:49:8f:a7:2a:ec:9a:d9:f9:b6:27: + 77:42:38:aa:20:12:30:56:db:41:f0:c4:d7:75:5a:01:4b:ac: + 36:8e:4d:1f:55:fa:24:4e:04:f2:ac:de:9a:4c:3e:9e:a4:b0: + fa:84:a8:35:3f:dc:dd:db:2c:74:4e:20:84:a5:17:05:87:8a: + 55:ee:4c:ae:59:02:7c:e7:70:32:10:9e:6f:b3:52:ec:48:ff: + 47:77:bf:a1:69:f1:5c:55:94:d0:47:ab:3a:34:56:96:a4:64: + e9:31:c2:aa:34:d6:a2:51:b2:8c:55:68:8c:5e:7a:d1:8d:43: + 89:e8:3e:1b:63:e9:b1:0c:e1:8f:31:0d:2f:5f:dd:1e:e8:78: + 41:d4:49:39:ca:a2:73:1e:9a:6f:c0:07:72:99:9e:3c:0b:ee: + b9:0b:d8:52:35:4e:19:83:44:ed:d9:de:5a:6b:6d:38:63:4e: + 12:45:f0:45 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIBDjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE4WhcNMDgwNzMxMTQ0ODE4WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBYzCCAV8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAhBggrBgEFBQcBCAEB/wQS +MBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/BEIwQDASBAIAATAMAwQA +CgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAA +AAAKAwAwDQYJKoZIhvcNAQEFBQADggEBAEhmCa7kUuozB6aST0Gd2XStJBcR1oWI +8mZS5WEOjnjbVvuryDEb0fLs3x2HgCHZgZ7IAOg31cNxJpc1Ff6ZYEG+m3LpkcG/ +yOMllfOVK8RQSY+nKuya2fm2J3dCOKogEjBW20HwxNd1WgFLrDaOTR9V+iROBPKs +3ppMPp6ksPqEqDU/3N3bLHROIISlFwWHilXuTK5ZAnzncDIQnm+zUuxI/0d3v6Fp +8VxVlNBHqzo0VpakZOkxwqo01qJRsoxVaIxeetGNQ4noPhtj6bEM4Y8xDS9f3R7o +eEHUSTnKonMemm/AB3KZnjwL7rkL2FI1ThmDRO3Z3lprbThjThJF8EU= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/0F.pem b/rpkid/resource-cert-samples/RIR/0F.pem new file mode 100644 index 00000000..1094cb06 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/0F.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 15 (0xf) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:48:18 2007 GMT + Not After : Jul 31 14:48:18 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 1b:9a:85:77:61:fe:eb:5a:f8:ef:ad:5d:4d:79:4b:09:b3:c9: + 3e:46:f2:cf:4f:0c:26:28:7c:ec:72:da:17:6e:a0:2a:f2:4b: + 0f:af:e6:2e:b5:d7:2d:03:ae:8c:13:65:ec:cb:c2:4a:02:8f: + 81:60:44:60:eb:d2:d2:22:12:63:04:8c:6d:56:5a:c2:b8:f6: + c8:f5:17:99:69:25:bd:3e:1d:2a:ef:ce:51:48:4a:67:d0:b4: + ee:64:99:35:42:10:26:88:ac:e0:26:c8:27:cc:89:30:40:18: + 72:9c:82:03:ea:62:9d:83:c9:ab:c8:32:0a:59:98:50:0c:50: + 23:5a:93:ff:43:ba:08:b3:7d:61:d5:ed:a4:42:f2:cf:ab:2e: + 62:6b:67:bd:06:74:2c:bc:b7:b1:7e:1b:f4:c9:e4:40:94:ec: + 14:55:04:54:ce:44:26:d0:93:e3:ff:e2:e2:a2:a4:3f:44:87: + 7a:c2:29:a3:48:5f:12:1d:e4:eb:18:b3:1f:30:f4:e6:d3:a7: + 5a:7c:73:da:0a:8f:1e:29:63:cb:b6:16:2e:fe:76:84:93:88: + a1:72:83:4d:3d:8d:16:ef:16:df:c7:c6:d7:67:00:68:ec:4d: + b8:ed:b8:ff:3e:bf:c9:d5:3a:34:cf:4c:c0:7b:6e:11:60:46: + 25:91:d8:ad +-----BEGIN CERTIFICATE----- +MIIEETCCAvmgAwIBAgIBDzANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE4WhcNMDgwNzMxMTQ0ODE4WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBXzCCAVswDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEEAgACMDswJgMRAiABDbgA +AAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEAIAENuAAAAAAAAAAQAAAA +RDANBgkqhkiG9w0BAQUFAAOCAQEAG5qFd2H+61r4761dTXlLCbPJPkbyz08MJih8 +7HLaF26gKvJLD6/mLrXXLQOujBNl7MvCSgKPgWBEYOvS0iISYwSMbVZawrj2yPUX +mWklvT4dKu/OUUhKZ9C07mSZNUIQJois4CbIJ8yJMEAYcpyCA+pinYPJq8gyClmY +UAxQI1qT/0O6CLN9YdXtpELyz6suYmtnvQZ0LLy3sX4b9MnkQJTsFFUEVM5EJtCT +4//i4qKkP0SHesIpo0hfEh3k6xizHzD05tOnWnxz2gqPHiljy7YWLv52hJOIoXKD +TT2NFu8W38fG12cAaOxNuO24/z6/ydU6NM9MwHtuEWBGJZHYrQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/10.pem b/rpkid/resource-cert-samples/RIR/10.pem new file mode 100644 index 00000000..64f73b83 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/10.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 16 (0x10) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 1 14:48:18 2007 GMT + Not After : Jul 31 14:48:18 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Authority Key Identifier: + keyid:FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha1WithRSAEncryption + 72:7d:dd:a4:60:23:71:e4:99:28:0b:9a:ba:5c:d3:97:4b:72: + eb:89:81:3c:11:85:8c:25:ed:79:b2:50:a5:e8:ae:0e:37:74: + f9:2c:a1:be:96:83:35:40:0d:36:f9:32:16:74:25:9c:f7:0f: + cd:46:47:8e:b9:cd:ac:0c:7e:d3:ac:84:5e:f6:31:f4:a9:f2: + 05:cd:82:d7:e0:d7:3b:24:9b:c7:15:d1:db:9d:c2:1d:92:f7: + 19:a9:b8:a1:67:0a:fb:3d:23:3a:05:83:29:05:50:e3:00:27: + a9:80:fe:bb:51:f1:3e:3b:0c:98:ae:f1:ee:d1:13:72:46:64: + 8f:4b:32:4e:cf:64:cf:1a:a5:b1:34:a6:f0:5f:18:f8:44:bb: + 13:ea:8d:5f:24:7d:3b:15:60:8e:be:f4:bd:d8:04:a7:d0:10: + 7e:d3:10:67:bf:35:49:c9:56:cf:b7:8b:7b:9b:17:0b:54:ee: + 21:cb:75:b0:3e:8d:b2:c1:c6:7c:26:b1:7c:58:a9:4a:31:24: + cd:e5:3f:a5:9a:1d:7d:11:14:41:2a:e5:55:b6:db:f4:75:34: + 37:9f:5e:1d:f1:86:2a:f6:74:be:88:e1:b9:63:ce:ad:5c:e9: + 3c:91:8a:4c:8d:b4:69:03:e7:f9:52:79:28:7d:cd:7f:52:02: + 49:ae:d5:c7 +-----BEGIN CERTIFICATE----- +MIID9jCCAt6gAwIBAgIBEDANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE4WhcNMDgwNzMxMTQ0ODE4WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBRDCCAUAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwHwYDVR0jBBgw +FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF +BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu +Lm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v +d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL +MAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYEAgABMCAwDgMFAMAAAgED +BQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEAcn3dpGAj +ceSZKAuaulzTl0ty64mBPBGFjCXtebJQpeiuDjd0+SyhvpaDNUANNvkyFnQlnPcP +zUZHjrnNrAx+06yEXvYx9KnyBc2C1+DXOySbxxXR253CHZL3Gam4oWcK+z0jOgWD +KQVQ4wAnqYD+u1HxPjsMmK7x7tETckZkj0syTs9kzxqlsTSm8F8Y+ES7E+qNXyR9 +OxVgjr70vdgEp9AQftMQZ781SclWz7eLe5sXC1TuIct1sD6NssHGfCaxfFipSjEk +zeU/pZodfREUQSrlVbbb9HU0N59eHfGGKvZ0vojhuWPOrVzpPJGKTI20aQPn+VJ5 +KH3Nf1ICSa7Vxw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/11.pem b/rpkid/resource-cert-samples/RIR/11.pem new file mode 100644 index 00000000..f8e33d59 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/11.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 17 (0x11) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 9 23:30:59 2007 GMT + Not After : Aug 8 23:30:59 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 7b:22:d4:c2:f4:0b:74:d7:34:f4:f0:42:fa:cd:94:79:82:c3: + 12:dd:34:a3:e1:16:ea:de:f4:f6:b4:4d:fc:93:0e:f6:6f:7a: + e1:f9:bc:66:ee:56:b3:5b:28:36:ca:e8:0d:25:5b:62:31:c8: + 55:21:3f:4a:59:e7:cd:68:c7:6b:7c:e9:33:00:d2:59:80:23: + d8:58:17:e5:c6:3a:a3:d6:c3:fa:27:b2:12:9e:13:58:c3:37: + c2:c9:e9:d0:aa:4c:d4:82:e5:ce:ba:cc:11:d9:6d:95:24:04: + 75:bc:1c:56:57:2d:5f:90:19:54:38:06:13:fa:3f:b1:b4:8c: + 83:6c:2e:8a:e1:ca:e8:c0:6b:5c:2b:36:c5:9d:f0:65:1d:f2: + ab:97:77:20:5b:28:13:8f:d7:b4:1e:c3:89:5d:0f:03:fb:2c: + 9e:ac:59:98:ca:62:9c:cf:63:a3:ed:31:dd:0f:8f:d0:26:e8: + 40:bc:94:7c:b0:e6:44:07:7f:59:19:9d:1a:f7:04:d7:05:d9: + fc:0d:16:16:66:9c:2b:cd:87:dc:00:02:f1:e8:48:de:5f:8f: + b4:3e:22:fb:74:3b:7f:cb:90:7f:d6:6c:1d:26:65:e2:cc:55: + 3a:07:01:6c:48:61:7a:d4:55:09:c1:13:bb:ed:f5:69:e6:ba: + b6:80:9d:e5 +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBETANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODA5MjMzMDU5WhcNMDgwODA4MjMzMDU5WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBBQUAA4IBAQB7ItTC9At01zT08EL6zZR5gsMS3TSj4Rbq3vT2 +tE38kw72b3rh+bxm7lazWyg2yugNJVtiMchVIT9KWefNaMdrfOkzANJZgCPYWBfl +xjqj1sP6J7ISnhNYwzfCyenQqkzUguXOuswR2W2VJAR1vBxWVy1fkBlUOAYT+j+x +tIyDbC6K4crowGtcKzbFnfBlHfKrl3cgWygTj9e0HsOJXQ8D+yyerFmYymKcz2Oj +7THdD4/QJuhAvJR8sOZEB39ZGZ0a9wTXBdn8DRYWZpwrzYfcAALx6EjeX4+0PiL7 +dDt/y5B/1mwdJmXizFU6BwFsSGF61FUJwRO77fVp5rq2gJ3l +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/12.pem b/rpkid/resource-cert-samples/RIR/12.pem new file mode 100644 index 00000000..71bb1954 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/12.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 18 (0x12) + Signature Algorithm: sha1WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 9 23:35:48 2007 GMT + Not After : Aug 8 23:35:48 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha1WithRSAEncryption + 80:5c:c5:27:3a:5d:bb:11:2c:ec:b4:89:ab:3f:79:a7:31:ef: + 7f:ed:93:75:2c:9d:4b:5c:f1:28:38:3e:cc:c4:98:e5:81:01: + db:e1:61:5c:37:0a:3f:91:52:34:a5:6b:28:8c:b7:ae:38:95: + a7:67:26:39:b2:43:cb:a5:db:fc:4f:12:6c:f4:69:82:ab:80: + 9c:8f:aa:d9:21:6e:3e:e1:f5:78:f4:59:d0:2e:97:1d:23:3d: + 27:86:70:5b:b7:59:e7:98:1c:ae:19:42:e8:65:ef:eb:bf:6c: + f8:94:6a:27:b9:11:5e:81:b6:ee:5f:10:ae:9f:b7:30:50:30: + e6:84:5c:90:ef:3d:24:e7:6a:20:5c:d2:4c:96:66:28:15:46: + 40:63:00:65:96:a5:5f:78:2a:66:d2:16:b1:86:77:e0:39:7d: + fc:14:e1:bc:54:5b:b1:08:65:aa:f1:1b:39:2f:bf:ca:07:a0: + ab:e7:e4:b0:8c:cb:48:c7:44:94:ff:04:a4:c9:85:6d:40:ca: + 8f:0c:01:e6:11:f6:eb:07:96:b5:83:15:87:27:88:72:b3:d9: + 41:4e:d0:f0:88:1a:17:10:72:89:85:c0:12:79:c1:5c:07:bb: + d7:39:ef:ce:49:85:11:62:01:50:71:91:b9:e3:7e:45:a8:45: + d6:d0:a9:3a +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBEjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODA5MjMzNTQ4WhcNMDgwODA4MjMzNTQ4WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBBQUAA4IBAQCAXMUnOl27ESzstImrP3mnMe9/7ZN1LJ1LXPEo +OD7MxJjlgQHb4WFcNwo/kVI0pWsojLeuOJWnZyY5skPLpdv8TxJs9GmCq4Ccj6rZ +IW4+4fV49FnQLpcdIz0nhnBbt1nnmByuGULoZe/rv2z4lGonuRFegbbuXxCun7cw +UDDmhFyQ7z0k52ogXNJMlmYoFUZAYwBllqVfeCpm0haxhnfgOX38FOG8VFuxCGWq +8Rs5L7/KB6Cr5+SwjMtIx0SU/wSkyYVtQMqPDAHmEfbrB5a1gxWHJ4hys9lBTtDw +iBoXEHKJhcASecFcB7vXOe/OSYURYgFQcZG5435FqEXW0Kk6 +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/13.pem b/rpkid/resource-cert-samples/RIR/13.pem new file mode 100644 index 00000000..3b1e67f4 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/13.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 19 (0x13) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + Signature Algorithm: sha256WithRSAEncryption + 62:6a:d0:3e:02:bf:ad:3c:e5:c9:23:1f:66:6d:cc:80:59:a5: + 64:61:f2:20:64:bc:91:5d:76:d9:ce:6e:db:d1:c0:89:77:9d: + cc:a6:e2:4a:43:0e:bb:f3:36:60:3f:1d:b7:9a:38:ad:10:e0: + 89:82:61:c7:4a:48:70:c3:03:73:ae:ab:37:31:0c:36:cc:46: + 12:ea:54:3d:03:d6:ba:4c:d6:cf:73:ea:90:4c:37:da:a3:f6: + b6:f3:af:d8:a7:82:e7:1a:7b:05:23:77:20:52:b3:53:64:d0: + bd:24:83:21:49:2f:30:fc:12:3b:fa:73:c3:c9:de:3f:af:bb: + 5e:ed:b3:bf:9b:9e:71:83:37:f1:98:e3:77:e1:72:4f:1d:c6: + 7b:59:32:34:f7:e4:76:70:52:41:72:97:bb:61:c0:c8:26:ac: + 28:6e:e7:ef:f8:6c:ea:b2:4c:62:d0:28:5e:6c:50:94:09:a1: + d4:ab:0c:d3:b3:d1:4a:ea:ef:33:ed:08:43:54:71:fb:6d:40: + c8:dc:75:84:28:ff:4e:47:2c:08:54:72:40:af:cc:94:00:a8: + 9f:8e:d9:35:64:49:f1:db:69:a8:d5:71:86:41:46:e0:27:62: + 50:a4:0a:1e:f5:99:b4:d8:db:1c:4f:8b:af:51:4d:80:2b:af: + e3:b6:b0:6b +-----BEGIN CERTIFICATE----- +MIIDNTCCAh2gAwIBAgIBEzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDA1ODE3WhcNMDgwODA5MDA1ODE3WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjgYUwgYIwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQD +AgEGMEAGCCsGAQUFBwELBDQwMjAwBggrBgEFBQcwBYYkcnN5bmM6Ly93b21iYXRz +LXItdXMuaGFjdHJuLm5ldC9SSVIvMA0GCSqGSIb3DQEBCwUAA4IBAQBiatA+Ar+t +POXJIx9mbcyAWaVkYfIgZLyRXXbZzm7b0cCJd53MpuJKQw678zZgPx23mjitEOCJ +gmHHSkhwwwNzrqs3MQw2zEYS6lQ9A9a6TNbPc+qQTDfao/a286/Yp4LnGnsFI3cg +UrNTZNC9JIMhSS8w/BI7+nPDyd4/r7te7bO/m55xgzfxmON34XJPHcZ7WTI09+R2 +cFJBcpe7YcDIJqwobufv+Gzqskxi0ChebFCUCaHUqwzTs9FK6u8z7QhDVHH7bUDI +3HWEKP9ORywIVHJAr8yUAKifjtk1ZEnx22mo1XGGQUbgJ2JQpAoe9Zm02NscT4uv +UU2AK6/jtrBr +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/14.pem b/rpkid/resource-cert-samples/RIR/14.pem new file mode 100644 index 00000000..430d3895 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/14.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 20 (0x14) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Signature Algorithm: sha256WithRSAEncryption + 5a:9b:65:02:d5:6c:fc:4f:b2:df:3b:a8:a2:44:3b:fd:bc:4d: + 9f:32:30:e7:4f:e6:44:37:3f:35:68:d0:7e:ee:a5:cc:6e:0a: + 79:2d:6a:2d:35:45:13:ed:f8:67:fb:5b:41:fa:00:04:f5:28: + d4:72:0e:fe:05:d6:76:20:cf:4b:15:13:05:6c:9f:aa:05:8c: + 77:eb:e7:1d:57:ed:32:11:45:ba:3e:e8:53:68:85:98:bd:bf: + 56:7e:04:85:f1:7f:70:ba:e8:16:03:46:ff:c5:be:df:42:79: + 57:01:2f:1a:e2:bc:6b:79:3e:fa:79:ec:08:ca:7d:32:02:0c: + 94:47:9e:c8:01:60:de:b9:43:76:be:22:64:89:47:d7:b9:63: + 9f:1d:7d:c8:93:e6:48:2a:a6:f7:51:9c:bd:06:8a:c9:01:5d: + 51:83:85:09:1a:18:03:49:10:e9:fa:80:0a:d1:7c:2c:69:c0: + 6b:53:e6:97:24:cd:f1:ad:e2:b6:5f:ac:72:28:0c:e8:cb:ab: + 00:15:29:9e:cb:af:74:1e:dc:3b:c6:24:bc:2d:50:e3:12:fc: + 00:63:ec:b6:09:c9:27:33:d6:42:a2:87:d4:35:48:63:16:1a: + e0:f7:50:ed:e3:d9:11:d9:f1:1c:cd:a5:21:e0:56:ad:4d:fc: + da:a6:97:e9 +-----BEGIN CERTIFICATE----- +MIIDNzCCAh+gAwIBAgIBFDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDA1ODE3WhcNMDgwODA5MDA1ODE3WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4GGMIGDMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFJi+BP+A0auVOao98g5nfQCto/3FMA4GA1UdDwEB/wQE +AwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0 +cy1yLXVzLmhhY3Rybi5uZXQvTElSMy8wDQYJKoZIhvcNAQELBQADggEBAFqbZQLV +bPxPst87qKJEO/28TZ8yMOdP5kQ3PzVo0H7upcxuCnktai01RRPt+Gf7W0H6AAT1 +KNRyDv4F1nYgz0sVEwVsn6oFjHfr5x1X7TIRRbo+6FNohZi9v1Z+BIXxf3C66BYD +Rv/Fvt9CeVcBLxrivGt5Pvp57AjKfTICDJRHnsgBYN65Q3a+ImSJR9e5Y58dfciT +5kgqpvdRnL0GiskBXVGDhQkaGANJEOn6gArRfCxpwGtT5pckzfGt4rZfrHIoDOjL +qwAVKZ7Lr3Qe3DvGJLwtUOMS/ABj7LYJyScz1kKih9Q1SGMWGuD3UO3j2RHZ8RzN +pSHgVq1N/Nqml+k= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/15.pem b/rpkid/resource-cert-samples/RIR/15.pem new file mode 100644 index 00000000..625589ac --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/15.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 21 (0x15) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Signature Algorithm: sha256WithRSAEncryption + 6f:1a:6a:59:42:4b:0d:64:9e:e4:6e:80:ae:d4:ed:00:cc:52: + eb:04:bf:e2:48:2e:24:89:bd:df:a9:cf:93:27:47:80:c5:d6: + e1:94:f5:4a:d0:f7:52:48:49:c3:2a:20:de:87:76:e1:a0:11: + d5:a0:19:f5:70:df:45:1c:72:47:6b:af:5b:53:5d:1d:49:5a: + 62:21:f9:3b:49:18:9d:b1:6c:53:6d:9d:85:2c:fc:83:72:ff: + b7:7d:4f:01:36:41:df:a3:03:51:34:e2:5e:25:65:4c:d1:25: + f8:e3:92:06:7a:ca:97:42:6c:60:58:05:54:f5:9d:b9:90:fc: + ae:32:a3:c5:dc:db:75:55:97:2e:db:1a:32:65:44:e6:ab:81: + 14:b2:e1:8c:c5:a5:09:a4:07:2e:ed:ee:44:28:6a:29:0e:6f: + a0:08:aa:2a:28:24:e8:cf:7f:22:db:56:b4:fc:45:26:13:9a: + 41:55:5c:81:31:b3:6d:d0:3e:cc:62:6d:d1:d8:b9:2a:0f:2b: + 58:40:7a:e0:02:d2:31:4c:4f:df:c5:2c:d1:ba:c9:8c:e3:b9: + 74:7e:5c:dd:a5:f8:75:93:fe:26:69:52:70:bd:2e:01:1a:37: + d1:53:ae:80:d5:5b:56:0c:72:e4:c6:ba:7b:3f:99:2a:bf:a7: + b0:d7:3b:ec +-----BEGIN CERTIFICATE----- +MIIDNzCCAh+gAwIBAgIBFTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDA1ODE3WhcNMDgwODA5MDA1ODE3WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4GGMIGDMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFAN63wzf3JM996XMJ3vcIvbpVZfwMA4GA1UdDwEB/wQE +AwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0 +cy1yLXVzLmhhY3Rybi5uZXQvTElSMi8wDQYJKoZIhvcNAQELBQADggEBAG8aallC +Sw1knuRugK7U7QDMUusEv+JILiSJvd+pz5MnR4DF1uGU9UrQ91JIScMqIN6HduGg +EdWgGfVw30Ucckdrr1tTXR1JWmIh+TtJGJ2xbFNtnYUs/INy/7d9TwE2Qd+jA1E0 +4l4lZUzRJfjjkgZ6ypdCbGBYBVT1nbmQ/K4yo8Xc23VVly7bGjJlROargRSy4YzF +pQmkBy7t7kQoaikOb6AIqiooJOjPfyLbVrT8RSYTmkFVXIExs23QPsxibdHYuSoP +K1hAeuAC0jFMT9/FLNG6yYzjuXR+XN2l+HWT/iZpUnC9LgEaN9FTroDVW1YMcuTG +uns/mSq/p7DXO+w= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/16.pem b/rpkid/resource-cert-samples/RIR/16.pem new file mode 100644 index 00000000..ebfd1e7b --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/16.pem @@ -0,0 +1,79 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 22 (0x16) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 00:58:17 2007 GMT + Not After : Aug 9 00:58:17 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Signature Algorithm: sha256WithRSAEncryption + 45:76:2c:fa:d1:3b:02:23:5f:e3:3f:07:7e:ad:92:c0:7d:ba: + 8b:6d:ff:3c:33:c2:d4:06:4d:ca:71:41:6a:36:a2:e3:3a:34: + 0c:9e:b1:21:a2:17:91:3b:e9:e3:50:57:25:2e:dc:4f:1a:67: + 30:52:3e:36:04:0a:ce:03:84:f6:b0:1b:1c:59:66:4b:d1:68: + 5a:cf:3b:7d:f4:28:74:6d:16:ba:7c:ad:5c:f0:6a:39:73:33: + fe:c0:8d:d7:55:c0:cb:df:f3:d4:51:34:fe:62:42:97:70:61: + bd:cc:bc:1c:c7:37:5f:d4:f1:2b:cb:3b:11:4c:84:77:db:5e: + 66:2d:37:71:d5:f5:91:01:be:4e:97:8b:ae:6e:83:9a:9a:e3: + d8:47:a9:fc:7f:b3:80:67:c1:60:60:3e:66:64:e8:ae:d8:7a: + 72:50:fd:59:75:dd:fd:f0:69:92:ce:f6:c9:cc:49:72:eb:70: + 48:28:e7:f7:1c:d4:a0:75:40:ef:50:f4:9f:e4:74:26:e5:90: + ae:c4:fb:c5:b9:0a:5f:da:61:c2:78:f4:0d:0b:b8:ed:28:d9: + b7:26:6a:8f:1d:43:22:72:f3:a6:3c:36:d8:40:9f:d7:49:68: + d0:af:64:48:f8:69:55:98:9c:e9:47:5b:1b:15:06:5f:60:80: + e9:e2:72:f7 +-----BEGIN CERTIFICATE----- +MIIDNzCCAh+gAwIBAgIBFjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDA1ODE3WhcNMDgwODA5MDA1ODE3WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4GGMIGDMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQE +AwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0 +cy1yLXVzLmhhY3Rybi5uZXQvTElSMS8wDQYJKoZIhvcNAQELBQADggEBAEV2LPrR +OwIjX+M/B36tksB9uott/zwzwtQGTcpxQWo2ouM6NAyesSGiF5E76eNQVyUu3E8a +ZzBSPjYECs4DhPawGxxZZkvRaFrPO330KHRtFrp8rVzwajlzM/7AjddVwMvf89RR +NP5iQpdwYb3MvBzHN1/U8SvLOxFMhHfbXmYtN3HV9ZEBvk6Xi65ug5qa49hHqfx/ +s4BnwWBgPmZk6K7YenJQ/Vl13f3waZLO9snMSXLrcEgo5/cc1KB1QO9Q9J/kdCbl +kK7E+8W5Cl/aYcJ49A0LuO0o2bcmao8dQyJy86Y8NthAn9dJaNCvZEj4aVWYnOlH +WxsVBl9ggOnicvc= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/17.pem b/rpkid/resource-cert-samples/RIR/17.pem new file mode 100644 index 00000000..08089ed2 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/17.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 23 (0x17) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 98:59:33:64:37:e0:05:3f:f1:4a:d6:c3:45:92:92:f4:da:0e: + 35:de:70:0a:ab:49:10:c9:a2:74:c6:ad:2b:cb:de:3e:0e:3f: + 2e:2d:0d:f1:65:0a:b9:f6:c6:fe:80:8a:d2:a9:fe:41:f7:6d: + 8f:92:f4:f6:4a:d0:36:6f:06:de:f6:30:91:ac:1d:c3:a7:d0: + 7a:4a:40:9c:88:fd:0f:b8:f7:46:0c:d0:a5:85:48:e7:47:e1: + 9a:d2:e7:3e:36:fc:e5:e4:13:98:b2:48:a7:b1:bb:b5:86:11: + 35:42:20:97:6a:d6:a1:ae:1b:33:1b:6d:1c:9b:e8:9d:8c:05: + 44:e3:d3:7e:53:d6:d8:da:76:85:6d:8f:dc:d1:1b:c4:cd:87: + de:73:dd:09:26:eb:ac:49:62:5f:fb:44:42:d5:81:0f:11:eb: + 3f:5c:83:2d:ed:51:12:66:e6:ff:2c:83:ac:40:0a:85:01:b4: + 08:4b:32:14:ff:a5:a6:33:30:f2:10:ac:bb:55:9c:65:3b:78: + 35:0e:45:c6:0d:64:b0:ef:1f:f7:7f:79:43:fd:97:b9:ea:8b: + 8e:5d:56:76:fa:cb:39:17:f3:27:b2:b0:1d:87:1f:52:50:54: + 55:69:5a:37:f1:42:07:ed:68:90:b0:63:7c:f1:10:19:29:44: + f7:58:ee:eb +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBFzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwMjMxWhcNMDgwODA5MDEwMjMxWjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQCYWTNkN+AFP/FK1sNFkpL02g413nAKq0kQyaJ0 +xq0ry94+Dj8uLQ3xZQq59sb+gIrSqf5B922PkvT2StA2bwbe9jCRrB3Dp9B6SkCc +iP0PuPdGDNClhUjnR+Ga0uc+Nvzl5BOYskinsbu1hhE1QiCXatahrhszG20cm+id +jAVE49N+U9bY2naFbY/c0RvEzYfec90JJuusSWJf+0RC1YEPEes/XIMt7VESZub/ +LIOsQAqFAbQISzIU/6WmMzDyEKy7VZxlO3g1DkXGDWSw7x/3f3lD/Ze56ouOXVZ2 ++ss5F/MnsrAdhx9SUFRVaVo38UIH7WiQsGN88RAZKUT3WO7r +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/18.pem b/rpkid/resource-cert-samples/RIR/18.pem new file mode 100644 index 00000000..61f31504 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/18.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 24 (0x18) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 48:75:33:bf:1e:19:3b:50:a8:af:35:67:af:b3:e9:f5:53:68: + ea:41:f9:cf:21:a6:cb:ad:f3:ac:20:2b:79:c9:15:7a:9b:7f: + 88:70:ac:34:64:44:92:7f:56:41:f1:8e:af:9f:e6:28:6f:74: + d5:d3:d3:7b:99:1f:92:8f:58:9d:03:b3:f9:b1:9f:c4:8e:b1: + ea:bb:cf:11:02:70:7b:9c:0e:36:f9:13:41:fb:3f:94:aa:95: + 33:25:f4:4b:4c:cf:11:c4:39:1b:74:fc:98:92:84:4a:58:09: + f3:e5:d2:1c:06:cf:73:79:98:68:ec:17:c2:4f:24:38:7d:47: + b9:6d:62:c6:70:69:2e:83:0c:d1:77:e1:78:a2:b5:ea:0e:17: + d4:93:7b:9c:c1:1d:48:aa:ba:95:03:9d:0f:1a:d8:65:36:84: + 5b:2b:57:44:af:ef:0e:56:f8:3f:63:34:79:d4:98:8d:c6:7c: + 3c:b5:cc:26:ab:5c:04:01:aa:ff:c7:00:2c:12:4c:e4:9e:29: + f4:30:95:ab:28:d5:f0:91:b1:4b:cc:a9:43:58:d1:81:45:7b: + 48:50:7e:b8:21:25:2a:58:d7:65:e7:1f:09:30:25:09:08:83: + 5b:fd:c4:42:bd:d7:a1:72:e4:97:ce:f6:c9:72:38:59:2f:e6: + e4:06:a4:99 +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBGDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwMjMxWhcNMDgwODA5MDEwMjMxWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBAEh1M78eGTtQ +qK81Z6+z6fVTaOpB+c8hpsut86wgK3nJFXqbf4hwrDRkRJJ/VkHxjq+f5ihvdNXT +03uZH5KPWJ0Ds/mxn8SOseq7zxECcHucDjb5E0H7P5SqlTMl9EtMzxHEORt0/JiS +hEpYCfPl0hwGz3N5mGjsF8JPJDh9R7ltYsZwaS6DDNF34XiiteoOF9STe5zBHUiq +upUDnQ8a2GU2hFsrV0Sv7w5W+D9jNHnUmI3GfDy1zCarXAQBqv/HACwSTOSeKfQw +laso1fCRsUvMqUNY0YFFe0hQfrghJSpY12XnHwkwJQkIg1v9xEK916Fy5JfO9sly +OFkv5uQGpJk= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/19.pem b/rpkid/resource-cert-samples/RIR/19.pem new file mode 100644 index 00000000..e258d4d7 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/19.pem @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 25 (0x19) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + ab:e6:eb:32:dd:27:9e:57:ba:21:b7:f2:7f:38:ba:b9:35:c6: + fb:73:c8:70:83:63:80:8f:10:99:56:fc:27:66:d3:19:36:61: + 0d:96:f5:aa:1e:2b:8d:75:3f:cf:9a:5e:8c:17:51:21:31:6f: + ac:ce:d7:18:21:03:3e:b9:b5:4b:50:23:3a:1c:45:5e:51:d9: + 91:73:84:19:98:bd:52:3f:77:f9:c1:ae:94:e0:be:5a:70:20: + 1b:68:55:4a:9b:02:7b:7f:a0:4c:86:d8:41:54:58:f0:65:b9: + 18:03:9e:92:d0:5e:bf:6b:d9:42:b3:20:fe:f8:87:65:54:17: + 88:69:cd:e1:b7:73:37:2b:bf:e0:10:52:0a:4f:72:e7:3e:c8: + 6c:91:37:cb:16:6b:e3:76:45:4d:68:80:92:45:7d:0f:7d:46: + 11:6d:5a:e9:63:38:c3:7f:84:87:4c:66:28:11:d9:a3:db:75: + d8:72:5e:a6:46:3a:14:28:9d:86:e3:bc:a5:15:4c:8c:0c:54: + 8c:9a:0b:4a:ad:72:9a:c5:60:f5:92:ef:9e:ef:be:38:c4:28: + 44:a8:26:80:dc:26:4a:27:4c:d0:ba:f6:ba:fb:9c:5c:7c:3b: + 80:7a:37:3f:bd:eb:8f:f5:21:db:b4:80:77:a8:bb:b0:19:07: + 00:65:9a:82 +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBGTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwMjMxWhcNMDgwODA5MDEwMjMxWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEAq+brMt0nnle6Ibfy +fzi6uTXG+3PIcINjgI8QmVb8J2bTGTZhDZb1qh4rjXU/z5pejBdRITFvrM7XGCED +Prm1S1AjOhxFXlHZkXOEGZi9Uj93+cGulOC+WnAgG2hVSpsCe3+gTIbYQVRY8GW5 +GAOektBev2vZQrMg/viHZVQXiGnN4bdzNyu/4BBSCk9y5z7IbJE3yxZr43ZFTWiA +kkV9D31GEW1a6WM4w3+Eh0xmKBHZo9t12HJepkY6FCidhuO8pRVMjAxUjJoLSq1y +msVg9ZLvnu++OMQoRKgmgNwmSidM0Lr2uvucXHw7gHo3P73rj/Uh27SAd6i7sBkH +AGWagg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/1A.pem b/rpkid/resource-cert-samples/RIR/1A.pem new file mode 100644 index 00000000..9b92b771 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/1A.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:02:31 2007 GMT + Not After : Aug 9 01:02:31 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 1f:83:71:23:e8:ef:c9:a9:7f:c1:a3:c3:73:64:67:f3:0a:c0: + b8:1f:17:71:b0:f6:97:be:db:5d:bf:79:ea:d8:af:cc:16:f4: + ee:f1:01:e3:df:a4:f5:a7:d9:d0:12:28:fc:02:69:91:eb:1f: + e5:fa:b3:3c:ba:9a:34:20:ce:0a:68:73:b8:aa:62:dd:b1:54: + f9:b6:ab:70:23:e0:c6:55:d5:a7:ad:ab:5b:bf:12:38:44:7b: + b1:36:20:6e:1b:d1:30:5e:c2:a3:c6:db:19:4e:f1:e8:71:32: + 1a:04:b4:96:31:9b:5e:c8:25:94:72:05:f1:96:a4:82:69:62: + c6:67:7f:53:b6:71:b1:72:7f:9b:94:f4:04:fe:32:ed:7b:ee: + 4e:4a:6a:6c:b8:70:db:2d:4a:7c:b9:23:8b:d0:39:b1:a5:9f: + c8:ee:51:95:3d:e0:e6:d2:45:0b:8a:83:d0:41:13:f6:39:ce: + 5f:a6:91:00:6c:e1:dc:51:e0:b8:7c:6c:e4:a7:54:b8:26:04: + 8c:bb:5a:35:0b:d9:4f:dd:52:78:21:e2:a7:ca:ef:a7:10:cf: + 44:27:2b:f4:88:d8:18:c3:e1:5a:42:12:a3:05:1e:08:7a:06: + 1f:24:64:05:14:d9:b2:2d:92:4e:cd:45:8b:45:c6:9e:ca:10: + 72:0d:43:09 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBGjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwMjMxWhcNMDgwODA5MDEwMjMxWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAH4NxI+jvyal/waPDc2Rn8wrAuB8XcbD2l77bXb956tivzBb07vEB +49+k9afZ0BIo/AJpkesf5fqzPLqaNCDOCmhzuKpi3bFU+barcCPgxlXVp62rW78S +OER7sTYgbhvRMF7Co8bbGU7x6HEyGgS0ljGbXsgllHIF8Zakgmlixmd/U7ZxsXJ/ +m5T0BP4y7XvuTkpqbLhw2y1KfLkji9A5saWfyO5RlT3g5tJFC4qD0EET9jnOX6aR +AGzh3FHguHxs5KdUuCYEjLtaNQvZT91SeCHip8rvpxDPRCcr9IjYGMPhWkISowUe +CHoGHyRkBRTZsi2STs1Fi0XGnsoQcg1DCQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/1B.pem b/rpkid/resource-cert-samples/RIR/1B.pem new file mode 100644 index 00000000..300059d2 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/1B.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 27 (0x1b) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:07:08 2007 GMT + Not After : Aug 9 01:07:08 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 7c:1c:ce:a8:d1:0f:62:6e:a9:c2:b1:1a:5d:12:64:0b:07:3f: + 32:63:9e:f5:0c:29:f6:5a:72:40:7d:a2:02:a0:cb:2a:c0:e0: + 66:d7:bd:0a:1e:c4:59:ee:99:33:f8:c3:a7:4b:56:8c:1d:62: + f5:c3:ee:12:45:3e:2f:29:ed:11:29:ae:1f:c0:8f:d6:ac:dd: + f4:74:21:07:b0:54:cc:6b:ca:37:38:82:7b:d4:e1:1f:00:b4: + ac:be:b4:71:5f:74:96:1b:39:ef:fc:ae:0c:b5:b2:7b:be:e5: + 16:66:21:2f:aa:ba:1a:52:63:d3:3f:38:91:7b:2d:c8:fd:f6: + aa:f0:f1:c5:39:4f:7d:79:b3:e3:e6:a0:95:6b:a3:66:10:dd: + d4:0f:93:0f:34:13:b0:1c:a3:b4:88:ba:ba:b6:f5:55:ba:f2: + 1c:6c:1c:9d:1d:fe:e7:49:c9:10:9a:c7:68:b0:2c:d7:0e:c1: + 73:93:07:65:2b:3f:ed:98:ff:4d:f4:6b:b6:c0:4b:25:40:43: + 33:b6:44:b9:de:62:27:bf:cd:6d:36:9d:60:a8:bd:25:67:21: + 53:a4:64:d7:67:7b:0b:ff:a2:22:72:cd:8a:b2:57:7c:13:02: + 97:93:96:cc:3b:61:40:6d:5c:da:d6:79:b6:ac:e0:05:fe:dd: + f9:7f:24:2c +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBGzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwNzA4WhcNMDgwODA5MDEwNzA4WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQB8HM6o0Q9ibqnCsRpdEmQLBz8yY571DCn2WnJA +faICoMsqwOBm170KHsRZ7pkz+MOnS1aMHWL1w+4SRT4vKe0RKa4fwI/WrN30dCEH +sFTMa8o3OIJ71OEfALSsvrRxX3SWGznv/K4MtbJ7vuUWZiEvqroaUmPTPziRey3I +/faq8PHFOU99ebPj5qCVa6NmEN3UD5MPNBOwHKO0iLq6tvVVuvIcbBydHf7nSckQ +msdosCzXDsFzkwdlKz/tmP9N9Gu2wEslQEMztkS53mInv81tNp1gqL0lZyFTpGTX +Z3sL/6Iics2Ksld8EwKXk5bMO2FAbVza1nm2rOAF/t35fyQs +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/1C.pem b/rpkid/resource-cert-samples/RIR/1C.pem new file mode 100644 index 00000000..786dc6b4 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/1C.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 28 (0x1c) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:07:08 2007 GMT + Not After : Aug 9 01:07:08 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 59:02:31:4f:92:0b:01:2d:98:ab:45:b8:7b:a9:b8:60:88:a1: + 8c:e3:84:e7:0b:20:a7:9c:e1:a2:7c:aa:9f:e3:a2:f2:5c:0e: + 55:bd:a7:1d:96:e1:fb:0c:16:7d:85:07:42:95:bf:e9:14:c5: + 6f:e5:91:84:88:b7:e7:3b:16:7a:77:08:8e:68:ff:da:44:65: + 04:65:3e:7e:18:5f:ed:56:62:57:fb:b6:da:b4:08:c9:cf:17: + bb:83:34:7a:49:f6:22:02:a4:49:d7:55:c5:d1:22:df:92:f3: + 65:5d:2c:de:ac:0e:f3:9c:18:36:f9:b7:8a:5f:df:d6:5d:84: + 31:7f:76:95:e2:59:53:4a:40:8e:99:6d:ae:3b:9d:86:ce:2a: + 75:1d:49:7c:26:3e:90:2b:34:87:c9:4a:7a:aa:70:59:68:d3: + 81:7f:1b:ee:fc:ea:72:65:60:c9:9e:94:50:8d:62:93:d5:7e: + 52:68:06:c9:d8:e5:bf:a0:db:cd:c2:90:93:0e:9f:1a:66:2f: + 14:16:4a:57:4a:15:bb:0e:d4:73:96:91:1b:a6:00:5f:77:13: + 03:a7:93:65:9a:df:03:42:a8:7c:4e:dc:89:32:ae:80:94:f7: + c3:d7:ed:33:7c:45:ea:34:4d:ea:fe:bd:31:50:c3:81:3f:12: + c8:1f:f8:63 +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBHDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwNzA4WhcNMDgwODA5MDEwNzA4WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBAFkCMU+SCwEt +mKtFuHupuGCIoYzjhOcLIKec4aJ8qp/jovJcDlW9px2W4fsMFn2FB0KVv+kUxW/l +kYSIt+c7Fnp3CI5o/9pEZQRlPn4YX+1WYlf7ttq0CMnPF7uDNHpJ9iICpEnXVcXR +It+S82VdLN6sDvOcGDb5t4pf39ZdhDF/dpXiWVNKQI6Zba47nYbOKnUdSXwmPpAr +NIfJSnqqcFlo04F/G+786nJlYMmelFCNYpPVflJoBsnY5b+g283CkJMOnxpmLxQW +SldKFbsO1HOWkRumAF93EwOnk2Wa3wNCqHxO3IkyroCU98PX7TN8Reo0Ter+vTFQ +w4E/Esgf+GM= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/1D.pem b/rpkid/resource-cert-samples/RIR/1D.pem new file mode 100644 index 00000000..ef7eb793 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/1D.pem @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 29 (0x1d) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:07:08 2007 GMT + Not After : Aug 9 01:07:08 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 0c:51:a0:58:12:e3:9e:03:0a:45:a2:db:eb:7b:98:b1:32:a8: + 87:e2:0a:79:4d:a6:56:83:7c:a3:14:78:98:ba:4d:8f:e4:59: + 06:15:f6:3a:01:6c:5c:21:a5:1e:97:09:42:24:7c:11:a0:4e: + f3:9a:de:50:c2:88:2b:1b:59:6c:12:0e:26:10:40:21:16:e1: + 60:96:bb:4d:53:0f:79:47:28:e0:10:cf:61:f3:82:5f:3a:7f: + ec:e2:3f:f5:60:70:d8:ca:05:ce:cb:f9:49:f8:15:be:0e:18: + e2:f4:3c:f3:1f:5a:31:77:9d:e4:69:17:4a:4f:4d:d6:eb:58: + d6:c7:28:87:15:7c:d0:51:69:59:02:a9:e7:14:a8:d6:5f:6e: + 25:b3:2c:8b:ed:58:f7:84:40:ae:95:4d:67:f5:86:d8:2e:9b: + 1f:29:3a:38:a9:7b:8c:6f:62:df:31:a6:a3:17:ec:19:94:93: + c9:17:36:9b:51:6c:79:c7:4a:4a:08:25:ef:db:13:d8:de:95: + 80:87:28:aa:ae:3d:fb:d8:80:54:cb:31:f3:40:49:28:8f:08: + c9:dc:c3:6d:1d:de:16:57:11:f5:56:89:1d:5a:b9:54:d1:f0: + c4:48:c6:39:05:53:26:15:be:1a:dc:6c:70:6c:f9:71:59:d8: + 2f:f4:b4:81 +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBHTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwNzA4WhcNMDgwODA5MDEwNzA4WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEADFGgWBLjngMKRaLb +63uYsTKoh+IKeU2mVoN8oxR4mLpNj+RZBhX2OgFsXCGlHpcJQiR8EaBO85reUMKI +KxtZbBIOJhBAIRbhYJa7TVMPeUco4BDPYfOCXzp/7OI/9WBw2MoFzsv5SfgVvg4Y +4vQ88x9aMXed5GkXSk9N1utY1scohxV80FFpWQKp5xSo1l9uJbMsi+1Y94RArpVN +Z/WG2C6bHyk6OKl7jG9i3zGmoxfsGZSTyRc2m1FsecdKSggl79sT2N6VgIcoqq49 ++9iAVMsx80BJKI8IydzDbR3eFlcR9VaJHVq5VNHwxEjGOQVTJhW+GtxscGz5cVnY +L/S0gQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/1E.pem b/rpkid/resource-cert-samples/RIR/1E.pem new file mode 100644 index 00000000..93d846b8 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/1E.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 30 (0x1e) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:07:08 2007 GMT + Not After : Aug 9 01:07:08 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 1e:aa:13:82:d7:ac:b4:cf:87:8f:61:5e:f4:b5:0a:2c:36:5f: + 6c:ae:a2:65:46:06:b2:f7:86:f5:81:a7:15:51:87:a8:f1:9d: + b8:37:e8:5a:27:9a:27:a6:c4:fc:eb:64:03:b1:b9:ee:93:e4: + 6f:b6:b8:d7:40:47:20:91:a2:ba:50:f0:c4:98:a6:96:14:3f: + 79:1a:8c:de:3e:b2:57:6a:7a:83:22:9d:8c:05:4e:22:46:4a: + de:98:7f:9d:78:9e:e4:43:10:8c:29:4f:9f:d0:51:a4:70:e4: + ed:ef:b6:72:99:08:8c:5d:c3:4e:60:82:66:05:ae:a0:b8:31: + 4f:77:33:c9:57:9a:7d:bc:d2:8c:1f:60:10:58:8d:db:0a:c0: + 96:f4:29:a7:e1:54:d5:fa:a7:50:93:fa:18:3d:e3:98:14:c4: + 9d:d5:61:af:31:79:f6:af:eb:07:ae:ce:58:e6:62:ed:a0:2a: + c3:4a:93:8b:03:06:6a:e8:2a:ef:c9:82:c7:ae:49:25:65:94: + 85:e6:94:d6:6f:71:17:c7:e6:ab:50:60:a3:c8:7e:e6:51:05: + de:e8:bf:d5:9d:90:9d:b6:a7:eb:97:4d:47:99:b0:d9:de:ae: + d9:de:fb:36:3c:c2:7b:f5:25:ed:72:1a:c4:6b:eb:7c:ad:37: + 34:04:c5:cb +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBHjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDEwNzA4WhcNMDgwODA5MDEwNzA4WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAHqoTgtestM+Hj2Fe9LUKLDZfbK6iZUYGsveG9YGnFVGHqPGduDfo +WieaJ6bE/OtkA7G57pPkb7a410BHIJGiulDwxJimlhQ/eRqM3j6yV2p6gyKdjAVO +IkZK3ph/nXie5EMQjClPn9BRpHDk7e+2cpkIjF3DTmCCZgWuoLgxT3czyVeafbzS +jB9gEFiN2wrAlvQpp+FU1fqnUJP6GD3jmBTEndVhrzF59q/rB67OWOZi7aAqw0qT +iwMGaugq78mCx65JJWWUheaU1m9xF8fmq1Bgo8h+5lEF3ui/1Z2Qnban65dNR5mw +2d6u2d77NjzCe/Ul7XIaxGvrfK03NATFyw== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/1F.pem b/rpkid/resource-cert-samples/RIR/1F.pem new file mode 100644 index 00000000..9dd25967 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/1F.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 31 (0x1f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + Signature Algorithm: sha256WithRSAEncryption + 4f:b2:00:11:14:e9:a9:dc:f3:20:a2:78:94:b7:c5:dd:0c:ff: + fc:e1:68:13:24:a6:e1:f5:32:47:b2:3a:d4:4c:90:e2:cd:64: + ef:6d:7d:5c:35:01:96:8f:68:69:dd:be:ff:fa:a2:33:a4:23: + 28:e5:8d:2e:f6:05:fd:54:85:84:86:2f:01:ba:71:cd:b0:ea: + d5:ab:06:8a:55:15:1e:1e:55:e5:c2:f5:93:0d:43:fc:c8:2d: + f6:d7:57:8b:d9:71:9a:e6:8b:5a:ce:ea:5d:3c:e8:ae:66:7d: + 69:3f:6d:1e:bd:5d:f4:7b:69:90:bb:72:4a:f3:7c:8e:08:33: + 75:c9:48:53:20:16:ca:02:71:0f:6d:e7:bd:14:73:60:42:69: + 8f:2e:b9:f5:fb:39:e5:5d:51:94:7b:3f:d3:6d:25:64:f8:0c: + 68:e6:cd:d5:e1:10:da:d5:24:00:b0:3c:97:b1:69:e5:67:0b: + 05:1b:46:86:d1:d7:2f:17:0e:17:98:bb:54:9f:4e:60:40:0f: + 7a:77:9e:f0:33:d4:0a:8e:56:f9:57:30:a0:cf:b1:86:41:35: + dd:d3:f3:b3:35:56:4b:e1:83:ba:a0:9d:40:8d:d0:70:dc:ff: + 60:9d:73:15:84:c5:8a:20:2b:28:02:16:5a:dd:b0:19:ee:cb: + bd:ea:1f:9b +-----BEGIN CERTIFICATE----- +MIIDFDCCAfygAwIBAgIBHzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExMzM5WhcNMDgwODA5MDExMzM5WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjZTBjMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgEGMEAGCCsGAQUFBwELBDQwMjAwBggrBgEFBQcwBYYk +cnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJuLm5ldC9SSVIvMA0GCSqGSIb3DQEB +CwUAA4IBAQBPsgARFOmp3PMgoniUt8XdDP/84WgTJKbh9TJHsjrUTJDizWTvbX1c +NQGWj2hp3b7/+qIzpCMo5Y0u9gX9VIWEhi8BunHNsOrVqwaKVRUeHlXlwvWTDUP8 +yC3211eL2XGa5otazupdPOiuZn1pP20evV30e2mQu3JK83yOCDN1yUhTIBbKAnEP +bee9FHNgQmmPLrn1+znlXVGUez/TbSVk+Axo5s3V4RDa1SQAsDyXsWnlZwsFG0aG +0dcvFw4XmLtUn05gQA96d57wM9QKjlb5VzCgz7GGQTXd0/OzNVZL4YO6oJ1AjdBw +3P9gnXMVhMWKICsoAhZa3bAZ7su96h+b +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/20.pem b/rpkid/resource-cert-samples/RIR/20.pem new file mode 100644 index 00000000..fe5d4fc2 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/20.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 32 (0x20) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Signature Algorithm: sha256WithRSAEncryption + 21:11:08:a5:7c:20:fa:f3:da:ce:31:cd:f4:f4:e2:dc:46:9c: + 7c:3f:b0:02:04:9c:f8:2e:63:c9:d6:2d:8c:01:44:ea:99:5e: + 50:e2:33:f0:20:0b:df:3d:a5:59:2d:16:d7:e7:8f:3b:f0:84: + 57:d0:23:a3:52:7c:27:34:af:62:b3:97:aa:c4:21:93:8d:34: + 8d:56:9b:8e:b5:b7:da:24:46:e8:2f:e7:b5:f3:92:2b:46:21: + b2:b2:1f:7a:c2:be:f4:af:5d:1b:18:bb:39:3c:ee:e3:18:25: + 22:b4:fd:72:0c:4c:5a:e2:99:75:28:9b:9c:81:a1:da:64:83: + cf:26:22:99:d8:77:b4:6a:80:84:5d:cc:cb:62:5c:f5:00:dc: + 72:14:33:20:90:06:20:01:ed:3a:08:28:a4:7c:e4:51:00:33: + 8b:09:8a:bc:8a:fa:f0:81:a9:ae:69:a6:e6:df:4c:4d:08:47: + cf:46:6f:03:eb:7e:85:86:34:9a:0d:18:51:24:39:cf:47:23: + 25:b3:6e:27:3f:f9:59:7e:da:e0:bf:08:e5:8f:55:f0:cf:e4: + c5:c1:f4:a9:91:ae:09:3e:41:1b:f0:76:2d:0f:a8:4d:05:8d: + 3c:3e:81:81:ec:6c:62:2d:3a:63:81:12:b2:36:23:ed:25:8c: + b5:f4:3d:e1 +-----BEGIN CERTIFICATE----- +MIIDFjCCAf6gAwIBAgIBIDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExMzM5WhcNMDgwODA5MDExMzM5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo2YwZDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWG +JXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy8wDQYJKoZIhvcN +AQELBQADggEBACERCKV8IPrz2s4xzfT04txGnHw/sAIEnPguY8nWLYwBROqZXlDi +M/AgC989pVktFtfnjzvwhFfQI6NSfCc0r2Kzl6rEIZONNI1Wm461t9okRugv57Xz +kitGIbKyH3rCvvSvXRsYuzk87uMYJSK0/XIMTFrimXUom5yBodpkg88mIpnYd7Rq +gIRdzMtiXPUA3HIUMyCQBiAB7ToIKKR85FEAM4sJiryK+vCBqa5ppubfTE0IR89G +bwPrfoWGNJoNGFEkOc9HIyWzbic/+Vl+2uC/COWPVfDP5MXB9KmRrgk+QRvwdi0P +qE0FjTw+gYHsbGItOmOBErI2I+0ljLX0PeE= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/21.pem b/rpkid/resource-cert-samples/RIR/21.pem new file mode 100644 index 00000000..0465b7a4 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/21.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 33 (0x21) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Signature Algorithm: sha256WithRSAEncryption + 69:44:b7:68:fa:e8:4a:16:7e:93:63:18:39:f4:3b:12:19:62: + 6b:9a:b8:2e:cf:b4:26:a7:fc:e1:01:9a:c9:33:00:34:47:76: + 24:1d:c3:09:65:fb:d4:68:31:47:ca:e8:07:20:6f:af:fe:ad: + 28:19:d5:12:31:d7:dd:60:3f:35:6d:fd:02:7a:a6:99:42:d5: + f4:c7:42:34:8f:53:20:a2:fb:8c:f6:87:97:c9:81:95:09:02: + a5:60:ad:0c:2d:01:15:8a:92:16:34:d6:5b:2e:ac:95:4f:93: + 04:27:ac:47:d8:f4:48:53:36:bc:2a:77:4b:16:f9:21:be:a4: + 85:65:62:9d:75:68:dd:95:fb:0f:74:2d:e0:be:4a:8b:86:88: + 03:fa:e4:58:a9:46:51:26:b4:d7:5c:a8:cf:6a:29:86:be:68: + 66:46:e0:92:b2:18:9a:14:e9:c0:02:51:68:31:9c:17:75:ac: + 86:b1:e1:41:d7:22:4d:9c:ef:55:4d:2a:85:0b:62:e6:b2:5c: + 04:8e:09:21:0a:a7:f6:cd:1e:f3:00:20:71:01:55:cf:7d:a0: + 03:85:82:49:7e:7a:e0:ba:a8:c8:e7:43:a7:29:08:f7:b6:ad: + fe:f7:4a:69:a5:03:47:87:c5:87:bd:f1:86:6e:ea:5b:34:51: + fe:00:a9:a7 +-----BEGIN CERTIFICATE----- +MIIDFjCCAf6gAwIBAgIBITANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExMzM5WhcNMDgwODA5MDExMzM5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo2YwZDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWG +JXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMi8wDQYJKoZIhvcN +AQELBQADggEBAGlEt2j66EoWfpNjGDn0OxIZYmuauC7PtCan/OEBmskzADRHdiQd +wwll+9RoMUfK6Acgb6/+rSgZ1RIx191gPzVt/QJ6pplC1fTHQjSPUyCi+4z2h5fJ +gZUJAqVgrQwtARWKkhY01lsurJVPkwQnrEfY9EhTNrwqd0sW+SG+pIVlYp11aN2V ++w90LeC+SouGiAP65FipRlEmtNdcqM9qKYa+aGZG4JKyGJoU6cACUWgxnBd1rIax +4UHXIk2c71VNKoULYuayXASOCSEKp/bNHvMAIHEBVc99oAOFgkl+euC6qMjnQ6cp +CPe2rf73SmmlA0eHxYe98YZu6ls0Uf4Aqac= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/22.pem b/rpkid/resource-cert-samples/RIR/22.pem new file mode 100644 index 00000000..f46564dd --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/22.pem @@ -0,0 +1,76 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 34 (0x22) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:13:39 2007 GMT + Not After : Aug 9 01:13:39 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Signature Algorithm: sha256WithRSAEncryption + 64:a2:b2:a2:9e:50:69:0e:9f:15:f1:85:10:e8:5e:bf:22:c0: + 2e:4c:58:1c:43:c8:ba:7d:3d:67:8c:a6:94:99:b0:fc:ec:2c: + e2:0c:69:a7:d6:9e:35:b7:06:bd:d0:30:9a:ba:c9:1c:49:96: + ee:06:68:45:e3:ed:48:4d:7a:c0:68:4f:57:52:e6:e7:f1:1c: + 14:58:d5:a2:da:d0:19:c5:e9:c4:63:4f:bc:3b:10:8b:2e:fe: + b7:95:8a:f4:7e:00:ac:f8:5b:dc:4e:70:81:d7:9e:d8:4b:e8: + 89:03:05:3e:11:dc:8f:7a:45:a3:14:78:5f:9d:dc:fe:7f:fd: + 4a:b0:bb:33:e0:7c:46:f4:e3:df:f7:2b:9e:64:44:ba:39:b0: + d4:72:a3:cf:35:55:ae:04:29:ed:d8:23:22:b0:a3:16:d2:5d: + 69:b9:c6:5a:e5:53:42:71:2b:5e:37:e1:1e:26:42:ce:29:23: + 64:2e:51:fd:a9:e4:9b:20:65:b1:f1:c2:ce:14:56:10:68:2f: + fc:f3:eb:55:6d:d7:a0:0e:1a:0c:52:4a:81:47:e6:34:1f:9e: + 3a:c5:38:2e:e6:f2:43:bf:f8:e3:cb:cd:44:83:4f:7c:fb:69: + a9:41:96:d6:50:22:b7:3c:06:e0:09:ff:34:cb:41:f6:17:97: + 86:7d:f0:c5 +-----BEGIN CERTIFICATE----- +MIIDFjCCAf6gAwIBAgIBIjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExMzM5WhcNMDgwODA5MDExMzM5WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo2YwZDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjBBBggrBgEFBQcBCwQ1MDMwMQYIKwYBBQUHMAWG +JXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMS8wDQYJKoZIhvcN +AQELBQADggEBAGSisqKeUGkOnxXxhRDoXr8iwC5MWBxDyLp9PWeMppSZsPzsLOIM +aafWnjW3Br3QMJq6yRxJlu4GaEXj7UhNesBoT1dS5ufxHBRY1aLa0BnF6cRjT7w7 +EIsu/reVivR+AKz4W9xOcIHXnthL6IkDBT4R3I96RaMUeF+d3P5//UqwuzPgfEb0 +49/3K55kRLo5sNRyo881Va4EKe3YIyKwoxbSXWm5xlrlU0JxK1434R4mQs4pI2Qu +Uf2p5JsgZbHxws4UVhBoL/zz61Vt16AOGgxSSoFH5jQfnjrFOC7m8kO/+OPLzUSD +T3z7aalBltZQIrc8BuAJ/zTLQfYXl4Z98MU= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/23.pem b/rpkid/resource-cert-samples/RIR/23.pem new file mode 100644 index 00000000..62954cf1 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/23.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 35 (0x23) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:15:09 2007 GMT + Not After : Aug 9 01:15:09 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 6b:3e:b4:ef:05:b1:6c:d0:7f:e1:86:49:86:64:44:10:16:65: + d2:ae:52:cf:da:08:79:bd:08:a2:fc:3b:90:bf:ec:6a:a3:cc: + 78:51:cf:f9:c7:9a:65:5e:a9:11:b3:db:76:0a:2d:14:96:c5: + d0:21:22:f1:64:b3:2c:ea:2e:20:f1:52:32:8d:c9:9a:3c:eb: + d1:82:53:e9:57:c9:01:ed:4f:c7:0f:b5:1f:a7:8f:1a:9d:9b: + 42:b2:c8:fa:c0:e9:24:7c:ea:b3:26:55:54:6c:fb:fc:36:3d: + 42:84:e1:b1:40:62:d9:d8:59:fd:02:9d:c9:eb:69:54:47:1a: + d6:b8:0a:ee:27:0c:59:ea:a4:e7:73:a8:cd:47:14:e0:2e:68: + f3:46:79:a9:7c:d6:07:8c:06:26:d1:66:7a:a5:e8:56:f8:5e: + f8:37:49:0a:f1:52:5c:78:c0:92:90:81:05:a5:4a:a7:60:0f: + 4b:d3:62:14:70:be:5f:90:5b:54:9f:79:d9:a8:c9:50:bc:ab: + ed:17:e6:a2:e0:25:b8:74:56:8c:12:66:19:41:fc:ed:eb:37: + 21:e5:3f:56:d0:d5:ee:f2:e6:d4:53:4e:ae:78:d4:50:fd:dd: + 03:6a:e3:29:72:5a:40:d5:3c:90:8e:d2:77:d2:28:9e:cb:77: + 85:8c:c3:e1 +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBIzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExNTA5WhcNMDgwODA5MDExNTA5WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQBrPrTvBbFs0H/hhkmGZEQQFmXSrlLP2gh5vQii +/DuQv+xqo8x4Uc/5x5plXqkRs9t2Ci0UlsXQISLxZLMs6i4g8VIyjcmaPOvRglPp +V8kB7U/HD7Ufp48anZtCssj6wOkkfOqzJlVUbPv8Nj1ChOGxQGLZ2Fn9Ap3J62lU +RxrWuAruJwxZ6qTnc6jNRxTgLmjzRnmpfNYHjAYm0WZ6pehW+F74N0kK8VJceMCS +kIEFpUqnYA9L02IUcL5fkFtUn3nZqMlQvKvtF+ai4CW4dFaMEmYZQfzt6zch5T9W +0NXu8ubUU06ueNRQ/d0DauMpclpA1TyQjtJ30iiey3eFjMPh +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/24.pem b/rpkid/resource-cert-samples/RIR/24.pem new file mode 100644 index 00000000..419b192d --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/24.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 36 (0x24) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 2a:bc:5b:b8:bc:0a:4f:52:b5:d5:01:bd:97:c3:79:df:8f:fd: + 7b:d7:0f:fd:fc:0c:8c:3f:69:b0:24:c0:b0:65:63:bf:ca:62: + 41:29:04:0a:52:73:b3:e1:c8:18:89:77:ba:b8:7c:6a:b7:19: + d7:b7:93:fa:dc:62:78:f9:bd:67:45:be:cd:97:bc:b7:f0:47: + 95:9b:97:92:70:ae:9c:58:04:49:d7:fa:af:2e:9e:d1:57:22: + 5b:10:c3:38:68:94:bf:0f:a8:a6:f4:1f:06:59:49:57:30:11: + 77:66:2a:f4:64:65:13:40:6b:e4:a9:6b:4d:75:4a:11:53:ab: + 28:44:67:b5:be:45:48:47:bf:67:61:4f:83:63:bf:33:3a:68: + 88:4e:0e:3a:60:79:86:52:65:a0:43:c6:0a:b8:ce:bc:37:eb: + 3c:7e:ed:11:f7:e6:42:c0:64:52:70:b3:5c:4c:dc:ed:49:96: + 64:2d:a6:19:27:87:11:ed:2d:10:96:c1:7f:ae:2d:a7:98:31: + 70:9b:35:1d:87:b9:ec:33:0a:f3:c3:d4:47:b6:7b:ff:7a:9f: + 04:a8:b6:bd:9d:10:12:e1:24:5a:44:5c:5b:68:c4:9a:09:64: + 27:21:aa:f1:d4:05:42:37:41:4f:8d:f9:0a:e2:c6:3b:94:76: + d9:d7:97:66 +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBJDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExNTEwWhcNMDgwODA5MDExNTEwWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBACq8W7i8Ck9S +tdUBvZfDed+P/XvXD/38DIw/abAkwLBlY7/KYkEpBApSc7PhyBiJd7q4fGq3Gde3 +k/rcYnj5vWdFvs2XvLfwR5Wbl5JwrpxYBEnX+q8untFXIlsQwzholL8PqKb0HwZZ +SVcwEXdmKvRkZRNAa+Spa011ShFTqyhEZ7W+RUhHv2dhT4NjvzM6aIhODjpgeYZS +ZaBDxgq4zrw36zx+7RH35kLAZFJws1xM3O1JlmQtphknhxHtLRCWwX+uLaeYMXCb +NR2HuewzCvPD1Ee2e/96nwSotr2dEBLhJFpEXFtoxJoJZCchqvHUBUI3QU+N+Qri +xjuUdtnXl2Y= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/25.pem b/rpkid/resource-cert-samples/RIR/25.pem new file mode 100644 index 00000000..06ca26ad --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/25.pem @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 37 (0x25) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 13:0b:5a:02:21:8a:26:5a:fd:8a:66:9c:ff:7c:61:aa:43:72: + d0:ac:b7:9f:91:85:a9:3d:97:2b:4c:cb:5b:c1:69:0d:d2:32: + 28:2b:5e:e6:fe:2b:71:1f:62:72:b0:ea:fd:5b:86:b0:86:09: + e8:a1:53:86:5a:7c:58:3d:b1:74:6d:9a:40:08:b6:33:46:7d: + 03:43:13:03:d3:c3:13:8c:71:92:5d:c0:76:bb:e0:08:95:4b: + ca:ac:0a:c5:3d:d2:50:f5:96:8a:db:c2:ea:d0:f7:a2:00:fa: + 10:19:44:1e:5b:93:30:ff:0f:e9:af:81:a2:6d:c4:46:d7:af: + e9:a7:42:7c:ba:db:9f:b9:46:3d:f5:b2:19:81:2c:a7:c6:56: + d1:37:3e:50:f1:93:0a:8a:0a:81:42:c6:f1:7f:e0:63:fa:a1: + 7b:74:c6:ea:be:d7:37:5c:df:c1:8f:46:81:d8:a2:ce:d9:ee: + d9:03:71:8c:cb:1c:69:2a:29:8e:09:58:de:09:7b:93:ab:7b: + b6:56:a0:22:1c:31:e9:4d:13:19:ae:ab:f5:fa:19:5a:ad:54: + 46:d1:6b:b3:48:7c:ac:41:75:9b:87:10:bd:ab:fa:df:37:a8: + 29:37:65:8b:f4:90:81:85:0f:e8:e4:6e:df:84:ab:4f:99:ae: + 67:b9:8c:db +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBJTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExNTEwWhcNMDgwODA5MDExNTEwWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEAEwtaAiGKJlr9imac +/3xhqkNy0Ky3n5GFqT2XK0zLW8FpDdIyKCte5v4rcR9icrDq/VuGsIYJ6KFThlp8 +WD2xdG2aQAi2M0Z9A0MTA9PDE4xxkl3AdrvgCJVLyqwKxT3SUPWWitvC6tD3ogD6 +EBlEHluTMP8P6a+Bom3ERtev6adCfLrbn7lGPfWyGYEsp8ZW0Tc+UPGTCooKgULG +8X/gY/qhe3TG6r7XN1zfwY9Ggdiiztnu2QNxjMscaSopjglY3gl7k6t7tlagIhwx +6U0TGa6r9foZWq1URtFrs0h8rEF1m4cQvav63zeoKTdli/SQgYUP6ORu34SrT5mu +Z7mM2w== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/26.pem b/rpkid/resource-cert-samples/RIR/26.pem new file mode 100644 index 00000000..77486c96 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/26.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 38 (0x26) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Aug 10 01:15:10 2007 GMT + Not After : Aug 9 01:15:10 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 5d:4b:e6:c3:ad:38:f8:49:32:34:7c:6a:06:ed:d0:7a:cf:9a: + c8:a9:22:e5:46:93:37:f1:ec:4d:cd:26:43:f6:e8:ea:7a:5c: + 08:2a:7d:e3:37:e4:98:45:16:d2:a8:0b:eb:df:d4:a0:91:04: + 35:40:a8:c7:a5:c9:db:86:03:e3:e0:c4:17:6a:27:49:e6:4b: + 63:68:84:0c:57:5a:ac:43:79:4e:05:41:05:e5:fc:89:f7:f4: + 03:95:7c:b2:9e:d8:aa:a4:b5:35:26:58:96:e0:f6:70:08:f2: + de:5c:f5:0a:c9:6a:21:3a:e6:c7:19:af:e3:d9:b1:50:e2:bf: + db:28:df:3c:ae:e3:29:8f:22:b6:7a:a9:f6:f4:f3:7f:48:92: + da:f4:f5:19:4d:50:63:e0:87:f6:9e:fc:8f:5e:3a:d0:81:3b: + 8d:8a:7a:8a:0c:e9:24:a3:83:16:ca:24:4e:ef:80:7a:61:1e: + 96:ee:5f:8d:07:68:e5:c2:13:44:30:60:02:71:9b:ef:5b:df: + cc:a6:62:60:95:38:41:ff:93:e9:9f:c7:b8:60:34:93:db:55: + 2b:e7:27:91:d9:06:56:8e:a4:38:28:ae:dc:02:b4:fd:33:d0: + 17:4a:29:0f:86:19:ed:48:dc:5a:b4:e4:7a:8d:de:bc:10:c1: + 14:d5:b2:59 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBJjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcwODEwMDExNTEwWhcNMDgwODA5MDExNTEwWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAXUvmw604+EkyNHxqBu3Qes+ayKki5UaTN/HsTc0mQ/bo6npcCCp9 +4zfkmEUW0qgL69/UoJEENUCox6XJ24YD4+DEF2onSeZLY2iEDFdarEN5TgVBBeX8 +iff0A5V8sp7YqqS1NSZYluD2cAjy3lz1CslqITrmxxmv49mxUOK/2yjfPK7jKY8i +tnqp9vTzf0iS2vT1GU1QY+CH9p78j1460IE7jYp6igzpJKODFsokTu+AemEelu5f +jQdo5cITRDBgAnGb71vfzKZiYJU4Qf+T6Z/HuGA0k9tVK+cnkdkGVo6kOCiu3AK0 +/TPQF0opD4YZ7UjcWrTkeo3evBDBFNWyWQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/27.pem b/rpkid/resource-cert-samples/RIR/27.pem new file mode 100644 index 00000000..899f8afe --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/27.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 39 (0x27) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 2e:45:6d:53:05:ed:dd:c9:79:ad:3e:69:42:51:c2:83:f4:d6: + e6:9b:ab:ec:70:45:6f:8b:08:83:9e:db:91:69:e2:62:03:c8: + 84:e0:6b:9e:0a:76:80:ff:06:b3:28:ad:8b:7d:75:6c:89:0d: + d0:91:55:a3:ed:bb:00:9b:36:23:8e:b2:77:58:05:62:30:4d: + c5:90:f3:38:0d:75:ab:4e:5c:2e:40:15:38:76:fe:12:21:14: + 32:52:1d:0c:3f:3a:b7:76:ef:60:98:58:ef:47:2a:20:23:bc: + ce:63:fe:ef:d7:d5:6a:2c:08:19:61:ec:be:0d:f0:23:09:1d: + eb:24:c0:f5:fa:30:dd:3b:65:82:09:23:e1:4b:14:15:35:8b: + 71:88:bb:15:4b:a5:69:ff:77:b3:65:7b:32:ee:e8:5a:af:64: + 05:cc:7f:f3:eb:72:01:5e:10:66:4c:2f:3b:d7:49:1a:21:9a: + 1a:21:01:17:18:a3:b2:39:96:7f:3c:a4:25:c7:ea:a8:36:34: + 60:5e:6d:95:32:a4:a7:c8:7d:af:f3:9a:fc:ed:90:05:07:5c: + 2e:b3:f2:46:3a:ca:d0:4a:37:41:19:38:9d:f2:32:f8:b7:f2: + b8:9b:a7:2a:e2:b2:77:8a:98:49:33:d7:33:04:de:1e:a8:5c: + d0:e6:db:45 +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBJzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDE5MTkwNjA3WhcNMDgxMDE4MTkwNjA3WjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQAuRW1TBe3dyXmtPmlCUcKD9Nbmm6vscEVviwiD +ntuRaeJiA8iE4GueCnaA/wazKK2LfXVsiQ3QkVWj7bsAmzYjjrJ3WAViME3FkPM4 +DXWrTlwuQBU4dv4SIRQyUh0MPzq3du9gmFjvRyogI7zOY/7v19VqLAgZYey+DfAj +CR3rJMD1+jDdO2WCCSPhSxQVNYtxiLsVS6Vp/3ezZXsy7uhar2QFzH/z63IBXhBm +TC8710kaIZoaIQEXGKOyOZZ/PKQlx+qoNjRgXm2VMqSnyH2v85r87ZAFB1wus/JG +OsrQSjdBGTid8jL4t/K4m6cq4rJ3iphJM9czBN4eqFzQ5ttF +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/28.pem b/rpkid/resource-cert-samples/RIR/28.pem new file mode 100644 index 00000000..5bf407ac --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/28.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 40 (0x28) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 1e:63:2b:cd:40:87:83:32:a1:6e:ed:4e:17:08:9e:e9:19:3c: + 6b:14:68:0b:7a:81:b3:fe:3e:9b:de:9e:19:a5:7d:76:6c:18: + 5f:ed:9e:9b:59:5c:a8:1e:08:2a:71:ac:e1:40:61:89:38:fe: + 46:c2:ba:81:d0:85:db:0f:78:a6:f6:72:03:43:e1:d5:af:21: + 38:d8:77:fc:12:b8:b6:fe:09:8e:a2:c9:db:77:9c:94:f0:28: + 28:bc:41:ee:42:7c:65:ce:bb:9a:15:b5:06:8f:c8:a4:cf:10: + 39:4d:72:a0:f0:e6:7e:c3:2a:40:fc:be:c5:17:98:fe:3a:08: + a5:cb:7b:4c:49:59:5d:c2:bd:87:ac:fe:10:1e:e0:45:69:eb: + 2d:3d:ff:f9:12:ef:2f:ef:8a:f9:4d:e6:c1:f8:27:b5:fc:78: + 64:cc:ee:94:95:17:cc:ed:2b:03:d6:4e:85:06:0f:a1:e2:70: + 0a:a1:fc:01:a0:8e:70:04:0e:b0:0c:86:3e:9a:2f:a9:64:9a: + 00:62:b0:82:30:74:6f:2c:fd:e6:bd:2c:9c:74:da:cd:07:a2: + 0d:a4:a2:e2:1a:ad:57:4c:35:04:c5:16:7e:c8:9c:a0:57:53: + 28:e2:8d:34:92:1a:77:9c:ff:6b:8a:4f:78:e6:2e:70:08:67: + 82:b4:7d:9f +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBKDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDE5MTkwNjA3WhcNMDgxMDE4MTkwNjA3WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBAB5jK81Ah4My +oW7tThcInukZPGsUaAt6gbP+PpvenhmlfXZsGF/tnptZXKgeCCpxrOFAYYk4/kbC +uoHQhdsPeKb2cgND4dWvITjYd/wSuLb+CY6iydt3nJTwKCi8Qe5CfGXOu5oVtQaP +yKTPEDlNcqDw5n7DKkD8vsUXmP46CKXLe0xJWV3CvYes/hAe4EVp6y09//kS7y/v +ivlN5sH4J7X8eGTM7pSVF8ztKwPWToUGD6HicAqh/AGgjnAEDrAMhj6aL6lkmgBi +sIIwdG8s/ea9LJx02s0Hog2kouIarVdMNQTFFn7InKBXUyjijTSSGnec/2uKT3jm +LnAIZ4K0fZ8= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/29.pem b/rpkid/resource-cert-samples/RIR/29.pem new file mode 100644 index 00000000..aaed0d68 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/29.pem @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 41 (0x29) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 23:d8:22:41:32:ce:3b:82:26:87:5c:52:4b:b3:ec:81:8e:06: + 8e:a4:8d:a2:8e:e8:f6:0a:5f:d8:65:43:d2:f6:cf:2d:cb:33: + 78:1f:ce:a4:2a:a3:18:8f:23:ef:4c:56:ae:3c:a8:21:19:3d: + 98:e2:19:58:99:93:e3:da:25:4e:f1:2a:c9:e8:5b:5b:ed:3a: + 2c:2c:9b:7e:5e:f3:8a:63:bf:e8:92:3b:e0:80:8e:50:ee:6e: + 16:37:51:eb:34:b1:90:13:a8:13:9e:49:7f:da:aa:e4:b8:c8: + e6:c7:5c:5e:15:e4:19:c2:ea:81:54:65:fc:8b:c1:c2:54:89: + 0a:2d:d9:ad:96:e7:2b:92:c7:ca:bf:b2:d4:fb:f2:45:51:f3: + a0:0e:39:cf:5c:10:f4:7e:8c:4c:e5:0c:65:00:38:fa:d6:24: + 5d:5d:93:eb:a7:ee:78:65:05:6c:c5:2b:de:08:a0:3a:65:e8: + 13:7f:1e:6c:2e:58:ce:3e:00:4d:a6:e1:28:89:61:ef:b3:66: + 2e:6f:81:91:a5:4d:56:47:27:c2:33:28:d8:ae:ac:74:7c:76: + eb:bc:0c:43:9a:a9:ae:52:f9:22:24:4b:3c:96:a9:3e:4e:5c: + 8b:85:6e:f2:84:9a:5f:fa:b9:c8:66:67:cd:fa:17:3f:23:c4: + 45:97:64:36 +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBKTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDE5MTkwNjA3WhcNMDgxMDE4MTkwNjA3WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEAI9giQTLOO4Imh1xS +S7PsgY4GjqSNoo7o9gpf2GVD0vbPLcszeB/OpCqjGI8j70xWrjyoIRk9mOIZWJmT +49olTvEqyehbW+06LCybfl7zimO/6JI74ICOUO5uFjdR6zSxkBOoE55Jf9qq5LjI +5sdcXhXkGcLqgVRl/IvBwlSJCi3ZrZbnK5LHyr+y1PvyRVHzoA45z1wQ9H6MTOUM +ZQA4+tYkXV2T66fueGUFbMUr3gigOmXoE38ebC5Yzj4ATabhKIlh77NmLm+BkaVN +VkcnwjMo2K6sdHx267wMQ5qprlL5IiRLPJapPk5ci4Vu8oSaX/q5yGZnzfoXPyPE +RZdkNg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/2A.pem b/rpkid/resource-cert-samples/RIR/2A.pem new file mode 100644 index 00000000..7f7116ad --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/2A.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 42 (0x2a) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 19 19:06:07 2007 GMT + Not After : Oct 18 19:06:07 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 56:79:7d:ae:75:85:0f:e2:2f:f9:77:f6:34:78:f7:da:4f:d2: + 6d:df:9d:6e:0d:ab:06:15:d9:e3:99:06:ab:7f:5d:09:ec:23: + 2b:38:75:bf:f5:43:1d:3b:b9:a7:27:a9:77:89:ba:48:47:a5: + 72:14:50:1b:33:3b:bc:cd:9b:5a:fb:17:f3:33:7e:14:59:24: + 9c:5c:53:01:68:8a:34:db:43:e7:ef:1c:ad:e6:ba:82:e2:dc: + 1c:e6:7e:59:64:5d:58:89:a1:01:c5:23:10:b0:32:c1:62:54: + 97:e8:3b:b0:0c:51:52:12:56:ea:7a:4f:4c:b7:43:ef:d0:8c: + 65:b3:39:de:7b:95:2b:e4:99:df:2e:d5:9e:b5:77:c6:4d:d4: + b8:0a:40:86:13:40:7f:53:ad:c6:5a:38:6a:48:1b:5e:da:7e: + 5a:1b:d4:66:c0:cc:4e:e9:0d:48:4d:7f:f5:f0:9a:c8:17:63: + 1a:08:80:34:35:ac:ad:b8:5f:26:a1:b7:dc:4f:08:98:3b:36: + 2b:d1:65:6d:0c:ce:2d:77:94:88:79:a1:34:7a:55:74:7c:a0: + 04:87:e1:a2:7b:1f:c1:06:f5:ea:61:d1:20:69:ea:cd:be:21: + b9:41:17:04:a4:3e:8f:bf:dc:da:51:b9:ea:41:77:f3:c0:f6: + 02:65:c3:d5 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBKjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDE5MTkwNjA3WhcNMDgxMDE4MTkwNjA3WjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAVnl9rnWFD+Iv+Xf2NHj32k/Sbd+dbg2rBhXZ45kGq39dCewjKzh1 +v/VDHTu5pyepd4m6SEelchRQGzM7vM2bWvsX8zN+FFkknFxTAWiKNNtD5+8crea6 +guLcHOZ+WWRdWImhAcUjELAywWJUl+g7sAxRUhJW6npPTLdD79CMZbM53nuVK+SZ +3y7VnrV3xk3UuApAhhNAf1Otxlo4akgbXtp+WhvUZsDMTukNSE1/9fCayBdjGgiA +NDWsrbhfJqG33E8ImDs2K9FlbQzOLXeUiHmhNHpVdHygBIfhonsfwQb16mHRIGnq +zb4huUEXBKQ+j7/c2lG56kF388D2AmXD1Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/2B.pem b/rpkid/resource-cert-samples/RIR/2B.pem new file mode 100644 index 00000000..7d69f853 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/2B.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 43 (0x2b) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:03:51 2007 GMT + Not After : Oct 28 16:03:51 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 21:d1:04:bf:8b:88:c1:6f:c5:0b:25:0e:54:72:03:59:1f:bc: + c1:16:e1:9b:0b:5c:fa:1d:3d:39:b7:c1:3a:5c:74:a4:12:f3: + ae:59:75:f8:82:64:58:24:c5:dd:fb:8b:ae:85:23:e0:6a:3b: + de:76:ae:b8:55:df:71:42:5e:26:d6:e7:dc:7e:64:47:fa:2b: + 93:c2:2f:b7:3a:bd:f9:a1:4b:5d:8c:c5:91:51:42:82:9b:49: + c3:02:3a:a6:b6:c6:f0:3b:df:cb:78:f9:11:87:69:c4:76:dd: + 00:8d:c1:35:37:f6:09:0b:7b:d9:62:c0:2e:8b:83:70:0f:47: + c5:22:27:39:91:28:95:65:c3:24:d5:54:a0:22:2a:aa:60:a5: + ba:4b:72:12:4a:02:ac:15:11:45:cc:70:34:0e:bf:54:f2:fb: + 5b:d1:15:3d:04:73:66:0c:2b:58:07:5f:c6:1f:49:a5:bc:c1: + 63:6b:5b:d8:f0:0c:07:41:f6:f3:0b:93:27:53:79:77:c6:1b: + b1:46:0a:00:d5:55:57:1e:b3:df:1e:40:54:bf:22:b0:92:ff: + 54:47:ce:26:ba:75:2b:4c:ad:dd:98:af:12:7b:01:66:b3:94: + bc:39:7f:ba:91:f7:eb:5c:cc:f3:58:4a:7d:7d:0e:fc:4c:3f: + dc:1e:62:c3 +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBKzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYwMzUxWhcNMDgxMDI4MTYwMzUxWjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQAh0QS/i4jBb8ULJQ5UcgNZH7zBFuGbC1z6HT05 +t8E6XHSkEvOuWXX4gmRYJMXd+4uuhSPgajvedq64Vd9xQl4m1ufcfmRH+iuTwi+3 +Or35oUtdjMWRUUKCm0nDAjqmtsbwO9/LePkRh2nEdt0AjcE1N/YJC3vZYsAui4Nw +D0fFIic5kSiVZcMk1VSgIiqqYKW6S3ISSgKsFRFFzHA0Dr9U8vtb0RU9BHNmDCtY +B1/GH0mlvMFja1vY8AwHQfbzC5MnU3l3xhuxRgoA1VVXHrPfHkBUvyKwkv9UR84m +unUrTK3dmK8SewFms5S8OX+6kffrXMzzWEp9fQ78TD/cHmLD +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/2C.pem b/rpkid/resource-cert-samples/RIR/2C.pem new file mode 100644 index 00000000..b32d729e --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/2C.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 44 (0x2c) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:03:51 2007 GMT + Not After : Oct 28 16:03:51 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 5f:28:81:1a:2c:d6:f6:55:be:cc:d2:3c:a1:fe:6c:86:6f:7d: + cc:9d:be:96:0d:03:45:27:cd:c4:e7:a5:be:9e:24:59:76:24: + ef:4b:3e:14:4a:d4:88:29:90:bf:87:38:75:68:d7:3d:c6:b5: + cc:dd:dc:6c:71:3f:92:de:f0:79:c5:f1:3c:83:d7:f9:bb:22: + ad:3e:f7:69:df:73:9c:06:9b:cc:47:d9:ef:d4:1f:09:69:38: + a9:e4:a9:f6:a6:b7:ec:f7:ee:6e:fd:cf:90:31:db:3b:dc:fe: + 8b:45:dc:34:39:8c:fe:0f:6a:53:b6:7f:25:1d:aa:e3:23:9a: + 73:73:cc:6f:ad:63:e9:c8:e7:f7:98:68:52:e7:1f:5d:f1:f4: + f6:ac:4e:9b:f5:c8:22:ab:b2:01:b5:25:b1:39:d9:21:25:5f: + b6:e0:a2:b0:41:7e:15:30:71:ed:39:f2:0a:f9:84:ef:13:78: + 9b:91:96:4f:e7:9a:26:a7:5d:f5:7b:36:15:4a:1d:6c:dd:91: + 85:8d:be:7c:76:59:05:b9:19:41:76:09:e7:29:d9:86:90:53: + b0:64:8a:3e:7c:43:aa:1f:aa:68:60:19:fd:bf:15:9c:be:a8: + a6:b8:24:13:76:88:c5:fe:2a:6e:df:4d:67:f4:26:b1:8c:ce: + b9:ba:fb:d6 +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBLDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYwMzUxWhcNMDgxMDI4MTYwMzUxWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBAF8ogRos1vZV +vszSPKH+bIZvfcydvpYNA0UnzcTnpb6eJFl2JO9LPhRK1IgpkL+HOHVo1z3Gtczd +3GxxP5Le8HnF8TyD1/m7Iq0+92nfc5wGm8xH2e/UHwlpOKnkqfamt+z37m79z5Ax +2zvc/otF3DQ5jP4PalO2fyUdquMjmnNzzG+tY+nI5/eYaFLnH13x9PasTpv1yCKr +sgG1JbE52SElX7bgorBBfhUwce058gr5hO8TeJuRlk/nmianXfV7NhVKHWzdkYWN +vnx2WQW5GUF2Cecp2YaQU7Bkij58Q6ofqmhgGf2/FZy+qKa4JBN2iMX+Km7fTWf0 +JrGMzrm6+9Y= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/2D.pem b/rpkid/resource-cert-samples/RIR/2D.pem new file mode 100644 index 00000000..61bb37a9 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/2D.pem @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 45 (0x2d) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:03:51 2007 GMT + Not After : Oct 28 16:03:51 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 5c:f7:ec:cb:ed:16:f2:e4:e2:cd:ca:e8:3c:ae:2f:9d:16:7e: + 8b:f1:e7:bf:db:ef:44:85:95:15:ed:d7:8e:99:a5:9d:f5:98: + 9e:c2:96:c4:c7:78:23:9a:36:fe:aa:9f:d5:fc:dc:b4:cc:b5: + 25:21:79:cd:74:e9:a8:95:b2:05:c4:4f:a0:37:d1:16:b5:bd: + 48:de:9b:b1:c1:91:d7:a3:e3:7f:bb:af:ed:59:21:57:1d:ef: + 20:ed:a2:4d:a9:34:35:0c:05:a4:cb:8a:8a:08:d6:16:53:07: + 9f:a4:63:29:0e:9d:ed:69:34:3f:6e:35:53:8c:90:11:17:36: + 75:96:ea:f1:34:fa:d7:73:7c:0c:ab:95:44:d1:a5:e9:85:74: + 05:f8:5c:f6:70:6c:94:c2:ea:61:e1:6a:94:f4:b8:66:8d:c3: + c5:0e:f5:47:a2:8a:1e:40:f1:30:97:b0:e1:de:e4:89:95:a3: + f6:a0:56:64:9f:e6:63:23:24:f5:41:4f:36:01:c2:50:2f:99: + dc:53:e8:e0:b0:eb:bd:1d:8d:28:3f:ce:b5:0b:68:2b:a2:cf: + e2:14:53:ae:10:2a:3e:51:00:96:5c:09:b5:41:97:fb:ba:19: + 94:d4:3e:74:f3:65:9d:bf:0b:77:45:7a:1d:1c:aa:74:f2:ea: + 53:a6:92:6d +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBLTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYwMzUxWhcNMDgxMDI4MTYwMzUxWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEAXPfsy+0W8uTizcro +PK4vnRZ+i/Hnv9vvRIWVFe3XjpmlnfWYnsKWxMd4I5o2/qqf1fzctMy1JSF5zXTp +qJWyBcRPoDfRFrW9SN6bscGR16Pjf7uv7VkhVx3vIO2iTak0NQwFpMuKigjWFlMH +n6RjKQ6d7Wk0P241U4yQERc2dZbq8TT613N8DKuVRNGl6YV0Bfhc9nBslMLqYeFq +lPS4Zo3DxQ71R6KKHkDxMJew4d7kiZWj9qBWZJ/mYyMk9UFPNgHCUC+Z3FPo4LDr +vR2NKD/OtQtoK6LP4hRTrhAqPlEAllwJtUGX+7oZlNQ+dPNlnb8Ld0V6HRyqdPLq +U6aSbQ== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/2E.pem b/rpkid/resource-cert-samples/RIR/2E.pem new file mode 100644 index 00000000..272d774d --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/2E.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 46 (0x2e) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:03:51 2007 GMT + Not After : Oct 28 16:03:51 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 51:ad:f6:e5:8b:1c:98:ed:f8:31:15:2c:ec:d5:be:9e:97:0d: + 4a:f8:ab:6d:dd:35:6c:57:d1:d7:f1:c6:e4:c7:1d:b9:e6:c9: + 5b:92:21:ec:64:79:9d:83:0f:5d:5e:5c:20:1b:8f:01:d5:a8: + e3:5f:7e:c3:0c:c2:3c:80:f7:f0:aa:e6:ff:c7:6a:16:7f:e7: + 94:dc:69:42:1b:dd:36:f0:45:61:f5:cd:1f:a7:6f:20:04:af: + 1e:6e:84:76:00:e2:6a:8d:02:81:31:a4:5f:3f:41:62:7a:87: + 21:0b:da:08:6a:d3:90:4b:fe:c3:48:99:92:23:c9:f6:35:0b: + d8:48:9d:44:8c:e5:26:79:62:7a:78:c6:4b:18:42:65:0b:63: + a0:63:18:15:e6:8d:1d:93:12:15:eb:c3:93:c8:7d:10:5a:8f: + 49:c5:a4:53:95:11:5c:db:f5:26:b7:2f:90:bd:6e:76:84:f9: + 57:90:96:f5:25:75:7f:18:c6:4c:bb:aa:6a:ce:72:6d:0a:a7: + 59:11:ea:9e:6f:b5:1f:5d:c9:db:f5:56:74:fe:ca:60:62:80: + b5:b1:6c:e7:24:d6:c4:c1:b0:05:0b:76:31:af:82:07:2d:9a: + a2:75:4d:18:54:0e:24:29:22:2d:02:ba:bd:51:cd:f0:02:6e: + 5b:6e:12:f8 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBLjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYwMzUxWhcNMDgxMDI4MTYwMzUxWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAUa325YscmO34MRUs7NW+npcNSvirbd01bFfR1/HG5McduebJW5Ih +7GR5nYMPXV5cIBuPAdWo419+wwzCPID38Krm/8dqFn/nlNxpQhvdNvBFYfXNH6dv +IASvHm6EdgDiao0CgTGkXz9BYnqHIQvaCGrTkEv+w0iZkiPJ9jUL2EidRIzlJnli +enjGSxhCZQtjoGMYFeaNHZMSFevDk8h9EFqPScWkU5URXNv1JrcvkL1udoT5V5CW +9SV1fxjGTLuqas5ybQqnWRHqnm+1H13J2/VWdP7KYGKAtbFs5yTWxMGwBQt2Ma+C +By2aonVNGFQOJCkiLQK6vVHN8AJuW24S+A== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/2F.pem b/rpkid/resource-cert-samples/RIR/2F.pem new file mode 100644 index 00000000..d7154c7c --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/2F.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 47 (0x2f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY RIR + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:ac:a7:26:c4:98:68:99:b6:f2:e7:c5:97:05:7e: + f9:d7:f2:ec:39:e6:2b:8e:c2:42:88:b9:8f:22:b6: + 3c:59:b0:0e:8a:1d:0e:f8:81:b1:c8:ff:4a:8a:1a: + 43:bc:78:91:3e:af:b2:b0:95:60:a9:3e:9d:c2:ff: + 99:8f:8f:b6:dc:d8:46:b7:86:35:a6:f6:42:05:c2: + c5:9b:84:15:e2:58:0f:70:9c:bc:53:d7:28:76:f8: + f2:14:79:22:bd:d6:8b:6c:0e:2b:02:e5:d8:f3:33: + fa:16:43:9b:80:87:f9:b2:45:ab:bd:7d:14:b2:24: + 2f:41:13:6f:45:c4:dc:f9:4d:7f:d8:d3:e1:aa:5c: + 52:9d:c9:7a:38:b7:b0:43:bd:b7:6a:37:43:ec:e7: + 34:c4:3b:4c:ca:cc:7b:1f:91:ef:ab:d4:35:76:42: + 82:d4:f5:79:e0:12:3c:24:92:2e:dc:a2:5c:83:f0: + 71:8a:26:96:30:d4:b8:96:4d:00:2c:1a:f0:0f:79: + 52:c7:27:73:54:77:c1:86:f9:86:61:ce:e0:69:a7: + a8:3d:77:39:e7:24:ee:41:8d:52:19:3b:57:8c:84: + cc:9a:d5:05:7c:e6:83:2c:e3:13:6d:66:1b:87:20: + 82:47:e1:05:26:f0:3b:29:69:6d:bc:af:48:91:c4: + 40:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + FB:B8:A7:A3:36:48:0A:A0:9F:F0:2E:DC:8B:68:BC:B3:5C:45:25:D7 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/RIR/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533-64540 + 64544 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 90:3c:6e:1d:89:9d:00:53:b4:b1:36:ea:2b:cf:21:d5:b2:77: + 66:be:da:ad:db:92:35:0d:83:55:f5:92:11:73:93:af:1a:ec: + 1d:7a:1a:84:8f:c0:61:29:f1:51:c7:a6:7c:95:7c:a8:38:40: + 57:6b:fc:51:38:fd:6b:8a:7a:58:d8:c6:36:a5:0d:9b:7a:b9: + b4:47:e1:a5:fc:66:b6:51:22:45:50:94:b4:f2:47:f2:a2:29: + 6a:33:6a:3c:26:44:c5:5a:17:ce:7a:f3:4a:46:0e:f4:fd:36: + 01:7c:c5:1e:59:bc:3a:e7:36:f3:64:d4:0c:7a:f7:6a:ef:11: + ae:32:5a:77:62:b3:e4:b3:9e:16:9f:11:28:cb:11:dd:79:ff: + a5:b8:3e:3f:fd:df:34:92:2f:f4:0e:d2:50:a8:80:a1:17:91: + 50:c7:d3:af:c5:6e:d8:ca:cd:28:e0:92:28:b3:c4:13:39:9d: + fc:a1:57:61:22:22:70:57:27:5f:33:72:17:a8:04:89:9d:44: + 9b:7d:1a:66:10:19:f3:b9:9c:17:48:22:71:c6:a5:e0:ba:00: + ab:a4:01:bb:c7:2b:8f:0f:25:8a:20:71:21:4f:c0:74:34:14: + e5:23:3a:70:48:c2:04:9a:93:97:29:f9:39:7b:ac:1a:e4:2b: + 0d:13:b6:b7 +-----BEGIN CERTIFICATE----- +MIIEEDCCAvigAwIBAgIBLzANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAaMRgw +FgYDVQQDEw9URVNUIEVOVElUWSBSSVIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCspybEmGiZtvLnxZcFfvnX8uw55iuOwkKIuY8itjxZsA6KHQ74gbHI +/0qKGkO8eJE+r7KwlWCpPp3C/5mPj7bc2Ea3hjWm9kIFwsWbhBXiWA9wnLxT1yh2 ++PIUeSK91otsDisC5djzM/oWQ5uAh/myRau9fRSyJC9BE29FxNz5TX/Y0+GqXFKd +yXo4t7BDvbdqN0Ps5zTEO0zKzHsfke+r1DV2QoLU9XngEjwkki7colyD8HGKJpYw +1LiWTQAsGvAPeVLHJ3NUd8GG+YZhzuBpp6g9dznnJO5BjVIZO1eMhMya1QV85oMs +4xNtZhuHIIJH4QUm8DspaW28r0iRxEDxAgMBAAGjggFfMIIBWzAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBT7uKejNkgKoJ/wLtyLaLyzXEUl1zAOBgNVHQ8BAf8E +BAMCAQYwQAYIKwYBBQUHAQsENDAyMDAGCCsGAQUFBzAFhiRyc3luYzovL3dvbWJh +dHMtci11cy5oYWN0cm4ubmV0L1JJUi8wJgYIKwYBBQUHAQgBAf8EFzAVoBMwETAK +AgMA/BUCAwD8HAIDAPwgMIGuBggrBgEFBQcBBwEB/wSBnjCBmzAyBAIAATAsAwQA +CgAAAwQACgMAMA4DBQDAAAIBAwUBwAACIDAOAwUCwAACLAMFAMAAAmQwZQQCAAIw +XzAmAxECIAENuAAAAAAAAAAAAAAARAMRACABDbgAAAAAAAAAAAAAAQADEAAgAQ24 +AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAAAAAKAwADEQAgAQ24AAAAAAAAABAAAABE +MA0GCSqGSIb3DQEBCwUAA4IBAQCQPG4diZ0AU7SxNuorzyHVsndmvtqt25I1DYNV +9ZIRc5OvGuwdehqEj8BhKfFRx6Z8lXyoOEBXa/xROP1rinpY2MY2pQ2berm0R+Gl +/Ga2USJFUJS08kfyoilqM2o8JkTFWhfOevNKRg70/TYBfMUeWbw65zbzZNQMevdq +7xGuMlp3YrPks54WnxEoyxHdef+luD4//d80ki/0DtJQqIChF5FQx9OvxW7Yys0o +4JIos8QTOZ38oVdhIiJwVydfM3IXqASJnUSbfRpmEBnzuZwXSCJxxqXgugCrpAG7 +xyuPDyWKIHEhT8B0NBTlIzpwSMIEmpOXKfk5e6wa5CsNE7a3 +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/30.pem b/rpkid/resource-cert-samples/RIR/30.pem new file mode 100644 index 00000000..c466f22e --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/30.pem @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 48 (0x30) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY LIR3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:a3:21:57:61:64:af:11:18:d4:cb:de:a6:dc:ad: + d9:2c:0f:0f:58:9f:7e:c8:85:55:11:26:4c:7c:f0: + 6b:68:1a:9e:6a:0c:8f:e6:dc:3d:83:58:2a:cc:77: + ac:19:73:6f:5a:f3:6e:24:ac:cd:1a:dc:1d:0b:4c: + 44:f5:6d:8b:0a:17:3d:86:f9:e8:fe:e6:60:e5:9f: + 40:6a:e5:94:e8:9a:56:17:17:1c:ab:c1:8c:37:40: + 2b:55:bf:2c:5e:dc:8d:ca:25:7f:8a:5f:ee:fb:16: + 86:eb:e0:08:d3:26:e5:e3:70:c5:0c:6b:fb:1b:8f: + 6b:5c:f6:e2:4a:58:a5:35:01:ea:05:1b:3e:ce:84: + be:b5:3f:6d:18:16:4b:68:e5:79:4c:88:7d:b6:a5: + 65:a3:3a:c2:32:dc:ad:8f:8a:05:ee:f6:e9:7a:80: + da:12:a9:0f:5a:b5:d2:d3:31:ac:3e:d3:19:25:2d: + 28:de:79:6c:ce:fd:77:66:d5:e3:2f:a9:cb:f9:85: + 8c:20:bb:a2:86:23:f0:93:95:20:04:78:c7:c7:07: + a6:fe:f0:f4:45:bb:cf:78:2b:dd:ce:9c:08:a5:46: + 68:10:4c:d7:05:62:6c:86:5a:2d:7f:06:38:c2:4d: + bb:44:87:00:43:79:d2:8f:f3:6b:b2:f4:5c:1c:b9: + 68:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 98:BE:04:FF:80:D1:AB:95:39:AA:3D:F2:0E:67:7D:00:AD:A3:FD:C5 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR3/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64534-64540 + + sbgp-ipAddrBlock: critical + IPv4: + 10.0.0.0/24 + 10.3.0.0/24 + IPv6: + 2001:db8:0:0:0:0:a00::/120 + 2001:db8:0:0:0:0:a03::/120 + + Signature Algorithm: sha256WithRSAEncryption + 18:25:58:2e:ac:98:93:f2:ce:b9:cf:fe:31:1d:4e:a4:64:bc: + f6:59:19:88:af:01:cb:72:68:04:4a:41:5f:d6:dc:86:f6:c3: + a3:83:06:ba:96:4c:fd:eb:26:a5:5d:64:07:08:fa:87:94:df: + 00:b2:44:2e:dd:23:f6:cb:6b:80:b4:65:3d:61:e1:4c:3f:de: + db:a1:90:0f:da:0d:f1:cc:7c:72:1d:0e:07:50:87:3b:76:4b: + 17:06:67:b8:a4:65:4e:94:7c:1e:e0:3f:99:3f:90:8e:9a:c5: + 42:6f:35:bb:78:48:6b:0f:83:59:b9:57:70:94:dc:ad:d9:c4: + c0:bb:72:9c:c4:0d:e9:d8:69:7b:f1:dc:72:52:95:38:3c:6c: + c0:ed:e9:19:f3:48:9c:e5:60:d9:46:55:66:ab:b2:fb:bd:cd: + f0:c3:43:eb:48:1a:86:1f:71:6a:b6:11:65:e2:88:43:ab:4e: + 69:a3:a7:ba:5c:09:f6:30:c5:93:f3:6a:72:be:9a:cf:5f:ba: + ea:3a:76:4f:43:03:13:12:4f:a6:ca:ed:c5:09:2f:2d:be:4a: + 02:50:05:7d:f5:2c:61:af:1b:79:31:ad:b1:3b:4c:61:b0:99: + 9f:95:19:ab:71:5f:b0:df:0f:9b:bf:38:42:a6:38:b3:a8:e8: + 2c:c1:68:13 +-----BEGIN CERTIFICATE----- +MIID9DCCAtygAwIBAgIBMDANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 +g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM +N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ +tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls +zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs +hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBQjCCAT4wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAh +BggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/ +BEIwQDASBAIAATAMAwQACgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAK +AAADEAAgAQ24AAAAAAAAAAAKAwAwDQYJKoZIhvcNAQELBQADggEBABglWC6smJPy +zrnP/jEdTqRkvPZZGYivActyaARKQV/W3Ib2w6ODBrqWTP3rJqVdZAcI+oeU3wCy +RC7dI/bLa4C0ZT1h4Uw/3tuhkA/aDfHMfHIdDgdQhzt2SxcGZ7ikZU6UfB7gP5k/ +kI6axUJvNbt4SGsPg1m5V3CU3K3ZxMC7cpzEDenYaXvx3HJSlTg8bMDt6RnzSJzl +YNlGVWarsvu9zfDDQ+tIGoYfcWq2EWXiiEOrTmmjp7pcCfYwxZPzanK+ms9fuuo6 +dk9DAxMST6bK7cUJLy2+SgJQBX31LGGvG3kxrbE7TGGwmZ+VGatxX7DfD5u/OEKm +OLOo6CzBaBM= +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/31.pem b/rpkid/resource-cert-samples/RIR/31.pem new file mode 100644 index 00000000..dcc97dd1 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/31.pem @@ -0,0 +1,95 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 49 (0x31) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY LIR2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:f1:18:b6:79:0b:35:c5:83:64:48:83:31:03:9e: + e7:72:28:65:b1:ac:61:e1:77:2e:c0:4d:f0:b1:1c: + 61:d8:cc:5a:2d:c7:0b:9b:78:7a:3e:fd:37:ad:fa: + b0:73:0b:9c:fc:bb:6f:60:ea:38:ef:ae:d1:27:b8: + 81:59:0f:b3:e7:d0:67:b2:a2:f5:4f:e2:04:c6:cc: + 13:9f:33:28:35:96:7a:db:ce:ac:9d:d3:64:3d:b8: + 44:bc:cb:43:22:92:d6:3c:2e:bf:97:6e:39:6a:6e: + 68:93:5d:1c:a8:58:b7:a3:7a:26:44:fe:fe:30:ad: + e2:05:89:4c:c9:ef:2c:e0:4e:31:69:3f:dd:91:1c: + f0:b0:25:4c:3e:84:8a:ea:5e:03:b3:a8:cd:90:1a: + 1e:c8:e0:af:fe:11:ed:21:06:bd:3c:5e:08:a1:93: + e2:41:43:43:38:d3:21:b3:4c:fa:85:8b:43:57:60: + 5d:bb:a0:78:e5:33:47:a8:33:76:be:df:6e:63:61: + e3:31:8b:5d:8e:0c:c7:f5:c8:91:0c:be:57:c7:f2: + bc:be:0b:ba:7a:1f:f6:19:f1:eb:00:74:c1:12:c2: + dc:2b:2e:8d:f0:0a:ff:7f:e8:60:08:90:ba:51:fc: + d0:90:11:37:f3:9e:44:b6:64:43:69:5d:61:d3:e1: + 8d:77 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 03:7A:DF:0C:DF:DC:93:3D:F7:A5:CC:27:7B:DC:22:F6:E9:55:97:F0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR2/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64544 + + sbgp-ipAddrBlock: critical + IPv6: + 2001:db8:0:0:0:0:0:44-2001:db8:0:0:0:0:0:100 + 2001:db8:0:0:0:10:0:44/128 + + Signature Algorithm: sha256WithRSAEncryption + 02:2b:a6:e7:ef:15:1e:a6:bf:dc:1f:4e:c5:5d:41:de:c2:82: + 03:1b:94:25:3e:35:3f:ed:ac:cc:25:49:cb:f2:a3:91:cb:33: + 72:3a:ef:f8:93:24:42:f9:3e:13:5d:50:07:6c:00:40:60:80: + 06:22:db:07:43:d2:58:17:37:bd:22:89:d2:8d:9f:a0:e3:7e: + 10:cd:e7:98:3d:4e:fa:5a:8b:05:23:b1:c6:88:9c:41:72:a9: + b7:7c:b8:a2:37:9f:76:6f:98:23:e2:90:02:75:dc:94:ae:3f: + 72:1d:51:53:f3:dc:ec:a1:00:28:6e:13:5f:66:4f:6e:4a:61: + c1:0e:4e:b9:db:4e:11:bc:d9:57:fd:07:05:6e:05:5d:7a:52: + ae:7f:d5:50:cf:e3:6b:ff:87:03:9f:6c:b2:aa:f4:28:c3:75: + 6d:09:bf:31:da:cb:40:fa:8f:ed:15:32:59:a7:9e:5b:8b:0d: + b2:4b:f1:1d:fd:37:ac:dc:6b:56:b5:64:1b:ce:56:12:41:e0: + d6:ff:7e:f4:84:f5:27:42:a2:2c:c5:b7:47:14:e1:f9:84:80: + a9:6e:cf:5f:64:40:ac:36:6e:03:f2:db:ae:e2:bf:ba:d4:98: + 99:35:21:6f:5d:d9:db:f1:a9:1b:dc:13:11:aa:86:e7:a8:bc: + aa:ee:dd:ce +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIBMTANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA8Ri2eQs1xYNkSIMxA57ncihlsaxh4XcuwE3wsRxh2MxaLccLm3h6 +Pv03rfqwcwuc/LtvYOo4767RJ7iBWQ+z59BnsqL1T+IExswTnzMoNZZ6286sndNk +PbhEvMtDIpLWPC6/l245am5ok10cqFi3o3omRP7+MK3iBYlMye8s4E4xaT/dkRzw +sCVMPoSK6l4Ds6jNkBoeyOCv/hHtIQa9PF4IoZPiQUNDONMhs0z6hYtDV2Bdu6B4 +5TNHqDN2vt9uY2HjMYtdjgzH9ciRDL5Xx/K8vgu6eh/2GfHrAHTBEsLcKy6N8Ar/ +f+hgCJC6UfzQkBE3855EtmRDaV1h0+GNdwIDAQABo4IBPjCCATowDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUA3rfDN/ckz33pcwne9wi9ulVl/AwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIyLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/CAwVAYIKwYBBQUHAQcBAf8ERTBDMEEE +AgACMDswJgMRAiABDbgAAAAAAAAAAAAAAEQDEQAgAQ24AAAAAAAAAAAAAAEAAxEA +IAENuAAAAAAAAAAQAAAARDANBgkqhkiG9w0BAQsFAAOCAQEAAium5+8VHqa/3B9O +xV1B3sKCAxuUJT41P+2szCVJy/Kjkcszcjrv+JMkQvk+E11QB2wAQGCABiLbB0PS +WBc3vSKJ0o2foON+EM3nmD1O+lqLBSOxxoicQXKpt3y4ojefdm+YI+KQAnXclK4/ +ch1RU/Pc7KEAKG4TX2ZPbkphwQ5OudtOEbzZV/0HBW4FXXpSrn/VUM/ja/+HA59s +sqr0KMN1bQm/MdrLQPqP7RUyWaeeW4sNskvxHf03rNxrVrVkG85WEkHg1v9+9IT1 +J0KiLMW3RxTh+YSAqW7PX2RArDZuA/LbruK/utSYmTUhb13Z2/GpG9wTEaqG56i8 +qu7dzg== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/32.pem b/rpkid/resource-cert-samples/RIR/32.pem new file mode 100644 index 00000000..348c6275 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/32.pem @@ -0,0 +1,94 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 50 (0x32) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=TEST ENTITY RIR + Validity + Not Before: Oct 29 16:32:33 2007 GMT + Not After : Oct 28 16:32:33 2008 GMT + Subject: CN=TEST ENTITY LIR1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:af:5d:1c:f9:d9:bb:d5:01:e1:5b:36:cc:51:f6: + fd:86:57:60:aa:9e:c7:ec:4e:05:af:fb:51:5c:7a: + c2:58:c4:a8:57:ae:14:62:e9:bc:b6:72:7d:cf:49: + c8:4a:40:82:4a:f4:3e:30:b5:94:25:9e:6c:78:81: + 57:43:d6:85:02:8d:d1:9c:b5:d7:34:2f:e2:a9:7d: + 18:27:b5:47:9a:42:16:c8:90:7f:96:2c:dd:b8:98: + 17:1f:77:62:4a:08:00:2d:e0:73:0c:39:37:ba:0f: + a7:59:59:4c:7c:cd:e2:5c:d7:98:36:10:6c:88:3e: + 45:99:a6:88:2f:f6:7f:31:49:ba:42:2b:13:79:c2: + b2:f1:09:d9:ad:37:a4:41:b6:6d:46:a1:18:05:a0: + 53:07:8e:e0:98:b2:d1:fd:67:68:77:64:d5:f3:fe: + 1d:22:36:9e:26:5a:1a:aa:18:94:c3:2c:7e:9a:af: + be:2c:9d:5e:75:2c:49:d6:37:2b:06:1f:cc:63:97: + 7e:ee:2c:5f:67:af:4d:62:3e:7a:1f:0c:e1:1e:02: + f2:d2:06:75:ae:3f:11:bc:8e:0f:13:64:38:14:36: + 1d:5d:02:ec:af:65:d5:b9:68:f4:22:66:2b:ef:47: + 5b:ad:3b:f2:af:b6:71:0c:94:56:8a:7c:01:36:f0: + 3a:3f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 8A:94:17:F9:53:F2:5B:94:54:56:DF:76:51:13:29:F6:71:19:A8:B3 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombats-r-us.hactrn.net/LIR1/ + + Authority Information Access: + CA Issuers - URI:rsync://wombats-r-us.hactrn.net/RIR.cer + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 64533 + + sbgp-ipAddrBlock: critical + IPv4: + 192.0.2.1-192.0.2.33 + 192.0.2.44-192.0.2.100 + + Signature Algorithm: sha256WithRSAEncryption + 71:ca:3c:b4:39:4f:ec:c2:ba:bd:c4:e5:9d:b8:9e:12:5a:0d: + af:f6:e0:f5:65:0c:54:ac:5c:17:d2:29:92:a4:84:ea:47:09: + 53:75:52:7c:af:67:11:7b:fb:35:14:77:9e:8e:34:a9:39:5a: + 87:65:7f:5e:e7:81:80:82:4b:b2:e4:07:c3:7d:1e:bf:0a:31: + ff:43:9c:66:31:b0:19:0a:ea:52:14:67:62:f6:91:15:5c:d4: + da:f7:bb:87:1c:9d:31:4c:0d:8c:f6:c9:1c:44:68:21:09:49: + a9:d7:cc:7f:54:c2:cd:44:09:98:e9:7c:73:a3:9d:36:38:e8: + e2:bd:16:19:94:fd:97:ff:91:ca:62:22:1a:ff:f7:2c:a0:b9: + 79:a4:07:84:37:bb:50:8b:6a:6b:25:9a:8e:3c:fb:4f:09:2b: + e1:75:c4:d4:2e:73:a2:cd:ce:f5:83:3c:a5:ca:33:f6:c8:39: + f8:dd:78:3f:61:05:7a:ae:09:3c:d4:bc:b1:4e:0d:4d:83:f8: + 77:6c:a0:ea:6d:e6:5d:df:c4:e4:e0:7f:0f:9c:da:d0:f1:3b: + 37:05:e4:77:1f:54:7b:d0:57:6d:55:dd:ba:41:ba:4b:90:df: + 54:8e:a3:cd:0c:a8:ae:c9:09:e8:02:a6:23:e3:f9:62:f8:0e: + 39:f7:87:f9 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIBMjANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDEw9URVNU +IEVOVElUWSBSSVIwHhcNMDcxMDI5MTYzMjMzWhcNMDgxMDI4MTYzMjMzWjAbMRkw +FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 +tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd +uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy +8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e +dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV +uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBIzCCAR8wDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwDgYDVR0PAQH/ +BAQDAgEGMEEGCCsGAQUFBwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21i +YXRzLXItdXMuaGFjdHJuLm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYB +BQUHMAKGJ3JzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAa +BggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYE +AgABMCAwDgMFAMAAAgEDBQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0B +AQsFAAOCAQEAcco8tDlP7MK6vcTlnbieEloNr/bg9WUMVKxcF9IpkqSE6kcJU3VS +fK9nEXv7NRR3no40qTlah2V/XueBgIJLsuQHw30evwox/0OcZjGwGQrqUhRnYvaR +FVzU2ve7hxydMUwNjPbJHERoIQlJqdfMf1TCzUQJmOl8c6OdNjjo4r0WGZT9l/+R +ymIiGv/3LKC5eaQHhDe7UItqayWajjz7Twkr4XXE1C5zos3O9YM8pcoz9sg5+N14 +P2EFeq4JPNS8sU4NTYP4d2yg6m3mXd/E5OB/D5za0PE7NwXkdx9Ue9BXbVXdukG6 +S5DfVI6jzQyorskJ6AKmI+P5YvgOOfeH+Q== +-----END CERTIFICATE----- diff --git a/rpkid/resource-cert-samples/RIR/index b/rpkid/resource-cert-samples/RIR/index new file mode 100644 index 00000000..66733b3b --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/index @@ -0,0 +1,50 @@ +V 080731054523Z 01 unknown /CN=TEST ENTITY RIR +V 080731054524Z 02 unknown /CN=TEST ENTITY LIR2 +V 080731054525Z 03 unknown /CN=TEST ENTITY LIR1 +V 080731140529Z 04 unknown /CN=TEST ENTITY RIR +V 080731140529Z 05 unknown /CN=TEST ENTITY LIR2 +V 080731140529Z 06 unknown /CN=TEST ENTITY LIR1 +V 080731140829Z 07 unknown /CN=TEST ENTITY RIR +V 080731140829Z 08 unknown /CN=TEST ENTITY LIR2 +V 080731140829Z 09 unknown /CN=TEST ENTITY LIR1 +V 080731140934Z 0A unknown /CN=TEST ENTITY RIR +V 080731140934Z 0B unknown /CN=TEST ENTITY LIR2 +V 080731140934Z 0C unknown /CN=TEST ENTITY LIR1 +V 080731144816Z 0D unknown /CN=TEST ENTITY RIR +V 080731144818Z 0E unknown /CN=TEST ENTITY LIR3 +V 080731144818Z 0F unknown /CN=TEST ENTITY LIR2 +V 080731144818Z 10 unknown /CN=TEST ENTITY LIR1 +V 080808233059Z 11 unknown /CN=TEST ENTITY RIR +V 080808233548Z 12 unknown /CN=TEST ENTITY RIR +V 080809005817Z 13 unknown /CN=TEST ENTITY RIR +V 080809005817Z 14 unknown /CN=TEST ENTITY LIR3 +V 080809005817Z 15 unknown /CN=TEST ENTITY LIR2 +V 080809005817Z 16 unknown /CN=TEST ENTITY LIR1 +V 080809010231Z 17 unknown /CN=TEST ENTITY RIR +V 080809010231Z 18 unknown /CN=TEST ENTITY LIR3 +V 080809010231Z 19 unknown /CN=TEST ENTITY LIR2 +V 080809010231Z 1A unknown /CN=TEST ENTITY LIR1 +V 080809010708Z 1B unknown /CN=TEST ENTITY RIR +V 080809010708Z 1C unknown /CN=TEST ENTITY LIR3 +V 080809010708Z 1D unknown /CN=TEST ENTITY LIR2 +V 080809010708Z 1E unknown /CN=TEST ENTITY LIR1 +V 080809011339Z 1F unknown /CN=TEST ENTITY RIR +V 080809011339Z 20 unknown /CN=TEST ENTITY LIR3 +V 080809011339Z 21 unknown /CN=TEST ENTITY LIR2 +V 080809011339Z 22 unknown /CN=TEST ENTITY LIR1 +V 080809011509Z 23 unknown /CN=TEST ENTITY RIR +V 080809011510Z 24 unknown /CN=TEST ENTITY LIR3 +V 080809011510Z 25 unknown /CN=TEST ENTITY LIR2 +V 080809011510Z 26 unknown /CN=TEST ENTITY LIR1 +V 081018190607Z 27 unknown /CN=TEST ENTITY RIR +V 081018190607Z 28 unknown /CN=TEST ENTITY LIR3 +V 081018190607Z 29 unknown /CN=TEST ENTITY LIR2 +V 081018190607Z 2A unknown /CN=TEST ENTITY LIR1 +V 081028160351Z 2B unknown /CN=TEST ENTITY RIR +V 081028160351Z 2C unknown /CN=TEST ENTITY LIR3 +V 081028160351Z 2D unknown /CN=TEST ENTITY LIR2 +V 081028160351Z 2E unknown /CN=TEST ENTITY LIR1 +V 081028163233Z 2F unknown /CN=TEST ENTITY RIR +V 081028163233Z 30 unknown /CN=TEST ENTITY LIR3 +V 081028163233Z 31 unknown /CN=TEST ENTITY LIR2 +V 081028163233Z 32 unknown /CN=TEST ENTITY LIR1 diff --git a/rpkid/resource-cert-samples/RIR/index.attr b/rpkid/resource-cert-samples/RIR/index.attr new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/index.attr @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/RIR/index.attr.old b/rpkid/resource-cert-samples/RIR/index.attr.old new file mode 100644 index 00000000..3a7e39e6 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/index.attr.old @@ -0,0 +1 @@ +unique_subject = no diff --git a/rpkid/resource-cert-samples/RIR/index.old b/rpkid/resource-cert-samples/RIR/index.old new file mode 100644 index 00000000..e5d3f927 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/index.old @@ -0,0 +1,49 @@ +V 080731054523Z 01 unknown /CN=TEST ENTITY RIR +V 080731054524Z 02 unknown /CN=TEST ENTITY LIR2 +V 080731054525Z 03 unknown /CN=TEST ENTITY LIR1 +V 080731140529Z 04 unknown /CN=TEST ENTITY RIR +V 080731140529Z 05 unknown /CN=TEST ENTITY LIR2 +V 080731140529Z 06 unknown /CN=TEST ENTITY LIR1 +V 080731140829Z 07 unknown /CN=TEST ENTITY RIR +V 080731140829Z 08 unknown /CN=TEST ENTITY LIR2 +V 080731140829Z 09 unknown /CN=TEST ENTITY LIR1 +V 080731140934Z 0A unknown /CN=TEST ENTITY RIR +V 080731140934Z 0B unknown /CN=TEST ENTITY LIR2 +V 080731140934Z 0C unknown /CN=TEST ENTITY LIR1 +V 080731144816Z 0D unknown /CN=TEST ENTITY RIR +V 080731144818Z 0E unknown /CN=TEST ENTITY LIR3 +V 080731144818Z 0F unknown /CN=TEST ENTITY LIR2 +V 080731144818Z 10 unknown /CN=TEST ENTITY LIR1 +V 080808233059Z 11 unknown /CN=TEST ENTITY RIR +V 080808233548Z 12 unknown /CN=TEST ENTITY RIR +V 080809005817Z 13 unknown /CN=TEST ENTITY RIR +V 080809005817Z 14 unknown /CN=TEST ENTITY LIR3 +V 080809005817Z 15 unknown /CN=TEST ENTITY LIR2 +V 080809005817Z 16 unknown /CN=TEST ENTITY LIR1 +V 080809010231Z 17 unknown /CN=TEST ENTITY RIR +V 080809010231Z 18 unknown /CN=TEST ENTITY LIR3 +V 080809010231Z 19 unknown /CN=TEST ENTITY LIR2 +V 080809010231Z 1A unknown /CN=TEST ENTITY LIR1 +V 080809010708Z 1B unknown /CN=TEST ENTITY RIR +V 080809010708Z 1C unknown /CN=TEST ENTITY LIR3 +V 080809010708Z 1D unknown /CN=TEST ENTITY LIR2 +V 080809010708Z 1E unknown /CN=TEST ENTITY LIR1 +V 080809011339Z 1F unknown /CN=TEST ENTITY RIR +V 080809011339Z 20 unknown /CN=TEST ENTITY LIR3 +V 080809011339Z 21 unknown /CN=TEST ENTITY LIR2 +V 080809011339Z 22 unknown /CN=TEST ENTITY LIR1 +V 080809011509Z 23 unknown /CN=TEST ENTITY RIR +V 080809011510Z 24 unknown /CN=TEST ENTITY LIR3 +V 080809011510Z 25 unknown /CN=TEST ENTITY LIR2 +V 080809011510Z 26 unknown /CN=TEST ENTITY LIR1 +V 081018190607Z 27 unknown /CN=TEST ENTITY RIR +V 081018190607Z 28 unknown /CN=TEST ENTITY LIR3 +V 081018190607Z 29 unknown /CN=TEST ENTITY LIR2 +V 081018190607Z 2A unknown /CN=TEST ENTITY LIR1 +V 081028160351Z 2B unknown /CN=TEST ENTITY RIR +V 081028160351Z 2C unknown /CN=TEST ENTITY LIR3 +V 081028160351Z 2D unknown /CN=TEST ENTITY LIR2 +V 081028160351Z 2E unknown /CN=TEST ENTITY LIR1 +V 081028163233Z 2F unknown /CN=TEST ENTITY RIR +V 081028163233Z 30 unknown /CN=TEST ENTITY LIR3 +V 081028163233Z 31 unknown /CN=TEST ENTITY LIR2 diff --git a/rpkid/resource-cert-samples/RIR/serial b/rpkid/resource-cert-samples/RIR/serial new file mode 100644 index 00000000..bb95160c --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/serial @@ -0,0 +1 @@ +33 diff --git a/rpkid/resource-cert-samples/RIR/serial.old b/rpkid/resource-cert-samples/RIR/serial.old new file mode 100644 index 00000000..f5c89552 --- /dev/null +++ b/rpkid/resource-cert-samples/RIR/serial.old @@ -0,0 +1 @@ +32 diff --git a/rpkid/rootd.cer b/rpkid/rootd.cer new file mode 100644 index 00000000..205fee80 --- /dev/null +++ b/rpkid/rootd.cer @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + a7:85:aa:b9:ac:55:06:68 + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=Completely Bogus Test Root (NOT FOR PRODUCTION USE) + Validity + Not Before: Nov 7 01:24:37 2007 GMT + Not After : Dec 7 01:24:37 2007 GMT + Subject: CN=Completely Bogus Test Root (NOT FOR PRODUCTION USE) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (2048 bit) + Modulus (2048 bit): + 00:b1:b5:66:85:a4:cc:91:81:15:0c:de:bf:dc:fe: + 53:bd:34:20:ed:b0:3b:be:25:8c:1e:ab:da:07:20: + cd:c3:c0:22:22:1a:0e:dc:38:c8:3a:c2:35:23:9a: + 1f:91:32:ea:29:53:fc:be:4a:ce:f1:c2:23:44:16: + 0d:cc:9c:c5:02:b7:06:53:46:b1:20:60:c2:73:3c: + f8:c2:61:15:c5:c8:65:b9:cd:5d:56:ef:03:e9:44: + 80:27:f1:f8:d5:28:d6:f1:be:6b:51:d8:5e:24:26: + 8e:5e:29:2d:3d:6b:ac:1c:ce:d9:d1:51:00:22:2c: + fb:64:a4:c4:4d:0c:ce:45:10:a0:d6:a1:b5:ac:fa: + 4f:1d:41:78:f8:6c:87:8b:e4:52:0c:25:66:6b:75: + 42:1e:10:a6:fe:e6:17:2f:ad:07:f7:bc:a8:f3:57: + c9:1c:b4:95:e7:f1:19:2d:ab:a6:ef:6d:b2:dd:6e: + fe:c2:bb:1a:1c:d5:dd:21:e9:d7:92:27:0b:bb:df: + f0:3b:6e:ad:f1:21:55:d1:6e:e2:cc:0b:05:0f:25: + 5a:4a:5b:d2:9b:74:f0:2f:fc:c3:45:37:68:ac:6a: + d5:3b:f6:09:dd:41:fd:f7:48:47:f9:ab:93:2b:79: + 8f:47:ae:d9:34:69:42:f8:60:46:a0:52:d7:b2:a3: + 17:55 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + BC:C8:FF:91:73:B7:5F:60:75:A9:CC:2A:5C:DC:CE:AC:83:A0:04:F1 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Subject Information Access: + 1.3.6.1.5.5.7.48.5 - URI:rsync://wombat.invalid/ + + sbgp-autonomousSysNum: critical + Autonomous System Numbers: + 1-65535 + + sbgp-ipAddrBlock: critical + IPv4: + 0.0.0.0/0 + IPv6: + :/0 + + Signature Algorithm: sha256WithRSAEncryption + 9b:05:00:c1:1c:2a:4e:5f:52:1e:2a:2b:c5:46:2e:e9:a4:2f: + 4c:a8:4a:67:08:56:e9:62:70:7c:0b:48:c2:13:46:89:7b:31: + ba:60:ad:0d:62:0d:fe:df:05:f6:2f:ab:73:ae:4a:1a:b0:7a: + 77:7a:11:66:a2:09:6c:99:b6:bc:b2:a6:f5:06:e4:8e:d7:4d: + 09:a4:0f:35:11:51:1d:22:42:4e:1a:93:a8:fd:dc:b0:d5:d6: + 16:cf:30:a8:c4:fa:21:47:c0:97:ed:26:71:e7:a0:05:d2:8d: + 68:f0:b9:cb:48:00:da:d4:c2:18:94:b3:fa:22:f8:57:d1:76: + b4:7f:b9:b3:95:21:07:1a:56:71:3d:51:6e:2e:cd:93:ff:48: + a0:7c:4a:eb:c3:e0:0a:30:19:4e:b4:8d:d0:33:b8:3b:e8:43: + dd:c0:76:76:b8:ff:07:ad:10:67:7f:09:d4:54:86:3d:61:87: + c4:56:c4:be:f5:4a:9e:5a:aa:35:a3:10:33:ae:86:e6:10:3b: + 2a:6b:d7:3d:cb:3e:c8:94:d8:d3:c0:9a:f6:ae:14:f7:1c:f4: + 13:2f:14:45:bb:12:55:00:84:1c:e7:24:f0:f2:a8:42:c0:59: + 9c:bb:25:ed:f5:fa:46:6f:43:89:2e:e6:ad:75:c1:ff:df:52: + 25:85:c3:37 +-----BEGIN CERTIFICATE----- +MIIDwjCCAqqgAwIBAgIJAKeFqrmsVQZoMA0GCSqGSIb3DQEBCwUAMD4xPDA6BgNV +BAMTM0NvbXBsZXRlbHkgQm9ndXMgVGVzdCBSb290IChOT1QgRk9SIFBST0RVQ1RJ +T04gVVNFKTAeFw0wNzExMDcwMTI0MzdaFw0wNzEyMDcwMTI0MzdaMD4xPDA6BgNV +BAMTM0NvbXBsZXRlbHkgQm9ndXMgVGVzdCBSb290IChOT1QgRk9SIFBST0RVQ1RJ +T04gVVNFKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG1ZoWkzJGB +FQzev9z+U700IO2wO74ljB6r2gcgzcPAIiIaDtw4yDrCNSOaH5Ey6ilT/L5KzvHC +I0QWDcycxQK3BlNGsSBgwnM8+MJhFcXIZbnNXVbvA+lEgCfx+NUo1vG+a1HYXiQm +jl4pLT1rrBzO2dFRACIs+2SkxE0MzkUQoNahtaz6Tx1BePhsh4vkUgwlZmt1Qh4Q +pv7mFy+tB/e8qPNXyRy0lefxGS2rpu9tst1u/sK7GhzV3SHp15InC7vf8DturfEh +VdFu4swLBQ8lWkpb0pt08C/8w0U3aKxq1Tv2Cd1B/fdIR/mrkyt5j0eu2TRpQvhg +RqBS17KjF1UCAwEAAaOBwjCBvzAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS8 +yP+Rc7dfYHWpzCpc3M6sg6AE8TAOBgNVHQ8BAf8EBAMCAQYwMwYIKwYBBQUHAQsE +JzAlMCMGCCsGAQUFBzAFhhdyc3luYzovL3dvbWJhdC5pbnZhbGlkLzAfBggrBgEF +BQcBCAEB/wQQMA6gDDAKMAgCAQECAwD//zAnBggrBgEFBQcBBwEB/wQYMBYwCQQC +AAEwAwMBADAJBAIAAjADAwEAMA0GCSqGSIb3DQEBCwUAA4IBAQCbBQDBHCpOX1Ie +KivFRi7ppC9MqEpnCFbpYnB8C0jCE0aJezG6YK0NYg3+3wX2L6tzrkoasHp3ehFm +oglsmba8sqb1BuSO100JpA81EVEdIkJOGpOo/dyw1dYWzzCoxPohR8CX7SZx56AF +0o1o8LnLSADa1MIYlLP6IvhX0Xa0f7mzlSEHGlZxPVFuLs2T/0igfErrw+AKMBlO +tI3QM7g76EPdwHZ2uP8HrRBnfwnUVIY9YYfEVsS+9UqeWqo1oxAzrobmEDsqa9c9 +yz7IlNjTwJr2rhT3HPQTLxRFuxJVAIQc5yTw8qhCwFmcuyXt9fpGb0OJLuatdcH/ +31IlhcM3 +-----END CERTIFICATE----- diff --git a/rpkid/rootd.cnf b/rpkid/rootd.cnf new file mode 100644 index 00000000..1e400c04 --- /dev/null +++ b/rpkid/rootd.cnf @@ -0,0 +1,30 @@ +# $Id$ +# +# Generate test root resource certificate for use with rootd.py server. + +[ req ] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[ req_dn ] +CN = Completely Bogus Test Root (NOT FOR PRODUCTION USE) + +[ req_x509_ext ] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombat.invalid/ +sbgp-autonomousSysNum = critical,@req_asid_ext +sbgp-ipAddrBlock = critical,@req_addr_ext + +[ req_asid_ext ] + +AS.0 = 1-65535 + +[ req_addr_ext ] + +IPv4.0 = 0.0.0.0/0 +IPv6.0 = 0::/0 diff --git a/rpkid/rootd.key b/rpkid/rootd.key new file mode 100644 index 00000000..d97fc64d --- /dev/null +++ b/rpkid/rootd.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAsbVmhaTMkYEVDN6/3P5TvTQg7bA7viWMHqvaByDNw8AiIhoO +3DjIOsI1I5ofkTLqKVP8vkrO8cIjRBYNzJzFArcGU0axIGDCczz4wmEVxchluc1d +Vu8D6USAJ/H41SjW8b5rUdheJCaOXiktPWusHM7Z0VEAIiz7ZKTETQzORRCg1qG1 +rPpPHUF4+GyHi+RSDCVma3VCHhCm/uYXL60H97yo81fJHLSV5/EZLaum722y3W7+ +wrsaHNXdIenXkicLu9/wO26t8SFV0W7izAsFDyVaSlvSm3TwL/zDRTdorGrVO/YJ +3UH990hH+auTK3mPR67ZNGlC+GBGoFLXsqMXVQIDAQABAoIBAG5CxlzPltoFBGGa +5+Kfrqdra67utPLS6zCwojPgB6uYT9Vm46eCV8IVc9EmNMXrmFySLvSHCAX61dTN +9jvpXVfE5djPuOEFCEFmKFa61D6Gi4+QO4TQAlY+2WFvglwH3e3an04F+MtnXNhR +pi9A2mZ5da6pGnMaA9U7Yk0IUAeLMva/WfsMtY3+HvTyjNfYtULAOw82nuC4wddc +SYAOlFL9dw/QJ1bICddVoV0HfyiSJgGWQZbVGFacTeh8w6ir47sXxTOvWiCiUWYn +gDuhknDI7yXAFIUZYSiJKlJfrSLrbfPEg3l8xNvwZR0FCVZLdrmldhVNSyLg2II8 +IALn92ECgYEA6RcuOx29gjdz9uwFxlkEMYpVKLGOEBABGeSCo8dyFmbBKY1iw22e +OzSDzVAQoaPk6Fqgbs0XNsrpDpkqoejnrXeqgK6BlyikcE4qelnWXWEvDQy+1tXs +nJsS9jHGVEr0e+aUGhJAJn9pO3TbDtQnswwbxmLkvSGy35SnNMSAfFkCgYEAwyy/ +dNP02y8zEdpt+8CHysOEnnS/VlJvDXoYGVu6AZ3dWPLwxymJC2YGdxGLqHpVkoNI +oKlNFrnRbhYMbMIGFOJr6pvTDsM4zxJ0wy86PSE1Oid9JqZwXrNJqnPo861nNW86 +xRopLlZjsQ2RU0VNiPjYgoriaDXOAvTzppzr410CgYA0ddEj4Per/QsOgeRy1coJ +1FaCSCPvHYsB5to4PkVBIXNMBNQ7o8o/DPy1EtYLazWzzeHZzjLxVA3MCVD9C8xI +0GwBdkUYXj9UP2N0EhAbCCpsx3eUJqWQQZ6s5lr60bvgvu6KR51EjNyEUzKSTdF5 +jLobllpg7tqxU2WmjKtWUQKBgHUVXAlmuaXfa8CTC5WSCyQdJGq2WK4dJ5erHdfg +ifY8ULPykXS4uwjGfKxjLyezs6//58rRpXgzoqpquatovaM7rUeBkRxzCppWVQte +Qo63ZCnt1IsiH5j/7vo9LIs6BAcvIc9qAThWBNoK7JpKodfAiInPbUDcvihR7/SM +gInVAoGBAKLrNc91EygUaXJR92z/PzEoNI6UGYAbP+z0bmn67jpPLxCjN2aZRUkm +18MElOmSoedsf+dIcqOHdWvoyiDHVo2i0yxRy0nD54VVH2ZqS2fRLX6+pnCE0XiI +ulAAjPazIPG5XOugl17O7cKsPAI/uF7bWRcg4OLjXQy7XvPPMoR3 +-----END RSA PRIVATE KEY----- diff --git a/rpkid/rootd.py b/rpkid/rootd.py new file mode 100755 index 00000000..212e6469 --- /dev/null +++ b/rpkid/rootd.py @@ -0,0 +1,202 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +Trivial RPKI up-down protocol root server, for testing. Not suitable +for production use. Overrides a bunch of method definitions from the +rpki.* classes in order to reuse as much code as possible. + +Usage: python rootd.py [ { -c | --config } configfile ] [ { -h | --help } ] + +Default configuration file is rootd.conf, override with --config option. +""" + +import traceback, os, time, getopt, sys, lxml +import rpki.resource_set, rpki.up_down, rpki.left_right, rpki.x509 +import rpki.https, rpki.config, rpki.cms, rpki.exceptions, rpki.relaxng +import rpki.sundial, rpki.log + +rpki_subject_lifetime = rpki.sundial.timedelta(days = 30) + +def get_subject_cert(): + try: + x = rpki.x509.X509(Auto_file = rpki_subject_filename) + return x + except IOError: + return None + +def set_subject_cert(cert): + f = open(rpki_subject_filename, "wb") + f.write(cert.get_DER()) + f.close() + +def del_subject_cert(): + os.remove(rpki_subject_filename) + +def stash_subject_pkcs10(pkcs10): + if rpki_pkcs10_filename: + f = open(rpki_pkcs10_filename, "wb") + f.write(pkcs10.get_DER()) + f.close() + +def compose_response(r_msg): + rc = rpki.up_down.class_elt() + rc.class_name = rootd_name + rc.cert_url = rpki.up_down.multi_uri(rootd_cert) + rc.from_resource_bag(rpki_issuer.get_3779resources()) + rc.issuer = rpki_issuer + r_msg.payload.classes.append(rc) + rpki_subject = get_subject_cert() + if rpki_subject is not None: + rc.certs.append(rpki.up_down.certificate_elt()) + rc.certs[0].cert_url = rpki.up_down.multi_uri(rootd_cert) + rc.certs[0].cert = rpki_subject + +class list_pdu(rpki.up_down.list_pdu): + def serve_pdu(self, xxx1, q_msg, r_msg, xxx2): + r_msg.payload = rpki.up_down.list_response_pdu() + compose_response(r_msg) + +class issue_pdu(rpki.up_down.issue_pdu): + def serve_pdu(self, xxx1, q_msg, r_msg, xxx2): + stash_subject_pkcs10(self.pkcs10) + self.pkcs10.check_valid_rpki() + r_msg.payload = rpki.up_down.issue_response_pdu() + rpki_subject = get_subject_cert() + if rpki_subject is None: + resources = rpki_issuer.get_3779resources() + rpki.log.info("Generating subject cert with resources " + str(resources)) + req_key = self.pkcs10.getPublicKey() + req_sia = self.pkcs10.get_SIA() + crldp = rootd_base + rpki_issuer.gSKI() + ".crl" + set_subject_cert(rpki_issuer.issue(keypair = rpki_key, + subject_key = req_key, + serial = int(time.time()), + sia = req_sia, + aia = rootd_cert, + crldp = crldp, + resources = resources, + notAfter = rpki.sundial.datetime.utcnow() + rpki_subject_lifetime)) + now = rpki.sundial.datetime.utcnow() + crl = rpki.x509.CRL.generate( + keypair = rpki_key, + issuer = rpki_issuer, + serial = 1, + thisUpdate = now, + nextUpdate = now + rpki_subject_lifetime, + revokedCertificates = ()) + f = open(os.path.dirname(rpki_subject_filename) + "/" + rpki_issuer.gSKI() + ".crl", "wb") + f.write(crl.get_DER()) + f.close() + compose_response(r_msg) + +class revoke_pdu(rpki.up_down.revoke_pdu): + def serve_pdu(self, xxx1, q_msg, r_msg, xxx2): + rpki_subject = get_subject_cert() + if rpki_subject is None or rpki_subject.gSKI() != self.ski: + raise rpki.exceptions.NotInDatabase + del_subject_cert() + r_msg.payload = rpki.up_down.revoke_response_pdu() + r_msg.payload.class_name = self.class_name + r_msg.payload.ski = self.ski + +class message_pdu(rpki.up_down.message_pdu): + name2type = { + "list" : list_pdu, + "list_response" : rpki.up_down.list_response_pdu, + "issue" : issue_pdu, + "issue_response" : rpki.up_down.issue_response_pdu, + "revoke" : revoke_pdu, + "revoke_response" : rpki.up_down.revoke_response_pdu, + "error_response" : rpki.up_down.error_response_pdu } + type2name = dict((v,k) for k,v in name2type.items()) + +class sax_handler(rpki.sax_utils.handler): + def create_top_level(self, name, attrs): + return message_pdu() + +def up_down_handler(query, path): + try: + q_elt = rpki.cms.xml_verify(query, cms_ta) + rpki.relaxng.up_down.assertValid(q_elt) + q_msg = sax_handler.saxify(q_elt) + except Exception, data: + rpki.log.error(traceback.format_exc()) + return 400, "Could not process PDU: %s" % data + try: + r_msg = q_msg.serve_top_level(None, None) + r_elt = r_msg.toXML() + try: + rpki.relaxng.up_down.assertValid(r_elt) + except lxml.etree.DocumentInvalid: + rpki.log.debug(lxml.etree.tostring(r_elt, pretty_print = True, encoding ="utf-8", xml_declaration = True)) + raise + return 200, rpki.cms.xml_sign(r_elt, cms_key, cms_certs, encoding = "utf-8") + except Exception, data: + rpki.log.error(traceback.format_exc()) + try: + r_msg = q_msg.serve_error(data) + r_elt = r_msg.toXML() + rpki.relaxng.up_down.assertValid(r_elt) + return 200, rpki.cms.xml_sign(r_elt, cms_key, cms_certs, encoding = "utf-8") + except Exception, data: + rpki.log.error(traceback.format_exc()) + return 500, "Could not process PDU: %s" % data + +os.environ["TZ"] = "UTC" +time.tzset() + +rpki.log.init("rootd") + +cfg_file = "rootd.conf" + +opts,argv = getopt.getopt(sys.argv[1:], "c:h?", ["config=", "help"]) +for o,a in opts: + if o in ("-h", "--help", "-?"): + print __doc__ + sys.exit(0) + if o in ("-c", "--config"): + cfg_file = a +if argv: + raise RuntimeError, "Unexpected arguments %s" % argv + +cfg = rpki.config.parser(cfg_file, "rootd") + +cms_ta = rpki.x509.X509(Auto_file = cfg.get("cms-ta")) +cms_key = rpki.x509.RSA(Auto_file = cfg.get("cms-key")) +cms_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("cms-certs")) + +https_key = rpki.x509.RSA(Auto_file = cfg.get("https-key")) +https_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-certs")) + +https_server_host = cfg.get("server-host", "") +https_server_port = int(cfg.get("server-port")) + +rpki_key = rpki.x509.RSA(Auto_file = cfg.get("rpki-key")) +rpki_issuer = rpki.x509.X509(Auto_file = cfg.get("rpki-issuer")) + +rpki_subject_filename = cfg.get("rpki-subject-filename") +rpki_pkcs10_filename = cfg.get("rpki-pkcs10-filename", "") + +rootd_name = cfg.get("rootd_name", "wombat") +rootd_base = cfg.get("rootd_base", "rsync://" + rootd_name + ".invalid/") +rootd_cert = cfg.get("rootd_cert", rootd_base + "rootd.cer") + +rpki.https.server(privateKey = https_key, + certChain = https_certs, + host = https_server_host, + port = https_server_port, + handlers = up_down_handler) diff --git a/rpkid/rootd.sh b/rpkid/rootd.sh new file mode 100644 index 00000000..50f2e90f --- /dev/null +++ b/rpkid/rootd.sh @@ -0,0 +1,143 @@ +#!/bin/sh - +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# Script to test against rootd.py. +# +# This blows away rpkid's database and rebuilds it with what we need +# for this test, and knows far too much about the id numbers that +# rpkid and mysql will assign. In the long run we must do better than +# this, but gotta start somewhere. + +openssl=../openssl/openssl/apps/openssl + +# Halt on first error + +set -e + +# Generate new key and cert for rootd.py if needed + +if test ! -r rootd.cer -o ! -r rootd.key +then + $openssl req -new -newkey rsa:2048 -nodes -keyout rootd.key -out rootd.req -config rootd.cnf + $openssl x509 -req -in rootd.req -out rootd.cer -extfile rootd.cnf -extensions req_x509_ext -signkey rootd.key -text -sha256 + rm -f rootd.req +fi + +# Blow away old rpkid database (!) so we can start clean + +mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <../docs/rpki-db-schema.sql + +# Start rpkid so we can configure it, make sure we shut it down on exit + +python rpkid.py & rpkid=$! +trap "kill $rpkid" 0 1 2 3 13 15 + +: Waiting to let rpkid start up; sleep 5 + +# Create a self instance + +time python irbe-cli.py self --action create --crl_interval 84600 + +# Create a business signing context, issue the necessary business cert, and set up the cert chain + +time python irbe-cli.py --pem_out bsc.req bsc --action create --self_id 1 --generate_keypair --signing_cert biz-certs/Bob-CA.cer +time $openssl x509 -req -in bsc.req -out bsc.cer -CA biz-certs/Bob-CA.cer -CAkey biz-certs/Bob-CA.key -CAserial biz-certs/Bob-CA.srl +time python irbe-cli.py bsc --action set --self_id 1 --bsc_id 1 --signing_cert bsc.cer +rm -f bsc.req bsc.cer + +# Create a repository context + +time python irbe-cli.py repository --self_id 1 --action create --bsc_id 1 + +# Create a parent context pointing at rootd.py + +time python irbe-cli.py parent --self_id 1 --action create --bsc_id 1 --repository_id 1 \ + --peer_contact_uri https://localhost:44333/ \ + --cms_ta biz-certs/Elena-Root.cer \ + --https_ta biz-certs/Elena-Root.cer \ + --sia_base rsync://wombat.invalid/ \ + --sender_name tweedledee \ + --recipient_name tweedledum + +# Create a child context + +time python irbe-cli.py child --self_id 1 --action create --bsc_id 1 --cms_ta biz-certs/Frank-Root.cer + +# Need to link irdb to created child and clear conflicting links. +# For now, just do this "manually" in MySQL CLI. + +echo ' + UPDATE registrant SET rpki_self_id = NULL, rpki_child_id = NULL; + UPDATE registrant SET rpki_self_id = 1, rpki_child_id = 1 WHERE subject_name = "Epilogue Technology Corporation"; +' | +mysql -u irdb -p`awk '$1 == "sql-password" {print $3}' irbe.conf` irdb + +if test "$1" = "run" +then + + rm -rf publication + + python rootd.py & rootd=$! + python irdbd.py & irdbd=$! + trap "kill $rpkid $irdbd $rootd" 0 1 2 3 13 15 + + : Waiting to let daemons start up; sleep 5 + + date; time python cronjob.py + date; time python testpoke.py -r list + date; time python testpoke.py -r issue + + date; time python cronjob.py + date; time python testpoke.py -r list + date; time python testpoke.py -r issue + + date; python testpoke.py -r issue | + qh | + sed -n '/^(certificate/,/^)certificate/s/^-//p' | + mimencode -u | + $openssl x509 -noout -inform DER -text + + date; time python testpoke.py -r revoke + date; time python testpoke.py -r list + date; time python cronjob.py + date; time python testpoke.py -r list + + date; time python cronjob.py + date; time python testpoke.py -r list + date; time python testpoke.py -r issue + + date; time python testpoke.py -r revoke + date; time python testpoke.py -r list + date; time python cronjob.py + date; time python testpoke.py -r list + + date; time python testpoke.py -r issue + date; time python testpoke.py -r revoke + date; time python testpoke.py -r issue + date; time python testpoke.py -r revoke + date; time python testpoke.py -r issue + date; time python testpoke.py -r revoke + date; time python testpoke.py -r list + date; time python cronjob.py + date; time python testpoke.py -r list + + date; time python testpoke.py -r issue + date; time python cronjob.py + date; time python testpoke.py -r list + date + +fi diff --git a/rpkid/rootd.yaml b/rpkid/rootd.yaml new file mode 100644 index 00000000..2ee5dcd4 --- /dev/null +++ b/rpkid/rootd.yaml @@ -0,0 +1,24 @@ +# $Id$ +--- +version: 1 +posturl: https://localhost:4401/up-down/1 +recipient-id: "rootd" +sender-id: "RIR" + +cms-cert-file: RIR-RPKI-EE.cer +cms-key-file: RIR-RPKI-EE.key +cms-ca-cert-file: rootd-TA.cer +cms-cert-chain-file: [ RIR-RPKI-CA.cer ] + +ssl-cert-file: RIR-RPKI-EE.cer +ssl-key-file: RIR-RPKI-EE.key +ssl-ca-cert-file: rootd-TA.cer + +requests: + list: + type: list + issue: + type: issue + class: 1 + sia: + - rsync://localhost:4400/testbed/RIR/ diff --git a/rpkid/rpki/Doxyfile b/rpkid/rpki/Doxyfile new file mode 100644 index 00000000..276c0967 --- /dev/null +++ b/rpkid/rpki/Doxyfile @@ -0,0 +1,1269 @@ +# $Id$ + +# Doxyfile 1.5.2 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file that +# follow. The default is UTF-8 which is also the encoding used for all text before +# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into +# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of +# possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "Resource PKI Engine" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = RPKI + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, +# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, +# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, +# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to +# include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = YES + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from the +# version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = "perl -e '@a = split(q( ), qx(svn stat -v $ARGV[0])); shift @a until $a[0] =~ /^[0-9]+$/ or @a == 0; shift @a; print shift(@a), qq(\n)'" + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = . + +# This tag can be used to specify the character encoding of the source files that +# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default +# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. +# See http://www.gnu.org/software/libiconv for the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py + +FILE_PATTERNS = *.py + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the output. +# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, +# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = YES + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = letter + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = YES + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = YES + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to +# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to +# specify the directory where the mscgen tool resides. If left empty the tool is assumed to +# be found in the default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = NO + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = NO + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a caller dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. + +CALLER_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = NO + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen will always +# show the root nodes and its direct children regardless of this setting. + +DOT_GRAPH_MAX_NODES = 50 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, which results in a white background. +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = NO + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/rpkid/rpki/__init__.py b/rpkid/rpki/__init__.py new file mode 100644 index 00000000..610edbb3 --- /dev/null +++ b/rpkid/rpki/__init__.py @@ -0,0 +1,42 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# This file exists to tell Python that this the content of this +# directory constitute a Python package. Since we're not doing +# anything exotic, this file doesn't need to contain any code, but +# since its existance defines the package, it's as sensible a place as +# any to put the Doxygen mainpage. + +## @mainpage +## +## This collection of Python modules implements a prototype of the +## RPKI Engine. This is a work in progress. +## +## See http://viewvc.hactrn.net/subvert-rpki.hactrn.net/ for code, +## design documents, a text mirror of portions of APNIC's Wiki, etc. +## +## The documentation you're reading is generated automatically by +## Doxygen from comments and documentation in +## <a href="http://viewvc.hactrn.net/subvert-rpki.hactrn.net/rpkid/rpki/">the code</a>. +## +## This work is funded by <a href="http://www.arin.net/">ARIN</a>, in +## collaboration with the other RIRs. If you're interested in this +## package you might also be interested in: +## +## @li <a href="http://viewvc.hactrn.net/subvert-rpki.hactrn.net/rcynic/">the rcynic validation tool</a> +## @li <a href="http://www.hactrn.net/opaque/rcynic.html">a sample of rcynic's summary output</a> +## @li <a href="http://mirin.apnic.net/resourcecerts/wiki/">APNIC's Wiki</a> +## @li <a href="http://mirin.apnic.net/trac/">APNIC's project Trac instance</a> diff --git a/rpkid/rpki/cms.py b/rpkid/rpki/cms.py new file mode 100644 index 00000000..7b4916dc --- /dev/null +++ b/rpkid/rpki/cms.py @@ -0,0 +1,120 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""CMS routines. + +These used to use the OpenSSL CLI too, which was slow. I've since +added minimal PKCS #7 / CMS capability to POW, so we now use that +instead. I should write a pretty DER_object wrapper around the POW +code and include it in x509.py, but I haven't gotten to that yet. +""" + +import os, rpki.x509, rpki.exceptions, lxml.etree, rpki.log, POW + +debug = 1 + +# openssl smime -sign -nodetach -outform DER -signer biz-certs/Alice-EE.cer +# -certfile biz-certs/Alice-CA.cer -inkey biz-certs/Alice-EE.key +# -in THING -out THING.der + +def sign(plaintext, keypair, certs): + """Sign plaintext as CMS with specified key and bag of certificates. + + We have to sort the certificates into the correct order before the + OpenSSL CLI tool will accept them. rpki.x509 handles that for us. + """ + + p7 = POW.PKCS7() + p7.sign(certs[0].get_POW(), keypair.get_POW(), [x.get_POW() for x in certs[1:]], plaintext) + cms = p7.derWrite() + + if debug >= 2: + print + print "Signed CMS:" + dumpasn1(cms) + + return cms + +# openssl smime -verify -inform DER -in THING.der -CAfile biz-certs/Alice-Root.cer + +def verify(cms, ta): + """Verify the signature of a chunk of CMS. + + Returns the plaintext on success, otherwise raise an exception. + """ + + if debug >= 2: + print + print "Verifying CMS:" + dumpasn1(cms) + + p7 = POW.derRead(POW.PKCS7_MESSAGE, cms) + + store = POW.X509Store() + store.addTrust(ta.get_POW()) + + try: + return p7.verify(store) + + except: + if debug >= 1: + print "CMS verification failed, dumping inputs:" + print + print "TA:" + dumpasn1(ta.get_DER()) + print + print "CMS:" + dumpasn1(cms) + raise rpki.exceptions.CMSVerificationFailed, "CMS verification failed" + +# openssl smime -verify -noverify -inform DER -in THING.der + +def extract(cms): + """Extract the content of a signed CMS message WITHOUT verifying the + signature. Don't try this at home, kids. + """ + + return POW.derRead(POW.PKCS7_MESSAGE, cms).extract() + +def xml_verify(cms, ta): + """Composite routine to verify CMS-wrapped XML.""" + + val = lxml.etree.fromstring(verify(cms, ta)) + return val + +def xml_sign(elt, key, certs, encoding = "us-ascii"): + """Composite routine to sign CMS-wrapped XML.""" + + val = sign(lxml.etree.tostring(elt, pretty_print = True, encoding = encoding, xml_declaration = True), + key, certs) + return val + +def dumpasn1(thing): + """Prettyprint an ASN.1 DER object using cryptlib dumpasn1 tool. + Use a temporary file rather than popen4() because dumpasn1 uses + seek() when decoding ASN.1 content nested in OCTET STRING values. + """ + + fn = "dumpasn1.tmp" + try: + f = open(fn, "w") + f.write(thing) + f.close() + f = os.popen("dumpasn1 2>&1 -a " + fn) + print "\n".join(x for x in f.read().splitlines() if x.startswith(" ")) + f.close() + finally: + os.unlink(fn) diff --git a/rpkid/rpki/config.py b/rpkid/rpki/config.py new file mode 100644 index 00000000..54540bbc --- /dev/null +++ b/rpkid/rpki/config.py @@ -0,0 +1,57 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Configuration file parsing utilities. + +Layered on top of stock Python ConfigParser module. +""" + +import ConfigParser + +class parser(ConfigParser.RawConfigParser): + + def __init__(self, file = None, section = None): + """Initialize this parser.""" + ConfigParser.RawConfigParser.__init__(self) + if file: + self.read(file) + self.default_section = section + + def multiget(self, option, section = None): + """Parse OpenSSL-style foo.0, foo.1, ... subscripted options. + + Returns a list of values matching the specified option name. + """ + matches = [] + if section is None: + section = self.default_section + if self.has_option(section, option): + matches.append((-1, self.get(option, section = section))) + for key, value in self.items(section): + s = key.rsplit(".", 1) + if len(s) == 2 and s[0] == option and s[1].isdigit(): + matches.append((int(s[1]), value)) + matches.sort() + return [match[1] for match in matches] + + def get(self, option, default = None, section = None): + """Get an option, perhaps with a default value.""" + if section is None: + section = self.default_section + if default is None or self.has_option(section, option): + return ConfigParser.RawConfigParser.get(self, section, option) + else: + return default diff --git a/rpkid/rpki/exceptions.py b/rpkid/rpki/exceptions.py new file mode 100644 index 00000000..c1475680 --- /dev/null +++ b/rpkid/rpki/exceptions.py @@ -0,0 +1,86 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Exception definitions for RPKI modules.""" + +class NotInDatabase(Exception): + """Lookup failed for an object expected to be in the database.""" + +class BadURISyntax(Exception): + """Illegal syntax for a URI.""" + +class BadStatusCode(Exception): + """Unrecognized protocol status code.""" + +class BadQuery(Exception): + """Unexpected protocol query.""" + +class DBConsistancyError(Exception): + """Found multiple matches for a database query that shouldn't ever return that.""" + +class CMSVerificationFailed(Exception): + """Verification of a CMS message failed.""" + +class HTTPRequestFailed(Exception): + """HTTP request failed.""" + +class DERObjectConversionError(Exception): + """Error trying to convert a DER-based object from one representation to another.""" + +class NotACertificateChain(Exception): + """Certificates don't form a proper chain.""" + +class BadContactURL(Exception): + """Error trying to parse up-down protocol contact URL.""" + +class BadClassNameSyntax(Exception): + """Illegal syntax for a class_name.""" + +class BadIssueResponse(Exception): + """issue_response PDU with wrong number of classes or certificates.""" + +class NotImplementedYet(Exception): + """Internal error -- not implemented yet.""" + +class BadPKCS10(Exception): + """Bad PKCS #10 object.""" + +class UpstreamError(Exception): + """Received an error from upstream.""" + +class ChildNotFound(Exception): + """Could not find specified child in database.""" + +class BSCNotFound(Exception): + """Could not find specified BSC in database.""" + +class BadSender(Exception): + """Unexpected XML sender value.""" + +class ClassNameMismatch(Exception): + """class_name does not match child context.""" + +class SKIMismatch(Exception): + """SKI value in response does not match request.""" + +class SubprocessError(Exception): + """Subprocess returned unexpected error.""" + +class BadIRDBReply(Exception): + """Unexpected reply to IRDB query.""" + +class NotFound(Exception): + """Object not found in database.""" diff --git a/rpkid/rpki/https.py b/rpkid/rpki/https.py new file mode 100644 index 00000000..bca5a8b1 --- /dev/null +++ b/rpkid/rpki/https.py @@ -0,0 +1,146 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""HTTPS utilities, both client and server. + +At the moment this only knows how to use the PEM certs in my +subversion repository; generalizing it would not be hard, but the more +general version should use SQL anyway. +""" + +import httplib, BaseHTTPServer, tlslite.api, glob, traceback, urlparse, socket +import rpki.x509, rpki.exceptions, rpki.log + +rpki_content_type = "application/x-rpki" + +def client(msg, privateKey, certChain, x509TrustList, url, timeout = 300): + """Open client HTTPS connection, send a message, wait for response. + + This function wraps most of what one needs to do to send a message + over HTTPS and get a response. The certificate checking isn't quite + up to snuff; it's better than with the other packages I've found, + but doesn't appear to handle subjectAltName extensions (sigh). + """ + + u = urlparse.urlparse(url) + + assert u.scheme in ("", "https") and \ + u.username is None and \ + u.password is None and \ + u.params == "" and \ + u.query == "" and \ + u.fragment == "" + + # We could add a "settings = foo" argument to the following call to + # pass in a tlslite.HandshakeSettings object that would let us + # insist on, eg, particular SSL/TLS versions. + + httpc = tlslite.api.HTTPTLSConnection(host = u.hostname or "localhost", + port = u.port or 443, + privateKey = privateKey.get_tlslite(), + certChain = certChain.tlslite_certChain(), + x509TrustList = x509TrustList.tlslite_trustList()) + httpc.connect() + httpc.sock.settimeout(timeout) + httpc.request("POST", u.path, msg, {"Content-Type" : rpki_content_type}) + response = httpc.getresponse() + if response.status == httplib.OK: + return response.read() + else: + r = response.read() + raise rpki.exceptions.HTTPRequestFailed, \ + "HTTP request failed with status %s, response %s" % (response.status, r) + +class requestHandler(BaseHTTPServer.BaseHTTPRequestHandler): + """Derived type to supply POST handler and override logging.""" + + rpki_handlers = None # Subclass must bind + + def rpki_find_handler(self): + """Helper method to search self.rpki_handlers.""" + for s,h in self.rpki_handlers: + if self.path.startswith(s): + return h + return None + + def do_POST(self): + """POST handler.""" + try: + handler = self.rpki_find_handler() + if self.headers["Content-Type"] != rpki_content_type: + rcode, rtext = 415, "Received Content-Type %s, expected %s" \ + % (self.headers["Content-Type"], rpki_content_type) + elif handler is None: + rcode, rtext = 404, "No handler found for URL " + self.path + else: + rcode, rtext = handler(query = self.rfile.read(int(self.headers["Content-Length"])), + path = self.path) + except Exception, edata: + rpki.log.error(traceback.format_exc()) + rcode, rtext = 500, "Unhandled exception %s" % edata + self.send_response(rcode) + self.send_header("Content-Type", rpki_content_type) + self.end_headers() + self.wfile.write(rtext) + + def log_message(self, format, *args): + """Redirect HTTP server logging into our own logging system.""" + if args: + rpki.log.info(format % args) + else: + rpki.log.info(format) + +class httpServer(tlslite.api.TLSSocketServerMixIn, BaseHTTPServer.HTTPServer): + """Derived type to handle TLS aspects of HTTPS.""" + + rpki_certChain = None + rpki_privateKey = None + rpki_sessionCache = None + + def handshake(self, tlsConnection): + """TLS handshake handler.""" + assert self.rpki_certChain is not None + assert self.rpki_privateKey is not None + assert self.rpki_sessionCache is not None + try: + # We could add a "settings = foo" argument to the following call + # to pass in a tlslite.HandshakeSettings object that would let + # us insist on, eg, particular SSL/TLS versions. + tlsConnection.handshakeServer(certChain = self.rpki_certChain, + privateKey = self.rpki_privateKey, + sessionCache = self.rpki_sessionCache) + tlsConnection.ignoreAbruptClose = True + return True + except tlslite.api.TLSError, error: + rpki.log.warn("TLS handshake failure: " + str(error)) + return False + +def server(handlers, privateKey, certChain, port = 4433, host = ""): + """Run an HTTPS server and wait (forever) for connections.""" + + if not isinstance(handlers, (tuple, list)): + handlers = (("/", handlers),) + + class boundRequestHandler(requestHandler): + rpki_handlers = handlers + + httpd = httpServer((host, port), boundRequestHandler) + + httpd.rpki_privateKey = privateKey.get_tlslite() + httpd.rpki_certChain = certChain.tlslite_certChain() + httpd.rpki_sessionCache = tlslite.api.SessionCache() + + httpd.serve_forever() diff --git a/rpkid/rpki/ipaddrs.py b/rpkid/rpki/ipaddrs.py new file mode 100644 index 00000000..4de2f428 --- /dev/null +++ b/rpkid/rpki/ipaddrs.py @@ -0,0 +1,70 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Classes to represent IP addresses. + +Given some of the other operations we need to perform on them, it's +most convenient to represent IP addresses as Python "long" values. +The classes in this module just wrap suitable read/write syntax around +the underlying "long" type. + +These classes also supply a "bits" attribute for use by other code +built on these classes; for the most part, IPv6 addresses really are +just IPv4 addresses with more bits, so we supply the number of bits +once, here, thus avoiding a lot of duplicate code elsewhere. +""" + +import socket, struct + +class v4addr(long): + """IPv4 address. + + Derived from long, but supports IPv4 print syntax. + """ + + bits = 32 + + def __new__(cls, x): + """Construct a v4addr object.""" + if isinstance(x, str): + x = ".".join(str(int(i)) for i in x.split(".")) + y = struct.unpack("!I", socket.inet_pton(socket.AF_INET, x)) + x = y[0] + return long.__new__(cls, x) + + def __str__(self): + """Convert a v4addr object to string format.""" + return socket.inet_ntop(socket.AF_INET, struct.pack("!I", long(self))) + +class v6addr(long): + """IPv6 address. + + Derived from long, but supports IPv6 print syntax. + """ + + bits = 128 + + def __new__(cls, x): + """Construct a v6addr object.""" + if isinstance(x, str): + y = struct.unpack("!QQ", socket.inet_pton(socket.AF_INET6, x)) + x = (y[0] << 64) | y[1] + return long.__new__(cls, x) + + def __str__(self): + """Convert a v6addr object to string format.""" + return socket.inet_ntop(socket.AF_INET6, + struct.pack("!QQ", long(self) >> 64, long(self) & 0xFFFFFFFFFFFFFFFF)) diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py new file mode 100644 index 00000000..8a5e3433 --- /dev/null +++ b/rpkid/rpki/left_right.py @@ -0,0 +1,1002 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""RPKI "left-right" protocol.""" + +import base64, lxml.etree, time, traceback, os +import rpki.sax_utils, rpki.resource_set, rpki.x509, rpki.sql, rpki.exceptions +import rpki.https, rpki.up_down, rpki.relaxng, rpki.sundial, rpki.log + +xmlns = "http://www.hactrn.net/uris/rpki/left-right-spec/" + +nsmap = { None : xmlns } + +class base_elt(object): + """Virtual base type for left-right message elements.""" + + attributes = () + elements = () + booleans = () + + def startElement(self, stack, name, attrs): + """Default startElement() handler: just process attributes.""" + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Default endElement() handler: just pop the stack.""" + stack.pop() + + def read_attrs(self, attrs): + """Template-driven attribute reader.""" + for key in self.attributes: + val = attrs.get(key, None) + if isinstance(val, str) and val.isdigit(): + val = long(val) + setattr(self, key, val) + for key in self.booleans: + setattr(self, key, attrs.get(key, False)) + + def make_elt(self): + """XML element constructor.""" + elt = lxml.etree.Element("{%s}%s" % (xmlns, self.element_name), nsmap = nsmap) + for key in self.attributes: + val = getattr(self, key, None) + if val is not None: + elt.set(key, str(val)) + for key in self.booleans: + if getattr(self, key, False): + elt.set(key, "yes") + return elt + + def make_b64elt(self, elt, name, value = None): + """Constructor for Base64-encoded subelement.""" + if value is None: + value = getattr(self, name, None) + if value is not None: + lxml.etree.SubElement(elt, "{%s}%s" % (xmlns, name), nsmap = nsmap).text = base64.b64encode(value) + + def __str__(self): + """Convert a base_elt object to string format.""" + lxml.etree.tostring(self.toXML(), pretty_print = True, encoding = "us-ascii") + +class data_elt(base_elt, rpki.sql.sql_persistant): + """Virtual class for top-level left-right protocol data elements.""" + + def self(this, gctx): + """Fetch self object to which this object links.""" + return self_elt.sql_fetch(gctx, this.self_id) + + def bsc(self, gctx): + """Return BSC object to which this object links.""" + return bsc_elt.sql_fetch(gctx, self.bsc_id) + + @classmethod + def make_pdu(cls, **kargs): + """Generic left-right PDU constructor.""" + self = cls() + for k,v in kargs.items(): + setattr(self, k, v) + return self + + def make_reply(self, r_pdu = None): + """Construct a reply PDU.""" + if r_pdu is None: + r_pdu = self.__class__() + r_pdu.self_id = self.self_id + setattr(r_pdu, self.sql_template.index, getattr(self, self.sql_template.index)) + else: + for b in r_pdu.booleans: + setattr(r_pdu, b, False) + r_pdu.action = self.action + r_pdu.type = "reply" + r_pdu.tag = self.tag + return r_pdu + + def serve_pre_save_hook(self, gctx, q_pdu, r_pdu): + """Overridable hook.""" + pass + + def serve_post_save_hook(self, gctx, q_pdu, r_pdu): + """Overridable hook.""" + pass + + def serve_create(self, gctx, r_msg): + """Handle a create action.""" + r_pdu = self.make_reply() + self.serve_pre_save_hook(gctx, self, r_pdu) + self.sql_store(gctx) + setattr(r_pdu, self.sql_template.index, getattr(self, self.sql_template.index)) + self.serve_post_save_hook(gctx, self, r_pdu) + r_msg.append(r_pdu) + + def serve_fetch_one(self, gctx): + """Find the object on which a get, set, or destroy method should + operate. This is a separate method because the self object needs + to override it. + """ + where = self.sql_template.index + " = %s AND self_id = %s" + args = (getattr(self, self.sql_template.index), self.self_id) + r = self.sql_fetch_where1(gctx, where, args) + if r is None: + raise rpki.exceptions.NotFound, "Lookup failed where %s" + (where % args) + return r + + def serve_set(self, gctx, r_msg): + """Handle a set action.""" + db_pdu = self.serve_fetch_one(gctx) + r_pdu = self.make_reply() + for a in db_pdu.sql_template.columns[1:]: + v = getattr(self, a) + if v is not None: + setattr(db_pdu, a, v) + db_pdu.sql_mark_dirty() + db_pdu.serve_pre_save_hook(gctx, self, r_pdu) + db_pdu.sql_store(gctx) + db_pdu.serve_post_save_hook(gctx, self, r_pdu) + r_msg.append(r_pdu) + + def serve_get(self, gctx, r_msg): + """Handle a get action.""" + r_pdu = self.serve_fetch_one(gctx) + self.make_reply(r_pdu) + r_msg.append(r_pdu) + + def serve_list(self, gctx, r_msg): + """Handle a list action for non-self objects.""" + for r_pdu in self.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)): + self.make_reply(r_pdu) + r_msg.append(r_pdu) + + def serve_destroy(self, gctx, r_msg): + """Handle a destroy action.""" + db_pdu = self.serve_fetch_one(gctx) + db_pdu.sql_delete(gctx) + r_msg.append(self.make_reply()) + + def serve_dispatch(self, gctx, r_msg): + """Action dispatch handler.""" + dispatch = { "create" : self.serve_create, + "set" : self.serve_set, + "get" : self.serve_get, + "list" : self.serve_list, + "destroy" : self.serve_destroy } + if self.type != "query" or self.action not in dispatch: + raise rpki.exceptions.BadQuery, "Unexpected query: type %s, action %s" % (self.type, self.action) + dispatch[self.action](gctx, r_msg) + + def unimplemented_control(self, *controls): + """Uniform handling for unimplemented control operations.""" + unimplemented = [x for x in controls if getattr(self, x, False)] + if unimplemented: + raise rpki.exceptions.NotImplementedYet, "Unimplemented control %s" % ", ".join(unimplemented) + +class extension_preference_elt(base_elt): + """Container for extension preferences.""" + + element_name = "extension_preference" + attributes = ("name",) + + def startElement(self, stack, name, attrs): + """Handle <extension_preference/> elements.""" + assert name == "extension_preference", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Handle <extension_preference/> elements.""" + self.value = text + stack.pop() + + def toXML(self): + """Generate <extension_preference/> elements.""" + elt = self.make_elt() + elt.text = self.value + return elt + +class self_elt(data_elt): + """<self/> element.""" + + element_name = "self" + attributes = ("action", "type", "tag", "self_id", "crl_interval") + elements = ("extension_preference",) + booleans = ("rekey", "reissue", "revoke", "run_now", "publish_world_now", "clear_extension_preferences") + + sql_template = rpki.sql.template("self", "self_id", "use_hsm", "crl_interval") + + self_id = None + use_hsm = False + crl_interval = None + + def __init__(self): + """Initialize a self_elt.""" + self.prefs = [] + + def sql_fetch_hook(self, gctx): + """Extra SQL fetch actions for self_elt -- handle extension preferences.""" + gctx.cur.execute("SELECT pref_name, pref_value FROM self_pref WHERE self_id = %s", (self.self_id,)) + for name, value in gctx.cur.fetchall(): + e = extension_preference_elt() + e.name = name + e.value = value + self.prefs.append(e) + + def sql_insert_hook(self, gctx): + """Extra SQL insert actions for self_elt -- handle extension preferences.""" + if self.prefs: + gctx.cur.executemany("INSERT self_pref (self_id, pref_name, pref_value) VALUES (%s, %s, %s)", + ((e.name, e.value, self.self_id) for e in self.prefs)) + + def sql_delete_hook(self, gctx): + """Extra SQL delete actions for self_elt -- handle extension preferences.""" + gctx.cur.execute("DELETE FROM self_pref WHERE self_id = %s", (self.self_id,)) + + def bscs(self, gctx): + """Fetch all BSC objects that link to this self object.""" + return bsc_elt.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)) + + def repositories(self, gctx): + """Fetch all repository objects that link to this self object.""" + return repository_elt.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)) + + def parents(self, gctx): + """Fetch all parent objects that link to this self object.""" + return parent_elt.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)) + + def children(self, gctx): + """Fetch all child objects that link to this self object.""" + return child_elt.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)) + + def route_origins(self, gctx): + """Fetch all route_origin objects that link to this self object.""" + return route_origin_elt.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)) + + def serve_pre_save_hook(self, gctx, q_pdu, r_pdu): + """Extra server actions for self_elt -- handle extension preferences.""" + rpki.log.trace() + if self is not q_pdu: + if q_pdu.clear_extension_preferences: + self.prefs = [] + self.prefs.extend(q_pdu.prefs) + + def serve_post_save_hook(self, gctx, q_pdu, r_pdu): + """Extra server actions for self_elt.""" + rpki.log.trace() + if q_pdu.rekey: + self.serve_rekey(gctx) + if q_pdu.revoke: + self.serve_revoke(gctx) + self.unimplemented_control("reissue", "run_now", "publish_world_now") + + def serve_rekey(self, gctx): + """Handle a left-right rekey action for this self.""" + rpki.log.trace() + for parent in self.parents(gctx): + parent.serve_rekey(gctx) + + def serve_revoke(self, gctx): + """Handle a left-right revoke action for this self.""" + rpki.log.trace() + for parent in self.parents(gctx): + parent.serve_revoke(gctx) + + def serve_fetch_one(self, gctx): + """Find the self object on which a get, set, or destroy method + should operate. + """ + r = self.sql_fetch(gctx, self.self_id) + if r is None: + raise rpki.exceptions.NotFound + return r + + def serve_list(self, gctx, r_msg): + """Handle a list action for self objects. This is different from + the list action for all other objects, where list only works + within a given self_id context. + """ + for r_pdu in self.sql_fetch_all(gctx): + self.make_reply(r_pdu) + r_msg.append(r_pdu) + + def startElement(self, stack, name, attrs): + """Handle <self/> element.""" + if name == "extension_preference": + pref = extension_preference_elt() + self.prefs.append(pref) + stack.append(pref) + pref.startElement(stack, name, attrs) + else: + assert name == "self", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Handle <self/> element.""" + assert name == "self", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate <self/> element.""" + elt = self.make_elt() + elt.extend([i.toXML() for i in self.prefs]) + return elt + + def client_poll(self, gctx): + """Run the regular client poll cycle with each of this self's parents in turn.""" + + rpki.log.trace() + + for parent in self.parents(gctx): + + # This will need a callback when we go event-driven + r_msg = rpki.up_down.list_pdu.query(gctx, parent) + + ca_map = dict((ca.parent_resource_class, ca) for ca in parent.cas(gctx)) + for rc in r_msg.payload.classes: + if rc.class_name in ca_map: + ca = ca_map[rc.class_name] + del ca_map[rc.class_name] + ca.check_for_updates(gctx, parent, rc) + else: + rpki.sql.ca_obj.create(gctx, parent, rc) + for ca in ca_map.values(): + ca.delete(gctx, parent) # CA not listed by parent + rpki.sql.sql_sweep(gctx) + + def update_children(self, gctx): + """Check for updated IRDB data for all of this self's children and + issue new certs as necessary. Must handle changes both in + resources and in expiration date. + """ + + rpki.log.trace() + + now = rpki.sundial.datetime.utcnow() + + for child in self.children(gctx): + child_certs = child.child_certs(gctx) + if not child_certs: + continue + + # This will require a callback when we go event-driven + irdb_resources = rpki.left_right.irdb_query(gctx, child.self_id, child.child_id) + + for child_cert in child_certs: + ca_detail = child_cert.ca_detail(gctx) + if ca_detail.state != "active": + continue + old_resources = child_cert.cert.get_3779resources() + new_resources = irdb_resources.intersection(old_resources) + if old_resources != new_resources: + rpki.log.debug("Need to reissue %s" % repr(child_cert)) + child_cert.reissue( + gctx = gctx, + ca_detail = ca_detail, + resources = new_resources) + elif old_resources.valid_until < now: + parent = ca.parent(gctx) + repository = parent.repository(gctx) + child_cert.sql_delete(gctx) + ca_detail.generate_manifest(gctx) + repository.withdraw(gctx, child_cert.cert, child_cert.uri(ca)) + + def regenerate_crls_and_manifests(self, gctx): + """Generate new CRLs and manifests as necessary for all of this + self's CAs. Extracting nextUpdate from a manifest is hard at the + moment due to implementation silliness, so for now we generate a + new manifest whenever we generate a new CRL + + This method also cleans up tombstones left behind by revoked + ca_detail objects, since we're walking through the relevant + portions of the database anyway. + """ + + rpki.log.trace() + + now = rpki.sundial.datetime.utcnow() + for parent in self.parents(gctx): + repository = parent.repository(gctx) + for ca in parent.cas(gctx): + for ca_detail in ca.fetch_revoked(gctx): + if now > ca_detail.latest_crl.getNextUpdate(): + ca_detail.delete(gctx, ca, repository) + ca_detail = ca.fetch_active(gctx) + if now > ca_detail.latest_crl.getNextUpdate(): + ca_detail.generate_crl(gctx) + ca_detail.generate_manifest(gctx) + +class bsc_elt(data_elt): + """<bsc/> (Business Signing Context) element.""" + + element_name = "bsc" + attributes = ("action", "type", "tag", "self_id", "bsc_id", "key_type", "hash_alg", "key_length") + elements = ('signing_cert',) + booleans = ("generate_keypair", "clear_signing_certs") + + sql_template = rpki.sql.template("bsc", "bsc_id", "self_id", + ("public_key", rpki.x509.RSApublic), + ("private_key_id", rpki.x509.RSA), "hash_alg") + + pkcs10_cert_request = None + public_key = None + private_key_id = None + + def __init__(self): + """Initialize bsc_elt.""" + self.signing_cert = rpki.x509.X509_chain() + + def sql_fetch_hook(self, gctx): + """Extra SQL fetch actions for bsc_elt -- handle signing certs.""" + gctx.cur.execute("SELECT cert FROM bsc_cert WHERE bsc_id = %s", (self.bsc_id,)) + self.signing_cert[:] = [rpki.x509.X509(DER = x) for (x,) in gctx.cur.fetchall()] + + def sql_insert_hook(self, gctx): + """Extra SQL insert actions for bsc_elt -- handle signing certs.""" + if self.signing_cert: + gctx.cur.executemany("INSERT bsc_cert (cert, bsc_id) VALUES (%s, %s)", + ((x.get_DER(), self.bsc_id) for x in self.signing_cert)) + + def sql_delete_hook(self, gctx): + """Extra SQL delete actions for bsc_elt -- handle signing certs.""" + gctx.cur.execute("DELETE FROM bsc_cert WHERE bsc_id = %s", (self.bsc_id,)) + + def repositories(self, gctx): + """Fetch all repository objects that link to this BSC object.""" + return repository_elt.sql_fetch_where(gctx, "bsc_id = %s", (self.bsc_id,)) + + def parents(self, gctx): + """Fetch all parent objects that link to this BSC object.""" + return parent_elt.sql_fetch_where(gctx, "bsc_id = %s", (self.bsc_id,)) + + def children(self, gctx): + """Fetch all child objects that link to this BSC object.""" + return child_elt.sql_fetch_where(gctx, "bsc_id = %s", (self.bsc_id,)) + + def serve_pre_save_hook(self, gctx, q_pdu, r_pdu): + """Extra server actions for bsc_elt -- handle signing certs and key generation.""" + if self is not q_pdu: + if q_pdu.clear_signing_certs: + self.signing_cert[:] = [] + self.signing_cert.extend(q_pdu.signing_cert) + if q_pdu.generate_keypair: + # + # For the moment we only support 2048-bit RSA with SHA-256, no + # HSM. Assertion just checks that the schema hasn't changed out + # from under this code. + # + assert (q_pdu.key_type is None or q_pdu.key_type == "rsa") and \ + (q_pdu.hash_alg is None or q_pdu.hash_alg == "sha256") and \ + (q_pdu.key_length is None or q_pdu.key_length == 2048) + keypair = rpki.x509.RSA() + keypair.generate() + self.private_key_id = keypair + self.public_key = keypair.get_RSApublic() + r_pdu.pkcs10_cert_request = rpki.x509.PKCS10.create(keypair) + + def startElement(self, stack, name, attrs): + """Handle <bsc/> element.""" + if not name in ("signing_cert", "public_key", "pkcs10_cert_request"): + assert name == "bsc", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Handle <bsc/> element.""" + if name == "signing_cert": + self.signing_cert.append(rpki.x509.X509(Base64 = text)) + elif name == "public_key": + self.public_key = rpki.x509.RSApublic(Base64 = text) + elif name == "pkcs10_cert_request": + self.pkcs10_cert_request = rpki.x509.PKCS10(Base64 = text) + else: + assert name == "bsc", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate <bsc/> element.""" + elt = self.make_elt() + for cert in self.signing_cert: + self.make_b64elt(elt, "signing_cert", cert.get_DER()) + if self.pkcs10_cert_request is not None: + self.make_b64elt(elt, "pkcs10_cert_request", self.pkcs10_cert_request.get_DER()) + if self.public_key is not None: + self.make_b64elt(elt, "public_key", self.public_key.get_DER()) + return elt + +class parent_elt(data_elt): + """<parent/> element.""" + + element_name = "parent" + attributes = ("action", "type", "tag", "self_id", "parent_id", "bsc_id", "repository_id", + "peer_contact_uri", "sia_base", "sender_name", "recipient_name") + elements = ("cms_ta", "https_ta") + booleans = ("rekey", "reissue", "revoke") + + sql_template = rpki.sql.template("parent", "parent_id", "self_id", "bsc_id", "repository_id", + ("cms_ta", rpki.x509.X509), ("https_ta", rpki.x509.X509), + "peer_contact_uri", "sia_base", "sender_name", "recipient_name") + + cms_ta = None + https_ta = None + + def repository(self, gctx): + """Fetch repository object to which this parent object links.""" + return repository_elt.sql_fetch(gctx, self.repository_id) + + def cas(self, gctx): + """Fetch all CA objects that link to this parent object.""" + return rpki.sql.ca_obj.sql_fetch_where(gctx, "parent_id = %s", (self.parent_id,)) + + def serve_post_save_hook(self, gctx, q_pdu, r_pdu): + """Extra server actions for parent_elt.""" + if q_pdu.rekey: + self.serve_rekey(gctx) + if q_pdu.revoke: + self.serve_revoke(gctx) + self.unimplemented_control("reissue") + + def serve_rekey(self, gctx): + """Handle a left-right rekey action for this parent.""" + for ca in self.cas(gctx): + ca.rekey(gctx) + + def serve_revoke(self, gctx): + """Handle a left-right revoke action for this parent.""" + for ca in self.cas(gctx): + ca.revoke(gctx) + + def startElement(self, stack, name, attrs): + """Handle <parent/> element.""" + if name not in ("cms_ta", "https_ta"): + assert name == "parent", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Handle <parent/> element.""" + if name == "cms_ta": + self.cms_ta = rpki.x509.X509(Base64 = text) + elif name == "https_ta": + self.https_ta = rpki.x509.X509(Base64 = text) + else: + assert name == "parent", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate <parent/> element.""" + elt = self.make_elt() + if self.cms_ta and not self.cms_ta.empty(): + self.make_b64elt(elt, "cms_ta", self.cms_ta.get_DER()) + if self.https_ta and not self.https_ta.empty(): + self.make_b64elt(elt, "https_ta", self.https_ta.get_DER()) + return elt + + def query_up_down(self, gctx, q_pdu): + """Client code for sending one up-down query PDU to this parent. + + I haven't figured out yet whether this method should do something + clever like dispatching via a method in the response PDU payload, + or just hand back the whole response to the caller. In the long + run this will have to become event driven with a context object + that has methods of its own, but as this method is common code for + several different queries and I don't yet know what the response + processing looks like, it's too soon to tell what will make sense. + + For now, keep this dead simple lock step, rewrite it later. + """ + + rpki.log.trace() + + bsc = self.bsc(gctx) + if bsc is None: + raise rpki.exceptions.BSCNotFound, "Could not find BSC %s" % self.bsc_id + q_msg = rpki.up_down.message_pdu.make_query( + payload = q_pdu, + sender = self.sender_name, + recipient = self.recipient_name) + q_elt = q_msg.toXML() + try: + rpki.relaxng.up_down.assertValid(q_elt) + except lxml.etree.DocumentInvalid: + rpki.log.error("Message does not pass schema check: " + lxml.etree.tostring(q_elt, pretty_print = True)) + raise + q_cms = rpki.cms.xml_sign(q_elt, bsc.private_key_id, bsc.signing_cert, encoding = "UTF-8") + r_cms = rpki.https.client(x509TrustList = rpki.x509.X509_chain(self.https_ta), + privateKey = gctx.https_key, + certChain = gctx.https_certs, + msg = q_cms, + url = self.peer_contact_uri) + r_elt = rpki.cms.xml_verify(r_cms, self.cms_ta) + rpki.relaxng.up_down.assertValid(r_elt) + r_msg = rpki.up_down.sax_handler.saxify(r_elt) + r_msg.payload.check_response() + return r_msg + + +class child_elt(data_elt): + """<child/> element.""" + + element_name = "child" + attributes = ("action", "type", "tag", "self_id", "child_id", "bsc_id") + elements = ("cms_ta",) + booleans = ("reissue", ) + + sql_template = rpki.sql.template("child", "child_id", "self_id", "bsc_id", ("cms_ta", rpki.x509.X509)) + + cms_ta = None + + def child_certs(self, gctx, ca_detail = None, ski = None, revoked = False, unique = False): + """Fetch all child_cert objects that link to this child object.""" + return rpki.sql.child_cert_obj.fetch(gctx, self, ca_detail, ski, revoked, unique) + + def parents(self, gctx): + """Fetch all parent objects that link to self object to which this child object links.""" + return parent_elt.sql_fetch_where(gctx, "self_id = %s", (self.self_id,)) + + def ca_from_class_name(self, gctx, class_name): + """Fetch the CA corresponding to an up-down class_name.""" + if not class_name.isdigit(): + raise rpki.exceptions.BadClassNameSyntax, "Bad class name %s" % class_name + ca = rpki.sql.ca_obj.sql_fetch(gctx, long(class_name)) + parent = ca.parent(gctx) + if self.self_id != parent.self_id: + raise rpki.exceptions.ClassNameMismatch, "child.self_id = %d, parent.self_id = %d" % (self.self_id, parent.self_id) + return ca + + def serve_post_save_hook(self, gctx, q_pdu, r_pdu): + """Extra server actions for child_elt.""" + self.unimplemented_control("reissue") + + def startElement(self, stack, name, attrs): + """Handle <child/> element.""" + if name != "cms_ta": + assert name == "child", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Handle <child/> element.""" + if name == "cms_ta": + self.cms_ta = rpki.x509.X509(Base64 = text) + else: + assert name == "child", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate <child/> element.""" + elt = self.make_elt() + if self.cms_ta: + self.make_b64elt(elt, "cms_ta", self.cms_ta.get_DER()) + return elt + + def serve_up_down(self, gctx, query): + """Outer layer of server handling for one up-down PDU from this child.""" + + rpki.log.trace() + + bsc = self.bsc(gctx) + if bsc is None: + raise rpki.exceptions.BSCNotFound, "Could not find BSC %s" % self.bsc_id + q_elt = rpki.cms.xml_verify(query, self.cms_ta) + rpki.relaxng.up_down.assertValid(q_elt) + q_msg = rpki.up_down.sax_handler.saxify(q_elt) + #if q_msg.sender != str(self.child_id): + # raise rpki.exceptions.BadSender, "Unexpected XML sender %s" % q_msg.sender + try: + r_msg = q_msg.serve_top_level(gctx, self) + except Exception, data: + rpki.log.error(traceback.format_exc()) + r_msg = q_msg.serve_error(data) + # + # Exceptions from this point on are problematic, as we have no + # sane way of reporting errors in the error reporting mechanism. + # May require refactoring, ignore the issue for now. + # + r_elt = r_msg.toXML() + try: + rpki.relaxng.up_down.assertValid(r_elt) + except: + rpki.log.debug(lxml.etree.tostring(r_elt, pretty_print = True, encoding = "UTF-8")) + rpki.log.error(traceback.format_exc()) + raise + return rpki.cms.xml_sign(r_elt, bsc.private_key_id, bsc.signing_cert, encoding = "UTF-8") + +class repository_elt(data_elt): + """<repository/> element.""" + + element_name = "repository" + attributes = ("action", "type", "tag", "self_id", "repository_id", "bsc_id", "peer_contact_uri") + elements = ("cms_ta", "https_ta") + + sql_template = rpki.sql.template("repository", "repository_id", "self_id", "bsc_id", + ("cms_ta", rpki.x509.X509), "peer_contact_uri", + ("https_ta", rpki.x509.X509)) + + cms_ta = None + https_ta = None + + def parents(self, gctx): + """Fetch all parent objects that link to this repository object.""" + return parent_elt.sql_fetch_where(gctx, "repository_id = %s", (self.repository_id,)) + + def startElement(self, stack, name, attrs): + """Handle <repository/> element.""" + if name not in ("cms_ta", "https_ta"): + assert name == "repository", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def endElement(self, stack, name, text): + """Handle <repository/> element.""" + if name == "cms_ta": + self.cms_ta = rpki.x509.X509(Base64 = text) + elif name == "https_ta": + self.https_ta = rpki.x509.X509(Base64 = text) + else: + assert name == "repository", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate <repository/> element.""" + elt = self.make_elt() + if self.cms_ta: + self.make_b64elt(elt, "cms_ta", self.cms_ta.get_DER()) + if self.https_ta: + self.make_b64elt(elt, "https_ta", self.https_ta.get_DER()) + return elt + + @staticmethod + def uri_to_filename(base, uri): + """Convert a URI to a filename. [TEMPORARY]""" + if not uri.startswith("rsync://"): + raise rpki.exceptions.BadURISyntax + filename = base + uri[len("rsync://"):] + if filename.find("//") >= 0 or filename.find("/../") >= 0 or filename.endswith("/.."): + raise rpki.exceptions.BadURISyntax + return filename + + @classmethod + def object_write(cls, base, uri, obj): + """Write an object to disk. [TEMPORARY]""" + rpki.log.trace() + filename = cls.uri_to_filename(base, uri) + dirname = os.path.dirname(filename) + if not os.path.isdir(dirname): + os.makedirs(dirname) + f = open(filename, "wb") + f.write(obj.get_DER()) + f.close() + + @classmethod + def object_delete(cls, base, uri): + """Delete an object from disk. [TEMPORARY]""" + rpki.log.trace() + os.remove(cls.uri_to_filename(base, uri)) + + def publish(self, gctx, obj, uri): + """Placeholder for publication operation. [TEMPORARY]""" + rpki.log.trace() + rpki.log.info("Publishing %s to repository %s at %s" % (repr(obj), repr(self), repr(uri))) + self.object_write(gctx.publication_kludge_base, uri, obj) + + def withdraw(self, gctx, obj, uri): + """Placeholder for publication withdrawal operation. [TEMPORARY]""" + rpki.log.trace() + rpki.log.info("Withdrawing %s from repository %s at %s" % (repr(obj), repr(self), repr(uri))) + self.object_delete(gctx.publication_kludge_base, uri) + +class route_origin_elt(data_elt): + """<route_origin/> element.""" + + element_name = "route_origin" + attributes = ("action", "type", "tag", "self_id", "route_origin_id", "as_number", "ipv4", "ipv6") + booleans = ("suppress_publication",) + + sql_template = rpki.sql.template("route_origin", "route_origin_id", "self_id", "as_number", + "ca_detail_id", "roa") + + ca_detail_id = None + roa = None + + def sql_fetch_hook(self, gctx): + """Extra SQL fetch actions for route_origin_elt -- handle address ranges.""" + self.ipv4 = rpki.resource_set.resource_set_ipv4.from_sql(gctx.cur, """ + SELECT start_ip, end_ip FROM route_origin_range + WHERE route_origin_id = %s AND start_ip NOT LIKE '%:%' + """, (self.route_origin_id,)) + self.ipv6 = rpki.resource_set.resource_set_ipv6.from_sql(gctx.cur, """ + SELECT start_ip, end_ip FROM route_origin_range + WHERE route_origin_id = %s AND start_ip LIKE '%:%' + """, (self.route_origin_id,)) + + def sql_insert_hook(self, gctx): + """Extra SQL insert actions for route_origin_elt -- handle address ranges.""" + if self.ipv4 + self.ipv6: + gctx.cur.executemany(""" + INSERT route_origin_range (route_origin_id, start_ip, end_ip) + VALUES (%s, %s, %s)""", + ((self.route_origin_id, x.min, x.max) for x in self.ipv4 + self.ipv6)) + + def sql_delete_hook(self, gctx): + """Extra SQL delete actions for route_origin_elt -- handle address ranges.""" + gctx.cur.execute("DELETE FROM route_origin_range WHERE route_origin_id = %s", (self.route_origin_id,)) + + def ca_detail(self, gctx): + """Fetch all ca_detail objects that link to this route_origin object.""" + return rpki.sql.ca_detail_obj.sql_fetch(gctx, self.ca_detail_id) + + def serve_post_save_hook(self, gctx, q_pdu, r_pdu): + """Extra server actions for route_origin_elt.""" + self.unimplemented_control("suppress_publication") + + def startElement(self, stack, name, attrs): + """Handle <route_origin/> element.""" + assert name == "route_origin", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + if self.as_number is not None: + self.as_number = long(self.as_number) + if self.ipv4 is not None: + self.ipv4 = rpki.resource_set.resource_set_ipv4(self.ipv4) + if self.ipv6 is not None: + self.ipv6 = rpki.resource_set.resource_set_ipv6(self.ipv4) + + def endElement(self, stack, name, text): + """Handle <route_origin/> element.""" + assert name == "route_origin", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate <route_origin/> element.""" + return self.make_elt() + +class list_resources_elt(base_elt): + """<list_resources/> element.""" + + element_name = "list_resources" + attributes = ("type", "self_id", "tag", "child_id", "valid_until", "as", "ipv4", "ipv6", "subject_name") + valid_until = None + + def startElement(self, stack, name, attrs): + """Handle <list_resources/> element.""" + assert name == "list_resources", "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + if isinstance(self.valid_until, str): + self.valid_until = rpki.sundial.datetime.fromXMLtime(self.valid_until) + if self.as is not None: + self.as = rpki.resource_set.resource_set_as(self.as) + if self.ipv4 is not None: + self.ipv4 = rpki.resource_set.resource_set_ipv4(self.ipv4) + if self.ipv6 is not None: + self.ipv6 = rpki.resource_set.resource_set_ipv6(self.ipv6) + + def toXML(self): + """Generate <list_resources/> element.""" + elt = self.make_elt() + if isinstance(self.valid_until, int): + elt.set("valid_until", self.valid_until.toXMLtime()) + return elt + +class report_error_elt(base_elt): + """<report_error/> element.""" + + element_name = "report_error" + attributes = ("tag", "self_id", "error_code") + + def startElement(self, stack, name, attrs): + """Handle <report_error/> element.""" + assert name == self.element_name, "Unexpected name %s, stack %s" % (name, stack) + self.read_attrs(attrs) + + def toXML(self): + """Generate <report_error/> element.""" + return self.make_elt() + + @classmethod + def from_exception(cls, exc, self_id = None): + """Generate a <report_error/> element from an exception.""" + self = cls() + self.self_id = self_id + self.error_code = exc.__class__.__name__ + return self + +class msg(list): + """Left-right PDU.""" + + ## @var version + # Protocol version + version = 1 + + ## @var pdus + # Dispatch table of PDUs for this protocol. + pdus = dict((x.element_name, x) + for x in (self_elt, child_elt, parent_elt, bsc_elt, repository_elt, + route_origin_elt, list_resources_elt, report_error_elt)) + + def startElement(self, stack, name, attrs): + """Handle left-right PDU.""" + if name == "msg": + assert self.version == int(attrs["version"]) + else: + elt = self.pdus[name]() + self.append(elt) + stack.append(elt) + elt.startElement(stack, name, attrs) + + def endElement(self, stack, name, text): + """Handle left-right PDU.""" + assert name == "msg", "Unexpected name %s, stack %s" % (name, stack) + assert len(stack) == 1 + stack.pop() + + def __str__(self): + """Convert msg object to string.""" + lxml.etree.tostring(self.toXML(), pretty_print = True, encoding = "us-ascii") + + def toXML(self): + """Generate left-right PDU.""" + elt = lxml.etree.Element("{%s}msg" % (xmlns), nsmap = nsmap, version = str(self.version)) + elt.extend([i.toXML() for i in self]) + return elt + + def serve_top_level(self, gctx): + """Serve one msg PDU.""" + r_msg = self.__class__() + for q_pdu in self: + q_pdu.serve_dispatch(gctx, r_msg) + return r_msg + +class sax_handler(rpki.sax_utils.handler): + """SAX handler for Left-Right protocol.""" + + ## @var pdu + # Top-level PDU class + pdu = msg + + def create_top_level(self, name, attrs): + """Top-level PDU for this protocol is <msg/>.""" + assert name == "msg" and attrs["version"] == "1" + return self.pdu() + +def irdb_query(gctx, self_id, child_id = None): + """Perform an IRDB callback query. In the long run this should not + be a blocking routine, it should instead issue a query and set up a + handler to receive the response. For the moment, though, we are + doing simple lock step and damn the torpedos. Not yet doing + anything useful with subject name. Most likely this function should + really be wrapped up in a class that carries both the query result + and also the intermediate state needed for the event-driven code + that this function will need to become. + """ + + rpki.log.trace() + + q_msg = msg() + q_msg.append(list_resources_elt()) + q_msg[0].type = "query" + q_msg[0].self_id = self_id + q_msg[0].child_id = child_id + q_elt = q_msg.toXML() + rpki.relaxng.left_right.assertValid(q_elt) + q_cms = rpki.cms.xml_sign(q_elt, gctx.cms_key, gctx.cms_certs) + r_cms = rpki.https.client( + privateKey = gctx.https_key, + certChain = gctx.https_certs, + x509TrustList = gctx.https_ta, + url = gctx.irdb_url, + msg = q_cms) + r_elt = rpki.cms.xml_verify(r_cms, gctx.cms_ta_irdb) + rpki.relaxng.left_right.assertValid(r_elt) + r_msg = rpki.left_right.sax_handler.saxify(r_elt) + if len(r_msg) == 0 or not isinstance(r_msg[0], list_resources_elt) or r_msg[0].type != "reply": + raise rpki.exceptions.BadIRDBReply, "Unexpected response to IRDB query: %s" % lxml.etree.tostring(r_msg.toXML(), pretty_print = True, encoding = "us-ascii") + return rpki.resource_set.resource_bag( + as = r_msg[0].as, + v4 = r_msg[0].ipv4, + v6 = r_msg[0].ipv6, + valid_until = r_msg[0].valid_until) diff --git a/rpkid/rpki/log.py b/rpkid/rpki/log.py new file mode 100644 index 00000000..1f85f667 --- /dev/null +++ b/rpkid/rpki/log.py @@ -0,0 +1,54 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Logging facilities for RPKI libraries. +""" + +import syslog, traceback + +enable_trace = False + +def init(ident = "rpki", flags = syslog.LOG_PID | syslog.LOG_PERROR, facility = syslog.LOG_DAEMON): + """Initialize logging system.""" + + return syslog.openlog(ident, flags, facility) + +def set_trace(trace): + """Enable or disable call tracing.""" + + global enable_trace + enable_trace = trace + +class logger(object): + """Closure for logging.""" + + def __init__(self, priority): + self.priority = priority + + def __call__(self, message): + return syslog.syslog(self.priority, message) + +error = logger(syslog.LOG_ERR) +warn = logger(syslog.LOG_WARNING) +note = logger(syslog.LOG_NOTICE) +info = logger(syslog.LOG_INFO) +debug = logger(syslog.LOG_DEBUG) + +def trace(): + """Execution trace -- where are we now, and whence came we here?""" + if enable_trace: + bt = traceback.extract_stack(limit = 3) + return debug("[%s() at %s:%d from %s:%d]" % (bt[1][2], bt[1][0], bt[1][1], bt[0][0], bt[0][1])) diff --git a/rpkid/rpki/manifest.py b/rpkid/rpki/manifest.py new file mode 100644 index 00000000..c219cc8f --- /dev/null +++ b/rpkid/rpki/manifest.py @@ -0,0 +1,53 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Signed manifests. This is just the ASN.1 encoder, the rest is in +rpki.x509 with the rest of the DER_object code. + +Note that rpki.x509.SignedManifest implements the signed manifest; +the structures here are just the payload of the CMS eContent field. +""" + +from POW._der import * + +class FileAndHash(Sequence): + def __init__(self, optional=0, default=''): + self.file = IA5String() + self.hash = AltBitString() + contents = [ self.file, self.hash ] + Sequence.__init__(self, contents, optional, default) + +class FilesAndHashes(SequenceOf): + def __init__(self, optional=0, default=''): + SequenceOf.__init__(self, FileAndHash, optional, default) + +class Manifest(Sequence): + def __init__(self, optional=0, default=''): + self.version = Integer() + self.explicitVersion = Explicit(CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.version, 0, 'oAMCAQA=') + self.manifestNumber = Integer() + self.thisUpdate = GeneralizedTime() + self.nextUpdate = GeneralizedTime() + self.fileHashAlg = Oid() + self.fileList = FilesAndHashes() + + contents = [ self.explicitVersion, + self.manifestNumber, + self.thisUpdate, + self.nextUpdate, + self.fileHashAlg, + self.fileList ] + Sequence.__init__(self, contents, optional, default) diff --git a/rpkid/rpki/oids.py b/rpkid/rpki/oids.py new file mode 100644 index 00000000..4e08aef7 --- /dev/null +++ b/rpkid/rpki/oids.py @@ -0,0 +1,49 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""OID database.""" + +## @var oid2name +# Mapping table of OIDs to conventional string names. + +oid2name = { + (1, 2, 840, 113549, 1, 1, 11) : "sha256WithRSAEncryption", + (1, 2, 840, 113549, 1, 1, 12) : "sha384WithRSAEncryption", + (1, 2, 840, 113549, 1, 1, 13) : "sha512WithRSAEncryption", + (1, 3, 6, 1, 5, 5, 7, 1, 1) : "authorityInfoAccess", + (1, 3, 6, 1, 5, 5, 7, 1, 11) : "subjectInfoAccess", + (1, 3, 6, 1, 5, 5, 7, 1, 7) : "sbgp-ipAddrBlock", + (1, 3, 6, 1, 5, 5, 7, 1, 8) : "sbgp-autonomousSysNum", + (1, 3, 6, 1, 5, 5, 7, 14, 2) : "id-cp-ipAddr-asNumber", + (1, 3, 6, 1, 5, 5, 7, 48, 2) : "id-ad-caIssuers", + (1, 3, 6, 1, 5, 5, 7, 48, 5) : "id-ad-caRepository", + (1, 3, 6, 1, 5, 5, 7, 48, 9) : "id-ad-signedObjectRepository", + (1, 3, 6, 1, 5, 5, 7, 48, 10) : "id-ad-rpkiManifest", + (1, 3, 6, 1, 5, 5, 7, 48, 11) : "id-ad-signedObject", + (2, 5, 29, 14) : "subjectKeyIdentifier", + (2, 5, 29, 15) : "keyUsage", + (2, 5, 29, 19) : "basicConstraints", + (2, 5, 29, 20) : "cRLNumber", + (2, 5, 29, 31) : "cRLDistributionPoints", + (2, 5, 29, 32) : "certificatePolicies", + (2, 5, 29, 35) : "authorityKeyIdentifier", + (2, 5, 4, 3) : "commonName", +} + +## @var name2oid +# Mapping table of string names to OIDs + +name2oid = dict((v,k) for k,v in oid2name.items()) diff --git a/rpkid/rpki/pkcs10.py b/rpkid/rpki/pkcs10.py new file mode 100644 index 00000000..9ed38470 --- /dev/null +++ b/rpkid/rpki/pkcs10.py @@ -0,0 +1,62 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Old code to generate PKCS #10 certification requests. + +This has been replaced by direct support for PKCS #10 in my hacked +version of the POW package. This module will go away eventually, I'm +just keeping it around in case I discover some horrible bug in the new +code that would make me want to fall back to this. +""" + +raise NotImplementedError, "You shouldn't be using this module anymore, see rpki.x509.PKCS10" + +import POW, rpki.x509, os, rpki.exceptions, binascii + +req_fmt = ''' +[ req ] +distinguished_name = req_dn +default_md = sha256 +prompt = no + +[ req_dn ] +CN = %s +''' + +def make_request(keypair): + """Generate a PKCS #10 request.""" + + digest = POW.Digest(POW.SHA1_DIGEST) + digest.update(keypair.get_POW().derWrite(POW.RSA_PUBLIC_KEY)) + commonName = "0x" + binascii.hexlify(digest.digest()) + + try: + config_filename = "req.tmp.conf" + f = open(config_filename, "w") + f.write(req_fmt % commonName) + f.close() + + i,o = os.popen2(["openssl", "req", "-config", config_filename, "-new", + "-key", "/dev/stdin", "-outform", "DER"]) + i.write(keypair.get_PEM()) + i.close() + pkcs10 = rpki.x509.PKCS10(DER = o.read()) + o.close() + + finally: + os.unlink(config_filename) + + return pkcs10 diff --git a/rpkid/rpki/relaxng.py b/rpkid/rpki/relaxng.py new file mode 100644 index 00000000..b045b1c6 --- /dev/null +++ b/rpkid/rpki/relaxng.py @@ -0,0 +1,1208 @@ +# Automatically generated, do not edit. + +import lxml.etree + +## @var left_right +## Parsed RelaxNG left_right schema +left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" encoding="UTF-8"?> +<!-- + $Id: left-right-schema.rnc 1383 2007-12-17 18:20:46Z sra $ + + RelaxNG (Compact Syntax) Schema for RPKI left-right protocol. + + libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so + run the compact syntax through trang to get XML syntax. +--> +<grammar ns="http://www.hactrn.net/uris/rpki/left-right-spec/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- Top level PDU --> + <start> + <element name="msg"> + <attribute name="version"> + <data type="positiveInteger"> + <param name="maxInclusive">1</param> + </data> + </attribute> + <zeroOrMore> + <choice> + <ref name="self_elt"/> + <ref name="bsc_elt"/> + <ref name="parent_elt"/> + <ref name="child_elt"/> + <ref name="repository_elt"/> + <ref name="ro_elt"/> + <ref name="list_resources_elt"/> + <ref name="report_error_elt"/> + </choice> + </zeroOrMore> + </element> + </start> + <!-- Tag attributes for bulk operations --> + <define name="tag"> + <optional> + <attribute name="tag"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + </define> + <!-- + Combinations of action and type attributes used in later definitions. + The same patterns repeat in most of the elements in this protocol. + --> + <define name="ctl_cq"> + <attribute name="action"> + <value>create</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_sq"> + <attribute name="action"> + <value>set</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_gq"> + <attribute name="action"> + <value>get</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_lq"> + <attribute name="action"> + <value>list</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_dq"> + <attribute name="action"> + <value>destroy</value> + </attribute> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_cr"> + <attribute name="action"> + <value>create</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_sr"> + <attribute name="action"> + <value>set</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_gr"> + <attribute name="action"> + <value>get</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_lr"> + <attribute name="action"> + <value>list</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <define name="ctl_dr"> + <attribute name="action"> + <value>destroy</value> + </attribute> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + </define> + <!-- Base64 encoded DER stuff --> + <define name="base64"> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </define> + <!-- How we wrap trust anchor elements --> + <define name="cms_ta"> + <element name="cms_ta"> + <ref name="base64"/> + </element> + </define> + <define name="https_ta"> + <element name="https_ta"> + <ref name="base64"/> + </element> + </define> + <!-- Base definition for all fields that are really just SQL primary indices --> + <define name="sql_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </define> + <!-- <self/> element --> + <define name="self_bool"> + <optional> + <attribute name="rekey"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="reissue"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="revoke"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="run_now"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="publish_world_now"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="clear_extension_preferences"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="self_payload"> + <optional> + <attribute name="use_hsm"> + <choice> + <value>yes</value> + <value>no</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="crl_interval"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <zeroOrMore> + <element name="extension_preference"> + <attribute name="name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <data type="string"> + <param name="maxLength">512000</param> + </data> + </element> + </zeroOrMore> + </define> + <define name="self_id"> + <attribute name="self_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_cq"/> + <ref name="self_bool"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="self_bool"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_lq"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="self_payload"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + </element> + </define> + <define name="self_elt" combine="choice"> + <element name="self"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + </element> + </define> + <!-- <bsc/> element. Key parameters hardwired for now. --> + <define name="bsc_bool"> + <optional> + <attribute name="generate_keypair"> + <value>yes</value> + </attribute> + <optional> + <attribute name="key_type"> + <value>rsa</value> + </attribute> + </optional> + <optional> + <attribute name="hash_alg"> + <value>sha256</value> + </attribute> + </optional> + <optional> + <attribute name="key_length"> + <value>2048</value> + </attribute> + </optional> + </optional> + <optional> + <attribute name="clear_signing_certs"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="bsc_id"> + <attribute name="bsc_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="bsc_payload"> + <zeroOrMore> + <element name="signing_cert"> + <ref name="base64"/> + </element> + </zeroOrMore> + <optional> + <element name="public_key"> + <ref name="base64"/> + </element> + </optional> + </define> + <define name="bsc_pkcs10"> + <optional> + <element name="pkcs10_cert_request"> + <ref name="base64"/> + </element> + </optional> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="bsc_bool"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_pkcs10"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_bool"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_pkcs10"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + <ref name="bsc_payload"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + </element> + </define> + <define name="bsc_elt" combine="choice"> + <element name="bsc"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="bsc_id"/> + </element> + </define> + <!-- <parent/> element --> + <define name="parent_id"> + <attribute name="parent_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="parent_bool"> + <optional> + <attribute name="rekey"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="reissue"> + <value>yes</value> + </attribute> + </optional> + <optional> + <attribute name="revoke"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="parent_payload"> + <optional> + <attribute name="peer_contact_uri"> + <data type="anyURI"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="sia_base"> + <data type="anyURI"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="bsc_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="repository_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="sender_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="recipient_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <ref name="cms_ta"/> + </optional> + <optional> + <ref name="https_ta"/> + </optional> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="parent_bool"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="parent_id"/> + <ref name="parent_bool"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + <ref name="parent_payload"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <define name="parent_elt" combine="choice"> + <element name="parent"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="parent_id"/> + </element> + </define> + <!-- <child/> element --> + <define name="child_id"> + <attribute name="child_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="child_bool"> + <optional> + <attribute name="reissue"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="child_payload"> + <optional> + <attribute name="bsc_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <ref name="cms_ta"/> + </optional> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="child_bool"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="child_id"/> + <ref name="child_bool"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="child_id"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="child_id"/> + <ref name="child_payload"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <define name="child_elt" combine="choice"> + <element name="child"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="child_id"/> + </element> + </define> + <!-- <repository/> element --> + <define name="repository_id"> + <attribute name="repository_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="repository_payload"> + <optional> + <attribute name="peer_contact_uri"> + <data type="anyURI"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="bsc_id"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <ref name="cms_ta"/> + </optional> + <optional> + <ref name="https_ta"/> + </optional> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="repository_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + <ref name="repository_payload"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <define name="repository_elt" combine="choice"> + <element name="repository"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="repository_id"/> + </element> + </define> + <!-- <route_origin/> element --> + <define name="ro_id"> + <attribute name="route_origin_id"> + <ref name="sql_id"/> + </attribute> + </define> + <define name="ro_bool"> + <optional> + <attribute name="suppress_publication"> + <value>yes</value> + </attribute> + </optional> + </define> + <define name="ro_payload"> + <optional> + <attribute name="as_number"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv4"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv6"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_cq"/> + <ref name="self_id"/> + <ref name="ro_bool"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_cr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_sq"/> + <ref name="self_id"/> + <ref name="ro_id"/> + <ref name="ro_bool"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_sr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_gq"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_gr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_lq"/> + <ref name="self_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_lr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + <ref name="ro_payload"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_dq"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <define name="ro_elt" combine="choice"> + <element name="route_origin"> + <ref name="ctl_dr"/> + <ref name="self_id"/> + <ref name="ro_id"/> + </element> + </define> + <!-- <list_resources/> element --> + <define name="list_resources_elt"> + <element name="list_resources"> + <choice> + <group> + <attribute name="type"> + <value>query</value> + </attribute> + <ref name="tag"/> + <ref name="self_id"/> + <ref name="child_id"/> + </group> + <group> + <attribute name="type"> + <value>reply</value> + </attribute> + <ref name="tag"/> + <ref name="self_id"/> + <ref name="child_id"/> + <attribute name="valid_until"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <optional> + <attribute name="subject_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="as"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv4"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="ipv6"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </optional> + </group> + </choice> + </element> + </define> + <!-- <report_error/> element --> + <define name="report_error_elt"> + <element name="report_error"> + <ref name="tag"/> + <ref name="self_id"/> + <attribute name="error_code"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <optional> + <data type="string"> + <param name="maxLength">512000</param> + </data> + </optional> + </element> + </define> +</grammar> +''')) + +## @var up_down +## Parsed RelaxNG up_down schema +up_down = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" encoding="UTF-8"?> +<!-- + $Id: up-down-schema.rng 1354 2007-12-04 06:20:10Z sra $ + + RelaxNG (Compact Syntax) Scheme for up-down protocol, extracted + from APNIC Wiki. + + libxml2 (including xmllint) only groks the XML syntax of RelaxNG, + so run this through a converter like /usr/ports/textproc/trang to get + XML syntax: + + $ trang up-down-schema.rnc up-down-schema.rng +--> +<grammar ns="http://www.apnic.net/specs/rescerts/up-down/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="message"> + <attribute name="version"> + <data type="positiveInteger"> + <param name="maxInclusive">1</param> + </data> + </attribute> + <attribute name="sender"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <attribute name="recipient"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <ref name="payload"/> + </element> + </start> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>list</value> + </attribute> + <ref name="list_request"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>list_response</value> + </attribute> + <ref name="list_response"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>issue</value> + </attribute> + <ref name="issue_request"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>issue_response</value> + </attribute> + <ref name="issue_response"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>revoke</value> + </attribute> + <ref name="revoke_request"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>revoke_response</value> + </attribute> + <ref name="revoke_response"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>error_response</value> + </attribute> + <ref name="error_response"/> + </define> + <define name="list_request"> + <empty/> + </define> + <define name="list_response"> + <zeroOrMore> + <ref name="class"/> + </zeroOrMore> + </define> + <define name="class"> + <element name="class"> + <attribute name="class_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <attribute name="cert_url"> + <data type="string"> + <param name="maxLength">4096</param> + </data> + </attribute> + <attribute name="resource_set_as"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,0-9]*</param> + </data> + </attribute> + <attribute name="resource_set_ipv4"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/.0-9]*</param> + </data> + </attribute> + <attribute name="resource_set_ipv6"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/:0-9a-fA-F]*</param> + </data> + </attribute> + <optional> + <attribute name="resource_set_notafter"> + <data type="dateTime"> + <param name="pattern">.*Z</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="suggested_sia_head"> + <data type="anyURI"> + <param name="maxLength">1024</param> + <param name="pattern">rsync://.+</param> + </data> + </attribute> + </optional> + <zeroOrMore> + <element name="certificate"> + <attribute name="cert_url"> + <data type="string"> + <param name="maxLength">4096</param> + </data> + </attribute> + <optional> + <attribute name="req_resource_set_as"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv4"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/.0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv6"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/:0-9a-fA-F]*</param> + </data> + </attribute> + </optional> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </element> + </zeroOrMore> + <element name="issuer"> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </element> + </element> + </define> + <define name="issue_request"> + <element name="request"> + <attribute name="class_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <optional> + <attribute name="req_resource_set_as"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv4"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/.0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv6"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/:0-9a-fA-F]*</param> + </data> + </attribute> + </optional> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </element> + </define> + <define name="issue_response"> + <ref name="class"/> + </define> + <define name="revoke_request"> + <ref name="revocation"/> + </define> + <define name="revoke_response"> + <ref name="revocation"/> + </define> + <define name="revocation"> + <element name="key"> + <attribute name="class_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <attribute name="ski"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </element> + </define> + <define name="error_response"> + <element name="status"> + <data type="positiveInteger"> + <param name="maxInclusive">999999999999999</param> + </data> + </element> + <optional> + <element name="description"> + <attribute name="xml:lang"> + <data type="language"/> + </attribute> + <data type="string"> + <param name="maxLength">1024</param> + </data> + </element> + </optional> + </define> +</grammar> +''')) diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py new file mode 100644 index 00000000..8497dad5 --- /dev/null +++ b/rpkid/rpki/resource_set.py @@ -0,0 +1,528 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Classes dealing with sets of resources. + +The basic mechanics of a resource set are the same for any of the +resources we handle (ASNs, IPv4 addresses, or IPv6 addresses), so we +can provide the same operations on any of them, even though the +underlying details vary. + +We also provide some basic set operations (union, intersection, etc). +""" + +import re +import rpki.ipaddrs, rpki.oids + +inherit_token = "<inherit>" + +class resource_range(object): + """Generic resource range type. + + Assumes underlying type is some kind of integer. You probably don't + want to use this type directly. + """ + + def __init__(self, min, max): + """Initialize and sanity check a resource_range.""" + assert min <= max, "Mis-ordered range: %s before %s" % (str(min), str(max)) + self.min = min + self.max = max + + def __cmp__(self, other): + """Compare two resource_range objects.""" + c = self.min - other.min + if c == 0: c = self.max - other.max + if c < 0: c = -1 + if c > 0: c = 1 + return c + +class resource_range_as(resource_range): + """Range of Autonomous System Numbers. + + Denotes a single ASN by a range whose min and max values are identical. + """ + + datum_type = long + + def __str__(self): + """Convert a resource_range_as to string format.""" + if self.min == self.max: + return str(self.min) + else: + return str(self.min) + "-" + str(self.max) + + def to_tuple(self): + """Convert a resource_range_as to tuple format for ASN.1 encoding.""" + if self.min == self.max: + return ("id", self.min) + else: + return ("range", (self.min, self.max)) + +class resource_range_ip(resource_range): + """Range of (generic) IP addresses. + + Prefixes are converted to ranges on input, and ranges that can be + represented as prefixes are written as prefixes on output. + """ + + def _prefixlen(self): + """Determine whether a resource_range_ip can be expressed as a prefix.""" + mask = self.min ^ self.max + prefixlen = self.datum_type.bits + while mask & 1: + prefixlen -= 1 + mask >>= 1 + if mask: + return -1 + else: + return prefixlen + + def __str__(self): + """Convert a resource_range_ip to string format.""" + prefixlen = self._prefixlen() + if prefixlen < 0: + return str(self.min) + "-" + str(self.max) + else: + return str(self.min) + "/" + str(prefixlen) + + def to_tuple(self): + """Convert a resource_range_ip to tuple format for ASN.1 encoding.""" + prefixlen = self._prefixlen() + if prefixlen < 0: + return ("addressRange", (_long2bs(self.min, self.datum_type.bits, strip = 0), + _long2bs(self.max, self.datum_type.bits, strip = 1))) + else: + return ("addressPrefix", _long2bs(self.min, self.datum_type.bits, prefixlen = prefixlen)) + +class resource_range_ipv4(resource_range_ip): + """Range of IPv4 addresses.""" + + datum_type = rpki.ipaddrs.v4addr + +class resource_range_ipv6(resource_range_ip): + """Range of IPv6 addresses.""" + + datum_type = rpki.ipaddrs.v6addr + +def _rsplit(rset, that): + """Split a resource range into two resource ranges.""" + this = rset.pop(0) + cell_type = type(this.min) + assert type(this) is type(that) and type(this.max) is cell_type and \ + type(that.min) is cell_type and type(that.max) is cell_type + if this.min < that.min: + rset.insert(0, type(this)(this.min, cell_type(that.min - 1))) + rset.insert(1, type(this)(that.min, this.max)) + else: + assert this.max > that.max + rset.insert(0, type(this)(this.min, that.max)) + rset.insert(1, type(this)(cell_type(that.max + 1), this.max)) + +class resource_set(list): + """Generic resource set. + + List type containing resource ranges. You probably don't want to + use this type directly. + """ + + inherit = False + + def __init__(self, ini = None): + """Initialize a resource_set.""" + if isinstance(ini, int) or isinstance(ini, long): + ini = str(ini) + if ini == inherit_token: + self.inherit = True + elif isinstance(ini, str) and len(ini): + self.extend(map(self.parse_str, ini.split(","))) + elif isinstance(ini, tuple): + self.parse_tuple(ini) + elif isinstance(ini, list): + self.extend(ini) + else: + assert ini is None or ini == "", "Unexpected initializer: %s" % str(ini) + assert not self.inherit or not self + self.sort() + if __debug__: + for i in range(0, len(self) - 1): + assert self[i].max < self[i+1].min, "Resource overlap: %s %s" % (self[i], self[i+1]) + + def __str__(self): + """Convert a resource_set to string format.""" + if self.inherit: + return inherit_token + else: + return ",".join(map(str, self)) + + def _comm(self, other): + """Like comm(1), sort of. + + Returns a tuple of three resource sets: resources only in self, + resources only in other, and resources in both. Used (not very + efficiently) as the basis for most set operations on resource + sets. + """ + assert not self.inherit + assert type(self) is type(other), "Type mismatch %s %s" % (repr(type(self)), repr(type(other))) + set1 = self[:] + set2 = other[:] + only1, only2, both = [], [], [] + while set1 or set2: + if set1 and (not set2 or set1[0].max < set2[0].min): + only1.append(set1.pop(0)) + elif set2 and (not set1 or set2[0].max < set1[0].min): + only2.append(set2.pop(0)) + elif set1[0].min < set2[0].min: + _rsplit(set1, set2[0]) + elif set2[0].min < set1[0].min: + _rsplit(set2, set1[0]) + elif set1[0].max < set2[0].max: + _rsplit(set2, set1[0]) + elif set2[0].max < set1[0].max: + _rsplit(set1, set2[0]) + else: + assert set1[0].min == set2[0].min and set1[0].max == set2[0].max + both.append(set1.pop(0)) + set2.pop(0) + return type(self)(only1), type(self)(only2), type(self)(both) + + def union(self, other): + """Set union for resource sets.""" + assert not self.inherit + assert type(self) is type(other), "Type mismatch: %s %s" % (repr(type(self)), repr(type(other))) + set1 = self[:] + set2 = other[:] + result = [] + while set1 or set2: + if set1 and (not set2 or set1[0].max < set2[0].min): + result.append(set1.pop(0)) + elif set2 and (not set1 or set2[0].max < set1[0].min): + result.append(set2.pop(0)) + else: + this = set1.pop(0) + that = set2.pop(0) + assert type(this) is type(that) + if this.min < that.min: min = this.min + else: min = that.min + if this.max > that.max: max = this.max + else: max = that.max + result.append(type(this)(min, max)) + for i in range(len(result) - 2, -1, -1): + if result[i].max + 1 == result[i + 1].min: + result[i].max = result[i + 1].max + result.pop(i + 1) + return type(self)(result) + + def intersection(self, other): + """Set intersection for resource sets.""" + return self._comm(other)[2] + + def difference(self, other): + """Set difference for resource sets.""" + return self._comm(other)[0] + + def symmetric_difference(self, other): + """Set symmetric difference (XOR) for resource sets.""" + com = self._comm(other) + return com[0].union(com[1]) + + def contains(self, item): + """Set membership test for resource sets.""" + assert not self.inherit + for i in self: + if isinstance(item, type(i)) and i.min <= item.min and i.max >= item.max: + return True + elif isinstance(item, type(i.min)) and i.min <= item and i.max >= item: + return True + else: + assert isinstance(item, (type(i), type(i.min))) + return False + + def issubset(self, other): + """Test whether self is a subset (possibly improper) of other.""" + for i in self: + if not other.contains(i): + return False + return True + + def issuperset(self, other): + """Test whether self is a superset (possibly improper) of other.""" + return other.issubset(self) + + @classmethod + def from_sql(cls, cur, query, args = None): + """Create resource set from an SQL query. + + cur is a DB API 2.0 cursor object. + + query is an SQL query that returns a sequence of (min, max) pairs. + """ + + cur.execute(query, args) + return cls(ini = [cls.range_type(cls.range_type.datum_type(b), + cls.range_type.datum_type(e)) + for (b,e) in cur.fetchall()]) + +class resource_set_as(resource_set): + """ASN resource set.""" + + range_type = resource_range_as + + def parse_str(self, x): + """Parse AS resource sets from text (eg, XML attributes).""" + r = re.match("^([0-9]+)-([0-9]+)$", x) + if r: + return resource_range_as(long(r.group(1)), long(r.group(2))) + else: + return resource_range_as(long(x), long(x)) + + def parse_tuple(self, x): + """Parse AS resource sets from intermediate form generated by ASN.1 decoder.""" + if x[0] == "asIdsOrRanges": + for aor in x[1]: + if aor[0] == "range": + min = aor[1][0] + max = aor[1][1] + else: + min = aor[1] + max = min + self.append(resource_range_as(min, max)) + else: + assert x[0] == "inherit" + self.inherit = True + + def to_tuple(self): + """Encode AS resource set into intermediate form used by ASN.1 encoder.""" + if self: + return ("asIdsOrRanges", tuple(a.to_tuple() for a in self)) + elif self.inherit: + return ("inherit", "") + else: + return None + +class resource_set_ip(resource_set): + """(Generic) IP address resource set. + + You probably don't want to use this type directly. + """ + + def parse_str(self, x): + """Parse IP address resource sets from text (eg, XML attributes).""" + r = re.match("^([0-9:.a-fA-F]+)-([0-9:.a-fA-F]+)$", x) + if r: + return self.range_type(self.range_type.datum_type(r.group(1)), self.range_type.datum_type(r.group(2))) + r = re.match("^([0-9:.a-fA-F]+)/([0-9]+)$", x) + if r: + min = self.range_type.datum_type(r.group(1)) + prefixlen = int(r.group(2)) + mask = (1 << (self.range_type.datum_type.bits - prefixlen)) - 1 + assert (min & mask) == 0, "Resource not in canonical form: %s" % (x) + max = self.range_type.datum_type(min | mask) + return self.range_type(min, max) + raise RuntimeError, 'Bad IP resource "%s"' % (x) + + def parse_tuple(self, x): + """Parse IP address resource sets from intermediate form generated by ASN.1 decoder.""" + if x[0] == "addressesOrRanges": + for aor in x[1]: + if aor[0] == "addressRange": + min = _bs2long(aor[1][0]) << (self.range_type.datum_type.bits - len(aor[1][0])) + max = _bs2long(aor[1][1]) << (self.range_type.datum_type.bits - len(aor[1][1])) + mask = (1L << (self.range_type.datum_type.bits - len(aor[1][1]))) - 1 + else: + min = _bs2long(aor[1]) << (self.range_type.datum_type.bits - len(aor[1])) + mask = (1L << (self.range_type.datum_type.bits - len(aor[1]))) - 1 + assert (min & mask) == 0, "Resource not in canonical form: %s" % (str(x)) + max = min | mask + self.append(self.range_type(self.range_type.datum_type(min), self.range_type.datum_type(max))) + else: + assert x[0] == "inherit" + self.inherit = True + + def to_tuple(self): + """Encode IP resource set into intermediate form used by ASN.1 encoder.""" + if self: + return (self.afi, ("addressesOrRanges", tuple(a.to_tuple() for a in self))) + elif self.inherit: + return (self.afi, ("inherit", "")) + else: + return None + +class resource_set_ipv4(resource_set_ip): + """IPv4 address resource set.""" + + range_type = resource_range_ipv4 + afi = "\x00\x01" + +class resource_set_ipv6(resource_set_ip): + """IPv6 address resource set.""" + + range_type = resource_range_ipv6 + afi = "\x00\x02" + +def _bs2long(bs): + """Convert a bitstring (tuple representation) into a long.""" + return reduce(lambda x, y: (x << 1) | y, bs, 0L) + +def _long2bs(number, addrlen, prefixlen = None, strip = None): + """Convert a long into a tuple bitstring. This is a bit complicated + because it supports the fiendishly compact encoding used in RFC 3779. + """ + assert prefixlen is None or strip is None + bs = [] + while number: + bs.append(int(number & 1)) + number >>= 1 + if addrlen > len(bs): + bs.extend((0 for i in xrange(addrlen - len(bs)))) + bs.reverse() + if prefixlen is not None: + return tuple(bs[0:prefixlen]) + if strip is not None: + while bs and bs[-1] == strip: + bs.pop() + return tuple(bs) + +class resource_bag(object): + """Container to simplify passing around the usual triple of AS, + IPv4, and IPv6 resource sets. + """ + + def __init__(self, as = None, v4 = None, v6 = None, valid_until = None): + self.as = as or resource_set_as() + self.v4 = v4 or resource_set_ipv4() + self.v6 = v6 or resource_set_ipv6() + self.valid_until = valid_until + + def oversized(self, other): + """True iff self is oversized with respect to other.""" + return not self.as.issubset(other.as) or \ + not self.v4.issubset(other.v4) or \ + not self.v6.issubset(other.v6) + + def undersized(self, other): + """True iff self is undersized with respect to other.""" + return not other.as.issubset(self.as) or \ + not other.v4.issubset(self.v4) or \ + not other.v6.issubset(self.v6) + + @classmethod + def from_asn1_tuples(cls, exts): + """Build a resource_bag from intermediate form returned by ASN.1 decoder.""" + as = None + v4 = None + v6 = None + for x in exts: + if x[0] == rpki.oids.name2oid["sbgp-autonomousSysNum"]: # + assert len(x[2]) == 1 or x[2][1] is None, "RDI not implemented: %s" % (str(x)) + assert as is None + as = resource_set_as(x[2][0]) + if x[0] == rpki.oids.name2oid["sbgp-ipAddrBlock"]: + for fam in x[2]: + if fam[0] == resource_set_ipv4.afi: + assert v4 is None + v4 = resource_set_ipv4(fam[1]) + if fam[0] == resource_set_ipv6.afi: + assert v6 is None + v6 = resource_set_ipv6(fam[1]) + return cls(as, v4, v6) + + def empty(self): + """Return True iff all resource sets in this bag are empty.""" + return not self.as and not self.v4 and not self.v6 + + def __eq__(self, other): + return self.as == other.as and \ + self.v4 == other.v4 and \ + self.v6 == other.v6 and \ + self.valid_until == other.valid_until + + def __ne__(self, other): + return not (self == other) + + def intersection(self, other): + """Compute intersection with another resource_bag. + valid_until attribute (if any) inherits from self. + """ + return self.__class__(self.as.intersection(other.as), + self.v4.intersection(other.v4), + self.v6.intersection(other.v6), + self.valid_until) + + def union(self, other): + """Compute union with another resource_bag. + valid_until attribute (if any) inherits from self. + """ + return self.__class__(self.as.union(other.as), + self.v4.union(other.v4), + self.v6.union(other.v6), + self.valid_until) + + def __str__(self): + s = "" + if self.as: + s += "AS: %s" % self.as + if self.v4: + if s: + s += ", " + s += "V4: %s" % self.v4 + if self.v6: + if s: + s += ", " + s += "V6: %s" % self.v6 + return s + +# Test suite for set operations. This will probably go away eventually + +if __name__ == "__main__": + + def test(t, s1, s2): + print + r1 = t(s1) + r2 = t(s2) + print "x: ", r1 + print "y: ", r2 + v1 = r1._comm(r2) + v2 = r2._comm(r1) + assert v1[0] == v2[1] and v1[1] == v2[0] and v1[2] == v2[2] + for i in r1: assert r1.contains(i) and r1.contains(i.min) and r1.contains(i.max) + for i in r2: assert r2.contains(i) and r2.contains(i.min) and r2.contains(i.max) + for i in v1[0]: assert r1.contains(i) and not r2.contains(i) + for i in v1[1]: assert not r1.contains(i) and r2.contains(i) + for i in v1[2]: assert r1.contains(i) and r2.contains(i) + v1 = r1.union(r2) + v2 = r2.union(r1) + assert v1 == v2 + print "x|y:", v1 + v1 = r1.difference(r2) + v2 = r2.difference(r1) + print "x-y:", v1 + print "y-x:", v2 + v1 = r1.symmetric_difference(r2) + v2 = r2.symmetric_difference(r1) + assert v1 == v2 + print "x^y:", v1 + v1 = r1.intersection(r2) + v2 = r2.intersection(r1) + assert v1 == v2 + print "x&y:", v1 + + print "Testing set operations on resource sets" + test(resource_set_as, "1,2,3,4,5,6,11,12,13,14,15", "1,2,3,4,5,6,111,121,131,141,151") + test(resource_set_ipv4, "10.0.0.44/32,10.6.0.2/32", "10.3.0.0/24,10.0.0.77/32") + test(resource_set_ipv4, "10.0.0.44/32,10.6.0.2/32", "10.0.0.0/24") + test(resource_set_ipv4, "10.0.0.0/24", "10.3.0.0/24,10.0.0.77/32") diff --git a/rpkid/rpki/roa.py b/rpkid/rpki/roa.py new file mode 100644 index 00000000..15d1c6eb --- /dev/null +++ b/rpkid/rpki/roa.py @@ -0,0 +1,49 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" ROA (Route Origin Authorization). + +At the moment this is just the ASN.1 encoder. + +This corresponds to draft-ietf-sidr-roa-format-01, which is a work in +progress, so this may need updating later. +""" + +from POW._der import * + +class IPAddresses(SequenceOf): + def __init__(self, optional=0, default=''): + SequenceOf.__init__(self, BitString, optional, default) + +class ROAIPAddressFamily(Sequence): + def __init__(self, optional=0, default=''): + self.addressFamily = OctetString() + self.addresses = IPAddresses() + contents = [ self.addressFamily, self.addresses ] + Sequence.__init__(self, contents, optional, default) + +class ROAIPAddrBlocks(SequenceOf): + def __init__(self, optional=0, default=''): + SequenceOf.__init__(self, ROAIPAddressFamily, optional, default) + +class RouteOriginAttestation(Sequence): + def __init__(self, optional=0, default=''): + self.version = Integer(0, chr(0x00)) + self.asID = Integer() + self.exactMatch = Boolean() + self.ipAddrBlocks = ROAIPAddrBlocks() + contents = [ self.version, self.asID, self.exactMatch, self.ipAddrBlocks ] + Sequence.__init__(self, contents, optional, default) diff --git a/rpkid/rpki/sax_utils.py b/rpkid/rpki/sax_utils.py new file mode 100644 index 00000000..a472bee9 --- /dev/null +++ b/rpkid/rpki/sax_utils.py @@ -0,0 +1,93 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""SAX utilities.""" + +import xml.sax, lxml.sax + +class handler(xml.sax.handler.ContentHandler): + """SAX handler for RPKI protocols. + + This class provides some basic amenities for parsing protocol XML of + the kind we use in the RPKI protocols, including whacking all the + protocol element text into US-ASCII, simplifying accumulation of + text fields, and hiding some of the fun relating to XML namespaces. + + General assumption: by the time this parsing code gets invoked, the + XML has already passed RelaxNG validation, so we only have to check + for errors that the schema can't catch, and we don't have to play as + many XML namespace games. + """ + + def __init__(self): + """Initialize SAX handler.""" + self.text = "" + self.stack = [] + + def startElementNS(self, name, qname, attrs): + """Redirect startElementNS() events to startElement().""" + return self.startElement(name[1], attrs) + + def endElementNS(self, name, qname): + """Redirect endElementNS() events to endElement().""" + return self.endElement(name[1]) + + def characters(self, content): + """Accumulate a chuck of element content (text).""" + self.text += content + + def startElement(self, name, attrs): + """Handle startElement() events. + + We maintain a stack of nested elements under construction so that + we can feed events directly to the current element rather than + having to pass them through all the nesting elements. + + If the stack is empty, this event is for the outermost element, so + we call a virtual method to create the corresponding object and + that's the object we'll be returning as our final result. + """ + a = dict() + for k,v in attrs.items(): + if isinstance(k, tuple): + if k == ("http://www.w3.org/XML/1998/namespace", "lang"): + k = "xml:lang" + else: + assert k[0] is None + k = k[1] + a[k.encode("ascii")] = v.encode("ascii") + if len(self.stack) == 0: + assert not hasattr(self, "result") + self.result = self.create_top_level(name, a) + self.stack.append(self.result) + self.stack[-1].startElement(self.stack, name, a) + + def endElement(self, name): + """Handle endElement() events. + + Mostly this means handling any accumulated element text. + """ + text = self.text.encode("ascii").strip() + self.text = "" + self.stack[-1].endElement(self.stack, name, text) + + @classmethod + def saxify(cls, elt): + """Create a one-off SAX parser, parse an ETree, return the result. + """ + self = cls() + lxml.sax.saxify(elt, self) + return self.result diff --git a/rpkid/rpki/sql.py b/rpkid/rpki/sql.py new file mode 100644 index 00000000..022e4dd5 --- /dev/null +++ b/rpkid/rpki/sql.py @@ -0,0 +1,801 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +import MySQLdb, time +import rpki.x509, rpki.resource_set, rpki.sundial + +def connect(cfg): + """Connect to a MySQL database using connection parameters from an + rpki.config.parser object. + """ + return MySQLdb.connect(user = cfg.get("sql-username"), + db = cfg.get("sql-database"), + passwd = cfg.get("sql-password")) + +class template(object): + """SQL template generator.""" + def __init__(self, table_name, index_column, *data_columns): + """Build a SQL template.""" + type_map = dict((x[0],x[1]) for x in data_columns if isinstance(x, tuple)) + data_columns = tuple(isinstance(x, tuple) and x[0] or x for x in data_columns) + columns = (index_column,) + data_columns + self.table = table_name + self.index = index_column + self.columns = columns + self.map = type_map + self.select = "SELECT %s FROM %s" % (", ".join(columns), table_name) + self.insert = "INSERT %s (%s) VALUES (%s)" % (table_name, ", ".join(data_columns), + ", ".join("%(" + s + ")s" for s in data_columns)) + self.update = "UPDATE %s SET %s WHERE %s = %%(%s)s" % \ + (table_name, ", ".join(s + " = %(" + s + ")s" for s in data_columns), + index_column, index_column) + self.delete = "DELETE FROM %s WHERE %s = %%s" % (table_name, index_column) + +## @var sql_cache +# Cache of objects pulled from SQL. + +sql_cache = {} + +## @var sql_dirty +# Set of objects that need to be written back to SQL. + +sql_dirty = set() + +def sql_cache_clear(): + """Clear the object cache.""" + sql_cache.clear() + +def sql_assert_pristine(): + """Assert that there are no dirty objects in the cache.""" + assert not sql_dirty, "Dirty objects in SQL cache: %s" % sql_dirty + +def sql_sweep(gctx): + """Write any dirty objects out to SQL.""" + for s in sql_dirty.copy(): + rpki.log.debug("Sweeping %s" % repr(s)) + s.sql_store(gctx) + sql_assert_pristine() + +class sql_persistant(object): + """Mixin for persistant class that needs to be stored in SQL. + """ + + ## @var sql_in_db + # Whether this object is already in SQL or not. + sql_in_db = False + + @classmethod + def sql_fetch(cls, gctx, id): + """Fetch one object from SQL, based on its primary key. Since in + this one case we know that the primary index is also the cache + key, we check for a cache hit directly in the hope of bypassing the + SQL lookup entirely. + """ + key = (cls, id) + if key in sql_cache: + return sql_cache[key] + else: + return cls.sql_fetch_where1(gctx, "%s = %s", (cls.sql_template.index, id)) + + @classmethod + def sql_fetch_where1(cls, gctx, where, args = None): + """Fetch one object from SQL, based on an arbitrary SQL WHERE expression.""" + results = cls.sql_fetch_where(gctx, where, args) + if len(results) == 0: + return None + elif len(results) == 1: + return results[0] + else: + raise rpki.exceptions.DBConsistancyError, \ + "Database contained multiple matches for %s where %s" % \ + (cls.__name__, where % tuple(repr(a) for a in args)) + + @classmethod + def sql_fetch_all(cls, gctx): + """Fetch all objects of this type from SQL.""" + return cls.sql_fetch_where(gctx, None) + + @classmethod + def sql_fetch_where(cls, gctx, where, args = None): + """Fetch objects of this type matching an arbitrary SQL WHERE expression.""" + if where is None: + gctx.cur.execute(cls.sql_template.select) + else: + gctx.cur.execute(cls.sql_template.select + " WHERE " + where, args) + results = [] + for row in gctx.cur.fetchall(): + key = (cls, row[0]) + if key in sql_cache: + results.append(sql_cache[key]) + else: + results.append(cls.sql_init(gctx, row, key)) + return results + + @classmethod + def sql_init(cls, gctx, row, key): + """Initialize one Python object from the result of a SQL query.""" + self = cls() + self.sql_decode(dict(zip(cls.sql_template.columns, row))) + sql_cache[key] = self + self.sql_in_db = True + self.sql_fetch_hook(gctx) + return self + + def sql_mark_dirty(self): + """Mark this object as needing to be written back to SQL.""" + sql_dirty.add(self) + + def sql_mark_clean(self): + """Mark this object as not needing to be written back to SQL.""" + sql_dirty.discard(self) + + def sql_is_dirty(self): + """Query whether this object needs to be written back to SQL.""" + return self in sql_dirty + + def sql_store(self, gctx): + """Store this object to SQL.""" + if not self.sql_in_db: + gctx.cur.execute(self.sql_template.insert, self.sql_encode()) + setattr(self, self.sql_template.index, gctx.cur.lastrowid) + sql_cache[(self.__class__, gctx.cur.lastrowid)] = self + self.sql_insert_hook(gctx) + else: + gctx.cur.execute(self.sql_template.update, self.sql_encode()) + self.sql_update_hook(gctx) + key = (self.__class__, getattr(self, self.sql_template.index)) + assert key in sql_cache and sql_cache[key] == self + self.sql_mark_clean() + self.sql_in_db = True + + def sql_delete(self, gctx): + """Delete this object from SQL.""" + if self.sql_in_db: + id = getattr(self, self.sql_template.index) + gctx.cur.execute(self.sql_template.delete, id) + self.sql_delete_hook(gctx) + key = (self.__class__, id) + if sql_cache.get(key) == self: + del sql_cache[key] + self.sql_in_db = False + self.sql_mark_clean() + + def sql_encode(self): + """Convert object attributes into a dict for use with canned SQL + queries. This is a default version that assumes a one-to-one + mapping between column names in SQL and attribute names in Python. + If you need something fancier, override this. + """ + d = dict((a, getattr(self, a, None)) for a in self.sql_template.columns) + for i in self.sql_template.map: + if d.get(i) is not None: + d[i] = self.sql_template.map[i].to_sql(d[i]) + return d + + def sql_decode(self, vals): + """Initialize an object with values returned by self.sql_fetch(). + This is a default version that assumes a one-to-one mapping + between column names in SQL and attribute names in Python. If you + need something fancier, override this. + """ + for a in self.sql_template.columns: + if vals.get(a) is not None and a in self.sql_template.map: + setattr(self, a, self.sql_template.map[a].from_sql(vals[a])) + else: + setattr(self, a, vals[a]) + + def sql_fetch_hook(self, gctx): + """Customization hook.""" + pass + + def sql_insert_hook(self, gctx): + """Customization hook.""" + pass + + def sql_update_hook(self, gctx): + """Customization hook.""" + self.sql_delete_hook(gctx) + self.sql_insert_hook(gctx) + + def sql_delete_hook(self, gctx): + """Customization hook.""" + pass + +# Some persistant objects are defined in rpki.left_right, since +# they're also left-right PDUs. The rest are defined below, for now. + +class ca_obj(sql_persistant): + """Internal CA object.""" + + sql_template = template( + "ca", "ca_id", "last_crl_sn", + ("next_crl_update", rpki.sundial.datetime), + "last_issued_sn", "last_manifest_sn", + ("next_manifest_update", rpki.sundial.datetime), + "sia_uri", "parent_id", "parent_resource_class") + + last_crl_sn = 0 + last_issued_sn = 0 + last_manifest_sn = 0 + + def parent(self, gctx): + """Fetch parent object to which this CA object links.""" + return rpki.left_right.parent_elt.sql_fetch(gctx, self.parent_id) + + def ca_details(self, gctx): + """Fetch all ca_detail objects that link to this CA object.""" + return ca_detail_obj.sql_fetch_where(gctx, "ca_id = %s", (self.ca_id,)) + + def fetch_pending(self, gctx): + """Fetch the pending ca_details for this CA, if any.""" + return ca_detail_obj.sql_fetch_where(gctx, "ca_id = %s AND state = 'pending'", (self.ca_id,)) + + def fetch_active(self, gctx): + """Fetch the active ca_detail for this CA, if any.""" + return ca_detail_obj.sql_fetch_where1(gctx, "ca_id = %s AND state = 'active'", (self.ca_id,)) + + def fetch_deprecated(self, gctx): + """Fetch deprecated ca_details for this CA, if any.""" + return ca_detail_obj.sql_fetch_where(gctx, "ca_id = %s AND state = 'deprecated'", (self.ca_id,)) + + def fetch_revoked(self, gctx): + """Fetch revoked ca_details for this CA, if any.""" + return ca_detail_obj.sql_fetch_where(gctx, "ca_id = %s AND state = 'revoked'", (self.ca_id,)) + + def construct_sia_uri(self, gctx, parent, rc): + """Construct the sia_uri value for this CA given configured + information and the parent's up-down protocol list_response PDU. + """ + + repository = parent.repository(gctx) + sia_uri = rc.suggested_sia_head and rc.suggested_sia_head.rsync() + if not sia_uri or not sia_uri.startswith(parent.sia_base): + sia_uri = parent.sia_base + elif not sia_uri.endswith("/"): + raise rpki.exceptions.BadURISyntax, "SIA URI must end with a slash: %s" % sia_uri + return sia_uri + str(self.ca_id) + "/" + + def check_for_updates(self, gctx, parent, rc): + """Parent has signaled continued existance of a resource class we + already knew about, so we need to check for an updated + certificate, changes in resource coverage, revocation and reissue + with the same key, etc. + """ + + sia_uri = self.construct_sia_uri(gctx, parent, rc) + sia_uri_changed = self.sia_uri != sia_uri + if sia_uri_changed: + self.sia_uri = sia_uri + self.sql_mark_dirty() + + rc_resources = rc.to_resource_bag() + cert_map = dict((c.cert.get_SKI(), c) for c in rc.certs) + + for ca_detail in ca_detail_obj.sql_fetch_where(gctx, "ca_id = %s AND latest_ca_cert IS NOT NULL AND state != 'revoked'", (self.ca_id,)): + ski = ca_detail.latest_ca_cert.get_SKI() + if ca_detail.state in ("pending", "active"): + current_resources = ca_detail.latest_ca_cert.get_3779resources() + if sia_uri_changed or \ + ca_detail.latest_ca_cert != cert_map[ski].cert or \ + current_resources.undersized(rc_resources) or \ + current_resources.oversized(rc_resources): + ca_detail.update( + gctx = gctx, + parent = parent, + ca = self, + rc = rc, + sia_uri_changed = sia_uri_changed, + old_resources = current_resources) + del cert_map[ski] + assert not cert_map, "Certificates in list_response missing from our database, SKIs %s" % ", ".join(c.cert.hSKI() for c in cert_map.values()) + + @classmethod + def create(cls, gctx, parent, rc): + """Parent has signaled existance of a new resource class, so we + need to create and set up a corresponding CA object. + """ + + self = cls() + self.parent_id = parent.parent_id + self.parent_resource_class = rc.class_name + self.sql_store(gctx) + self.sia_uri = self.construct_sia_uri(gctx, parent, rc) + ca_detail = ca_detail_obj.create(gctx, self) + + # This will need a callback when we go event-driven + issue_response = rpki.up_down.issue_pdu.query(gctx, parent, self, ca_detail) + + ca_detail.activate( + gctx = gctx, + ca = self, + cert = issue_response.payload.classes[0].certs[0].cert, + uri = issue_response.payload.classes[0].certs[0].cert_url) + + def delete(self, gctx, parent): + """The list of current resource classes received from parent does + not include the class corresponding to this CA, so we need to + delete it (and its little dog too...). + + All certs published by this CA are now invalid, so need to + withdraw them, the CRL, and the manifest from the repository, + delete all child_cert and ca_detail records associated with this + CA, then finally delete this CA itself. + """ + + repository = parent.repository(gctx) + for ca_detail in self.ca_details(gctx): + ca_detail.delete(gctx, ca, repository) + self.sql_delete(gctx) + + def next_serial_number(self): + """Allocate a certificate serial number.""" + self.last_issued_sn += 1 + self.sql_mark_dirty() + return self.last_issued_sn + + def next_manifest_number(self): + """Allocate a manifest serial number.""" + self.last_manifest_sn += 1 + self.sql_mark_dirty() + return self.last_manifest_sn + + def next_crl_number(self): + """Allocate a CRL serial number.""" + self.last_crl_sn += 1 + self.sql_mark_dirty() + return self.last_crl_sn + + def rekey(self, gctx): + """Initiate a rekey operation for this ca. + + Tasks: + + - Generate a new keypair. + + - Request cert from parent using new keypair. + + - Mark result as our active ca_detail. + + - Reissue all child certs issued by this ca using the new ca_detail. + """ + + rpki.log.trace() + + parent = self.parent(gctx) + old_detail = self.fetch_active(gctx) + new_detail = ca_detail_obj.create(gctx, self) + + # This will need a callback when we go event-driven + issue_response = rpki.up_down.issue_pdu.query(gctx, parent, self, new_detail) + + new_detail.activate( + gctx = gctx, + ca = self, + cert = issue_response.payload.classes[0].certs[0].cert, + uri = issue_response.payload.classes[0].certs[0].cert_url, + predecessor = old_detail) + + def revoke(self, gctx): + """Revoke deprecated ca_detail objects associated with this ca.""" + + rpki.log.trace() + + for ca_detail in self.fetch_deprecated(gctx): + ca_detail.revoke(gctx) + +class ca_detail_obj(sql_persistant): + """Internal CA detail object.""" + + sql_template = template( + "ca_detail", + "ca_detail_id", + ("private_key_id", rpki.x509.RSA), + ("public_key", rpki.x509.RSApublic), + ("latest_ca_cert", rpki.x509.X509), + ("manifest_private_key_id", rpki.x509.RSA), + ("manifest_public_key", rpki.x509.RSApublic), + ("latest_manifest_cert", rpki.x509.X509), + ("latest_manifest", rpki.x509.SignedManifest), + ("latest_crl", rpki.x509.CRL), + "state", + "ca_cert_uri", + "ca_id") + + def sql_decode(self, vals): + """Extra assertions for SQL decode of a ca_detail_obj.""" + sql_persistant.sql_decode(self, vals) + assert (self.public_key is None and self.private_key_id is None) or \ + self.public_key.get_DER() == self.private_key_id.get_public_DER() + assert (self.manifest_public_key is None and self.manifest_private_key_id is None) or \ + self.manifest_public_key.get_DER() == self.manifest_private_key_id.get_public_DER() + + def ca(self, gctx): + """Fetch CA object to which this ca_detail links.""" + return ca_obj.sql_fetch(gctx, self.ca_id) + + def child_certs(self, gctx, child = None, ski = None, revoked = False, unique = False): + """Fetch all child_cert objects that link to this ca_detail.""" + return rpki.sql.child_cert_obj.fetch(gctx, child, self, ski, revoked, unique) + + def route_origins(self, gctx): + """Fetch all route_origin objects that link to this ca_detail.""" + return rpki.left_right.route_origin_elt.sql_fetch_where(gctx, "ca_detail_id = %s", (self.ca_detail_id,)) + + def crl_uri(self, ca): + """Return publication URI for this ca_detail's CRL.""" + return ca.sia_uri + self.public_key.gSKI() + ".crl" + + def manifest_uri(self, ca): + """Return publication URI for this ca_detail's manifest.""" + return ca.sia_uri + self.public_key.gSKI() + ".mnf" + + def activate(self, gctx, ca, cert, uri, predecessor = None): + """Activate this ca_detail.""" + + self.latest_ca_cert = cert + self.ca_cert_uri = uri.rsync() + self.generate_manifest_cert(ca) + self.generate_crl(gctx) + self.generate_manifest(gctx) + self.state = "active" + self.sql_mark_dirty() + + if predecessor is not None: + predecessor.state = "deprecated" + predecessor.sql_mark_dirty() + for child_cert in predecessor.child_certs(gctx): + child_cert.reissue(gctx, self) + + def delete(self, gctx, ca, repository): + """Delete this ca_detail and all of its associated child_cert objects.""" + + for child_cert in self.child_certs(gctx): + repository.withdraw(gctx, child_cert.cert, child_cert.uri(ca)) + child_cert.sql_delete(gctx) + for child_cert in self.child_certs(gctx, revoked = True): + child_cert.sql_delete(gctx) + repository.withdraw(gctx, self.latest_manifest, self.manifest_uri(ca)) + repository.withdraw(gctx, self.latest_crl, self.crl_uri()) + self.sql_delete(gctx) + + def revoke(self, gctx): + """Request revocation of all certificates whose SKI matches the key for this ca_detail. + + Tasks: + + - Request revocation of old keypair by parent. + + - Revoke all child certs issued by the old keypair. + + - Generate a final CRL, signed with the old keypair, listing all + the revoked certs, with a next CRL time after the last cert or + CRL signed by the old keypair will have expired. + + - Destroy old keypair (and manifest keypair). + + - Leave final CRL in place until its next CRL time has passed. + """ + + # This will need a callback when we go event-driven + r_msg = rpki.up_down.revoke_pdu.query(gctx, self) + + if r_msg.payload.ski != self.latest_ca_cert.gSKI(): + raise rpki.exceptions.SKIMismatch + + ca = self.ca(gctx) + parent = ca.parent(gctx) + crl_interval = rpki.sundial.timedelta(seconds = parent.self(gctx).crl_interval) + + nextUpdate = rpki.sundial.datetime.utcnow() + + if self.latest_manifest is not None: + nextUpdate = nextUpdate.later(self.latest_manifest.getNextUpdate()) + + if self.latest_crl is not None: + nextUpdate = nextUpdate.later(self.latest_crl.getNextUpdate()) + + for child_cert in self.child_certs(gctx): + nextUpdate = nextUpdate.later(child_cert.cert.getNotAfter()) + child_cert.revoke(gctx) + + nextUpdate += crl_interval + + self.generate_crl(gctx, nextUpdate) + self.generate_manifest(gctx, nextUpdate) + + self.private_key_id = None + self.manifest_private_key_id = None + self.manifest_public_key = None + self.latest_manifest_cert = None + self.state = "revoked" + self.sql_mark_dirty() + + def update(self, gctx, parent, ca, rc, sia_uri_changed, old_resources): + """Need to get a new certificate for this ca_detail and perhaps + frob children of this ca_detail. + """ + + # This will need a callback when we go event-driven + issue_response = rpki.up_down.issue_pdu.query(gctx, parent, ca, self) + + self.latest_ca_cert = issue_response.payload.classes[0].certs[0].cert + new_resources = self.latest_ca_cert.get_3779resources() + + if sia_uri_changed or old_resources.oversized(new_resources): + for child_cert in self.child_certs(gctx): + child_resources = child_cert.cert.get_3779resources() + if sia_uri_changed or child_resources.oversized(new_resources): + child_cert.reissue( + gctx = gctx, + ca_detail = self, + resources = child_resources.intersection(new_resources)) + + @classmethod + def create(cls, gctx, ca): + """Create a new ca_detail object for a specified CA.""" + self = cls() + self.ca_id = ca.ca_id + self.state = "pending" + + self.private_key_id = rpki.x509.RSA() + self.private_key_id.generate() + self.public_key = self.private_key_id.get_RSApublic() + + self.manifest_private_key_id = rpki.x509.RSA() + self.manifest_private_key_id.generate() + self.manifest_public_key = self.manifest_private_key_id.get_RSApublic() + + self.sql_store(gctx) + return self + + def generate_manifest_cert(self, ca): + """Generate a new manifest certificate for this ca_detail.""" + + resources = rpki.resource_set.resource_bag( + as = rpki.resource_set.resource_set_as("<inherit>"), + v4 = rpki.resource_set.resource_set_ipv4("<inherit>"), + v6 = rpki.resource_set.resource_set_ipv6("<inherit>")) + + self.latest_manifest_cert = self.latest_ca_cert.issue( + keypair = self.private_key_id, + subject_key = self.manifest_public_key, + serial = ca.next_manifest_number(), + sia = None, + aia = self.ca_cert_uri, + crldp = self.crl_uri(ca), + resources = resources, + notAfter = self.latest_ca_cert.getNotAfter(), + is_ca = False) + + def issue(self, gctx, ca, child, subject_key, sia, resources, child_cert = None): + """Issue a new certificate to a child. Optional child_cert + argument specifies an existing child_cert object to update in + place; if not specified, we create a new one. Returns the + child_cert object containing the newly issued cert. + """ + + assert child_cert is None or (child_cert.child_id == child.child_id and + child_cert.ca_detail_id == self.ca_detail_id) + + cert = self.latest_ca_cert.issue( + keypair = self.private_key_id, + subject_key = subject_key, + serial = ca.next_serial_number(), + aia = self.ca_cert_uri, + crldp = self.crl_uri(ca), + sia = sia, + resources = resources, + notAfter = resources.valid_until) + + if child_cert is None: + child_cert = rpki.sql.child_cert_obj( + child_id = child.child_id, + ca_detail_id = self.ca_detail_id, + cert = cert) + rpki.log.debug("Created new child_cert %s" % repr(child_cert)) + else: + child_cert.cert = cert + rpki.log.debug("Reusing existing child_cert %s" % repr(child_cert)) + + child_cert.ski = cert.get_SKI() + + child_cert.sql_store(gctx) + + ca.parent(gctx).repository(gctx).publish(gctx, child_cert.cert, child_cert.uri(ca)) + + self.generate_manifest(gctx) + + return child_cert + + def generate_crl(self, gctx, nextUpdate = None): + """Generate a new CRL for this ca_detail. At the moment this is + unconditional, that is, it is up to the caller to decide whether a + new CRL is needed. + """ + + ca = self.ca(gctx) + parent = ca.parent(gctx) + repository = parent.repository(gctx) + crl_interval = rpki.sundial.timedelta(seconds = parent.self(gctx).crl_interval) + now = rpki.sundial.datetime.utcnow() + + if nextUpdate is None: + nextUpdate = now + crl_interval + + certlist = [] + for child_cert in self.child_certs(gctx, revoked = True): + if now > child_cert.cert.getNotAfter() + crl_interval: + child_cert.sql_delete() + else: + certlist.append((child_cert.cert.getSerial(), child_cert.revoked.toASN1tuple(), ())) + certlist.sort() + + self.latest_crl = rpki.x509.CRL.generate( + keypair = self.private_key_id, + issuer = self.latest_ca_cert, + serial = ca.next_crl_number(), + thisUpdate = now, + nextUpdate = nextUpdate, + revokedCertificates = certlist) + + repository.publish(gctx, self.latest_crl, self.crl_uri(ca)) + + def generate_manifest(self, gctx, nextUpdate = None): + """Generate a new manifest for this ca_detail.""" + + ca = self.ca(gctx) + parent = ca.parent(gctx) + repository = parent.repository(gctx) + crl_interval = rpki.sundial.timedelta(seconds = parent.self(gctx).crl_interval) + now = rpki.sundial.datetime.utcnow() + + if nextUpdate is None: + nextUpdate = now + crl_interval + + certs = self.child_certs(gctx) + + m = rpki.x509.SignedManifest() + m.build( + serial = ca.next_manifest_number(), + thisUpdate = now, + nextUpdate = nextUpdate, + names_and_objs = [(c.uri_tail(), c.cert) for c in certs], + keypair = self.manifest_private_key_id, + certs = rpki.x509.X509_chain(self.latest_manifest_cert)) + self.latest_manifest = m + + repository.publish(gctx, self.latest_manifest, self.manifest_uri(ca)) + +class child_cert_obj(sql_persistant): + """Certificate that has been issued to a child.""" + + sql_template = template("child_cert", "child_cert_id", ("cert", rpki.x509.X509), "child_id", "ca_detail_id", "ski", ("revoked", rpki.sundial.datetime)) + + def __init__(self, child_id = None, ca_detail_id = None, cert = None): + """Initialize a child_cert_obj.""" + self.child_id = child_id + self.ca_detail_id = ca_detail_id + self.cert = cert + self.revoked = None + if child_id or ca_detail_id or cert: + self.sql_mark_dirty() + + def child(self, gctx): + """Fetch child object to which this child_cert object links.""" + return rpki.left_right.child_elt.sql_fetch(gctx, self.child_id) + + def ca_detail(self, gctx): + """Fetch ca_detail object to which this child_cert object links.""" + return ca_detail_obj.sql_fetch(gctx, self.ca_detail_id) + + def uri_tail(self): + """Return the tail (filename) portion of the URI for this child_cert.""" + return self.cert.gSKI() + ".cer" + + def uri(self, ca): + """Return the publication URI for this child_cert.""" + return ca.sia_uri + self.uri_tail() + + def revoke(self, gctx): + """Mark a child cert as revoked.""" + if self.revoked is None: + rpki.log.debug("Revoking %s" % repr(self)) + self.revoked = rpki.sundial.datetime.utcnow() + ca = self.ca_detail(gctx).ca(gctx) + repository = ca.parent(gctx).repository(gctx) + repository.withdraw(gctx, self.cert, self.uri(ca)) + self.sql_mark_dirty() + + def reissue(self, gctx, ca_detail, resources = None, sia = None): + """Reissue an existing cert, reusing the public key. If the cert + we would generate is identical to the one we already have, we just + return the one we already have. If we have to revoke the old + certificate when generating the new one, we have to generate a new + child_cert_obj, so calling code that needs the updated + child_cert_obj must use the return value from this method. + """ + + ca = ca_detail.ca(gctx) + child = self.child(gctx) + + old_resources = self.cert.get_3779resources() + old_sia = self.cert.get_SIA() + old_ca_detail = self.ca_detail(gctx) + + if resources is None: + resources = old_resources + + if sia is None: + sia = old_sia + + assert resources.valid_until is not None and old_resources.valid_until is not None + + if resources == old_resources and sia == old_sia and ca_detail == old_ca_detail: + return self + + must_revoke = old_resources.oversized(resources) or old_resources.valid_until > resources.valid_until + new_issuer = ca_detail != old_ca_detail + + if resources.valid_until != old_resources.valid_until: + rpki.log.debug("Validity changed: %s %s" % ( old_resources.valid_until, resources.valid_until)) + + if must_revoke or new_issuer: + child_cert = None + else: + child_cert = self + + child_cert = ca_detail.issue( + gctx = gctx, + ca = ca, + child = child, + subject_key = self.cert.getPublicKey(), + sia = sia, + resources = resources, + child_cert = child_cert) + + if must_revoke: + for cert in child.child_certs(gctx = gctx, ca_detail = ca_detail, ski = self.ski): + if cert is not child_cert: + cert.revoke(gctx) + + return child_cert + + @classmethod + def fetch(cls, gctx, child = None, ca_detail = None, ski = None, revoked = False, unique = False): + """Fetch all child_cert objects matching a particular set of + parameters. This is a wrapper to consolidate various queries that + would otherwise be inline SQL WHERE expressions. In most cases + code calls this indirectly, through methods in other classes. + """ + + args = [] + where = "revoked IS" + if revoked: + where += " NOT" + where += " NULL" + if child: + where += " AND child_id = %s" + args.append(child.child_id) + if ca_detail: + where += " AND ca_detail_id = %s" + args.append(ca_detail.ca_detail_id) + if ski: + where += " AND ski = %s" + args.append(ski) + if unique: + return cls.sql_fetch_where1(gctx, where, args) + else: + return cls.sql_fetch_where(gctx, where, args) diff --git a/rpkid/rpki/sundial.py b/rpkid/rpki/sundial.py new file mode 100644 index 00000000..a1ffde62 --- /dev/null +++ b/rpkid/rpki/sundial.py @@ -0,0 +1,147 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""Unified RPKI date/time handling, based on the standard Python datetime module. + +Module name chosen to sidestep a nightmare of import-related errors +that occur with the more obvious module names. +""" + +import datetime as pydatetime + +class datetime(pydatetime.datetime): + """RPKI extensions to standard datetime.datetime class. All work + here is in UTC, so we use naive datetime objects. + """ + + def totimestamp(self): + """Convert to seconds from epoch (like time.time()). Conversion + method is a bit silly, but avoids time module timezone whackiness. + """ + return int(self.strftime("%s")) + + @classmethod + def fromUTCTime(cls, x): + """Convert from ASN.1 UTCTime.""" + return cls.strptime(x, "%y%m%d%H%M%SZ") + + def toUTCTime(self): + """Convert to ASN.1 UTCTime.""" + return self.strftime("%y%m%d%H%M%SZ") + + @classmethod + def fromGeneralizedTime(cls, x): + """Convert from ASN.1 GeneralizedTime.""" + return cls.strptime(x, "%Y%m%d%H%M%SZ") + + def toGeneralizedTime(self): + """Convert to ASN.1 GeneralizedTime.""" + return self.strftime("%Y%m%d%H%M%SZ") + + @classmethod + def fromASN1tuple(cls, x): + """Convert from ASN.1 tuple representation.""" + assert isinstance(x, tuple) and len(x) == 2 and x[0] in ("utcTime", "generalTime") + if x[0] == "utcTime": + return cls.fromUTCTime(x[1]) + else: + return cls.fromGeneralizedTime(x[1]) + + ## @var PKIX_threshhold + # Threshold specified in RFC 3280 for switchover from UTCTime to GeneralizedTime. + + PKIX_threshhold = pydatetime.datetime(2050, 1, 1) + + def toASN1tuple(self): + """Convert to ASN.1 tuple representation.""" + if self < self.PKIX_threshhold: + return "utcTime", self.toUTCTime() + else: + return "generalTime", self.toGeneralizedTime() + + @classmethod + def fromXMLtime(cls, x): + """Convert from XML time representation.""" + if x is None: + return None + else: + return cls.strptime(x, "%Y-%m-%dT%H:%M:%SZ") + + def toXMLtime(self): + """Convert to XML time representation.""" + return self.strftime("%Y-%m-%dT%H:%M:%SZ") + + def __str__(self): + return self.toXMLtime() + + @classmethod + def fromdatetime(cls, x): + """Convert a datetime.datetime object into this subclass. + This is whacky due to the weird constructors for datetime. + """ + return cls.combine(x.date(), x.time()) + + def __add__(self, other): + """Force correct class for timedelta results.""" + return self.fromdatetime(pydatetime.datetime.__add__(self, other)) + + def __sub__(self, other): + """Force correct class for timedelta results.""" + return self.fromdatetime(pydatetime.datetime.__sub__(self, other)) + + @classmethod + def from_sql(cls, x): + """Convert from SQL storage format.""" + return cls.fromdatetime(x) + + def to_sql(self): + """Convert to SQL storage format.""" + return self + + def later(self, other): + """Return the later of two timestamps.""" + return other if other > self else self + + def earlier(self, other): + """Return the earlier of two timestamps.""" + return other if other < self else self + +# Alias to simplify imports for callers + +timedelta = pydatetime.timedelta + +if __name__ == "__main__": + + now = datetime.utcnow() + print now + print repr(now) + print now.strftime("%s") + print now.toUTCTime() + print now.toGeneralizedTime() + print now.toASN1tuple() + print now.toXMLtime() + + print + + then = now + then += timedelta(days = 30) + print then + print repr(then) + print then.strftime("%s") + print then.toUTCTime() + print then.toGeneralizedTime() + print then.toASN1tuple() + print then.toXMLtime() diff --git a/rpkid/rpki/up_down.py b/rpkid/rpki/up_down.py new file mode 100644 index 00000000..f902d86c --- /dev/null +++ b/rpkid/rpki/up_down.py @@ -0,0 +1,518 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""RPKI "up-down" protocol.""" + +import base64, lxml.etree, time +import rpki.sax_utils, rpki.resource_set, rpki.x509, rpki.exceptions + +xmlns="http://www.apnic.net/specs/rescerts/up-down/" + +nsmap = { None : xmlns } + +class base_elt(object): + """Generic PDU object. + + Virtual class, just provides some default methods. + """ + + def startElement(self, stack, name, attrs): + """Ignore startElement() if there's no specific handler. + + Some elements have no attributes and we only care about their + text content. + """ + pass + + def endElement(self, stack, name, text): + """Ignore endElement() if there's no specific handler. + + If we don't need to do anything else, just pop the stack. + """ + stack.pop() + + def make_elt(self, name, *attrs): + """Construct a element, copying over a set of attributes.""" + elt = lxml.etree.Element("{%s}%s" % (xmlns, name), nsmap=nsmap) + for key in attrs: + val = getattr(self, key, None) + if val is not None: + elt.set(key, str(val)) + return elt + + def make_b64elt(self, elt, name, value=None): + """Construct a sub-element with Base64 text content.""" + if value is None: + value = getattr(self, name, None) + if value is not None: + lxml.etree.SubElement(elt, "{%s}%s" % (xmlns, name), nsmap=nsmap).text = base64.b64encode(value) + + def serve_pdu(self, gctx, q_msg, r_msg, child): + """Default PDU handler to catch unexpected types.""" + raise rpki.exceptions.BadQuery, "Unexpected query type %s" % q_msg.type + + def check_response(self): + """Placeholder for response checking.""" + pass + +class multi_uri(list): + """Container for a set of URIs.""" + + def __init__(self, ini): + """Initialize a set of URIs, which includes basic some syntax checking.""" + if isinstance(ini, (list, tuple)): + self[:] = ini + elif isinstance(ini, str): + self[:] = ini.split(",") + for s in self: + if s.strip() != s or s.find("://") < 0: + raise rpki.exceptions.BadURISyntax, "Bad URI \"%s\"" % s + else: + raise TypeError + + def __str__(self): + """Convert a multi_uri back to a string representation.""" + return ",".join(self) + + def rsync(self): + """Find first rsync://... URI in self.""" + for s in self: + if s.startswith("rsync://"): + return s + return None + +class certificate_elt(base_elt): + """Up-Down protocol representation of an issued certificate.""" + + def startElement(self, stack, name, attrs): + """Handle attributes of <certificate/> element.""" + assert name == "certificate", "Unexpected name %s, stack %s" % (name, stack) + self.cert_url = multi_uri(attrs["cert_url"]) + self.req_resource_set_as = rpki.resource_set.resource_set_as(attrs.get("req_resource_set_as")) + self.req_resource_set_ipv4 = rpki.resource_set.resource_set_ipv4(attrs.get("req_resource_set_ipv4")) + self.req_resource_set_ipv6 = rpki.resource_set.resource_set_ipv6(attrs.get("req_resource_set_ipv6")) + + def endElement(self, stack, name, text): + """Handle text content of a <certificate/> element.""" + assert name == "certificate", "Unexpected name %s, stack %s" % (name, stack) + self.cert = rpki.x509.X509(Base64=text) + stack.pop() + + def toXML(self): + """Generate a <certificate/> element.""" + elt = self.make_elt("certificate", "cert_url", + "req_resource_set_as", "req_resource_set_ipv4", "req_resource_set_ipv6") + elt.text = self.cert.get_Base64() + return elt + +class class_elt(base_elt): + """Up-Down protocol representation of a resource class.""" + + issuer = None + + def __init__(self): + """Initialize class_elt.""" + self.certs = [] + + def startElement(self, stack, name, attrs): + """Handle <class/> elements and their children.""" + if name == "certificate": + cert = certificate_elt() + self.certs.append(cert) + stack.append(cert) + cert.startElement(stack, name, attrs) + elif name != "issuer": + assert name == "class", "Unexpected name %s, stack %s" % (name, stack) + self.class_name = attrs["class_name"] + self.cert_url = multi_uri(attrs["cert_url"]) + self.suggested_sia_head = attrs.get("suggested_sia_head") + self.resource_set_as = rpki.resource_set.resource_set_as(attrs["resource_set_as"]) + self.resource_set_ipv4 = rpki.resource_set.resource_set_ipv4(attrs["resource_set_ipv4"]) + self.resource_set_ipv6 = rpki.resource_set.resource_set_ipv6(attrs["resource_set_ipv6"]) + self.resource_set_notafter = rpki.sundial.datetime.fromXMLtime(attrs.get("resource_set_notafter")) + + def endElement(self, stack, name, text): + """Handle <class/> elements and their children.""" + if name == "issuer": + self.issuer = rpki.x509.X509(Base64=text) + else: + assert name == "class", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + + def toXML(self): + """Generate a <class/> element.""" + elt = self.make_elt("class", "class_name", "cert_url", "resource_set_as", + "resource_set_ipv4", "resource_set_ipv6", + "resource_set_notafter", "suggested_sia_head") + elt.extend([i.toXML() for i in self.certs]) + if self.issuer is not None: + self.make_b64elt(elt, "issuer", self.issuer.get_DER()) + return elt + + def to_resource_bag(self): + """Build a resource_bag from from this <class/> element.""" + return rpki.resource_set.resource_bag(self.resource_set_as, + self.resource_set_ipv4, + self.resource_set_ipv6, + self.resource_set_notafter) + + def from_resource_bag(self, bag): + """Set resources of this class element from a resource_bag.""" + self.resource_set_as = bag.as + self.resource_set_ipv4 = bag.v4 + self.resource_set_ipv6 = bag.v6 + self.resource_set_notafter = bag.valid_until + +class list_pdu(base_elt): + """Up-Down protocol "list" PDU.""" + + def toXML(self): + """Generate (empty) payload of "list" PDU.""" + return [] + + def serve_pdu(self, gctx, q_msg, r_msg, child): + """Serve one "list" PDU.""" + r_msg.payload = list_response_pdu() + + # This will require a callback when we go event-driven + irdb_resources = rpki.left_right.irdb_query(gctx, child.self_id, child.child_id) + + for parent in child.parents(gctx): + for ca in parent.cas(gctx): + ca_detail = ca.fetch_active(gctx) + if not ca_detail: + continue + resources = ca_detail.latest_ca_cert.get_3779resources().intersection(irdb_resources) + if resources.empty(): + continue + rc = class_elt() + rc.class_name = str(ca.ca_id) + rc.cert_url = multi_uri(ca_detail.ca_cert_uri) + rc.from_resource_bag(resources) + for child_cert in child.child_certs(gctx, ca_detail = ca_detail): + c = certificate_elt() + c.cert_url = multi_uri(child_cert.uri(ca)) + c.cert = child_cert.cert + rc.certs.append(c) + rc.issuer = ca_detail.latest_ca_cert + r_msg.payload.classes.append(rc) + + @classmethod + def query(cls, gctx, parent): + """Send a "list" query to parent.""" + return parent.query_up_down(gctx, cls()) + +class class_response_syntax(base_elt): + """Syntax for Up-Down protocol "list_response" and "issue_response" PDUs.""" + + def __init__(self): + """Initialize class_response_syntax.""" + self.classes = [] + + def startElement(self, stack, name, attrs): + """Handle "list_response" and "issue_response" PDUs.""" + assert name == "class", "Unexpected name %s, stack %s" % (name, stack) + c = class_elt() + self.classes.append(c) + stack.append(c) + c.startElement(stack, name, attrs) + + def toXML(self): + """Generate payload of "list_response" and "issue_response" PDUs.""" + return [c.toXML() for c in self.classes] + +class list_response_pdu(class_response_syntax): + """Up-Down protocol "list_response" PDU.""" + + pass + +class issue_pdu(base_elt): + """Up-Down protocol "issue" PDU.""" + + def startElement(self, stack, name, attrs): + """Handle "issue" PDU.""" + assert name == "request", "Unexpected name %s, stack %s" % (name, stack) + self.class_name = attrs["class_name"] + self.req_resource_set_as = rpki.resource_set.resource_set_as(attrs.get("req_resource_set_as")) + self.req_resource_set_ipv4 = rpki.resource_set.resource_set_ipv4(attrs.get("req_resource_set_ipv4")) + self.req_resource_set_ipv6 = rpki.resource_set.resource_set_ipv6(attrs.get("req_resource_set_ipv6")) + + def endElement(self, stack, name, text): + """Handle "issue" PDU.""" + assert name == "request", "Unexpected name %s, stack %s" % (name, stack) + self.pkcs10 = rpki.x509.PKCS10(Base64=text) + stack.pop() + + def toXML(self): + """Generate payload of "issue" PDU.""" + elt = self.make_elt("request", "class_name", "req_resource_set_as", + "req_resource_set_ipv4", "req_resource_set_ipv6") + elt.text = self.pkcs10.get_Base64() + return [elt] + + def serve_pdu(self, gctx, q_msg, r_msg, child): + """Serve one issue request PDU.""" + + # Check the request + ca = child.ca_from_class_name(gctx, self.class_name) + ca_detail = ca.fetch_active(gctx) + self.pkcs10.check_valid_rpki() + + # Check current cert, if any + + # This will require a callback when we go event-driven + irdb_resources = rpki.left_right.irdb_query(gctx, child.self_id, child.child_id) + + resources = irdb_resources.intersection(ca_detail.latest_ca_cert.get_3779resources()) + req_key = self.pkcs10.getPublicKey() + req_sia = self.pkcs10.get_SIA() + child_cert = child.child_certs(gctx, ca_detail = ca_detail, ski = req_key.get_SKI(), unique = True) + + # Generate new cert or regenerate old one if necessary + + if child_cert is None: + child_cert = ca_detail.issue( + gctx = gctx, + ca = ca, + child = child, + subject_key = req_key, + sia = req_sia, + resources = resources) + else: + child_cert = child_cert.reissue( + gctx = gctx, + ca_detail = ca_detail, + sia = req_sia, + resources = resources) + + # Save anything we modified and generate response + rpki.sql.sql_sweep(gctx) + assert child_cert and child_cert.sql_in_db + c = certificate_elt() + c.cert_url = multi_uri(child_cert.uri(ca)) + c.cert = child_cert.cert + rc = class_elt() + rc.class_name = self.class_name + rc.cert_url = multi_uri(ca_detail.ca_cert_uri) + rc.from_resource_bag(resources) + rc.certs.append(c) + rc.issuer = ca_detail.latest_ca_cert + r_msg.payload = issue_response_pdu() + r_msg.payload.classes.append(rc) + + @classmethod + def query(cls, gctx, parent, ca, ca_detail): + """Send an "issue" request to parent associated with ca.""" + assert ca_detail is not None and ca_detail.state in ("pending", "active") + sia = ((rpki.oids.name2oid["id-ad-caRepository"], ("uri", ca.sia_uri)), + (rpki.oids.name2oid["id-ad-rpkiManifest"], ("uri", ca_detail.manifest_uri(ca)))) + self = cls() + self.class_name = ca.parent_resource_class + self.pkcs10 = rpki.x509.PKCS10.create_ca(ca_detail.private_key_id, sia) + return parent.query_up_down(gctx, self) + +class issue_response_pdu(class_response_syntax): + """Up-Down protocol "issue_response" PDU.""" + + def check_response(self): + """Check whether this looks like a reasonable issue_response PDU. + XML schema should be tighter for this response. + """ + if len(self.classes) != 1 or len(self.classes[0].certs) != 1: + raise rpki.exceptions.BadIssueResponse + +class revoke_syntax(base_elt): + """Syntax for Up-Down protocol "revoke" and "revoke_response" PDUs.""" + + def startElement(self, stack, name, attrs): + """Handle "revoke" PDU.""" + self.class_name = attrs["class_name"] + self.ski = attrs["ski"] + + def toXML(self): + """Generate payload of "revoke" PDU.""" + return [self.make_elt("key", "class_name", "ski")] + +class revoke_pdu(revoke_syntax): + """Up-Down protocol "revoke" PDU.""" + + def get_SKI(self): + """Convert g(SKI) encoding from PDU back to raw SKI.""" + return base64.urlsafe_b64decode(self.ski + "=") + + def serve_pdu(self, gctx, q_msg, r_msg, child): + """Serve one revoke request PDU.""" + for ca_detail in child.ca_from_class_name(gctx, self.class_name).ca_details(gctx): + for child_cert in child.child_certs(gctx, ca_detail = ca_detail, ski = self.get_SKI()): + child_cert.revoke(gctx) + rpki.sql.sql_sweep(gctx) + r_msg.payload = revoke_response_pdu() + r_msg.payload.class_name = self.class_name + r_msg.payload.ski = self.ski + + @classmethod + def query(cls, gctx, ca_detail): + """Send a "revoke" request to parent associated with ca_detail.""" + ca = ca_detail.ca(gctx) + parent = ca.parent(gctx) + self = cls() + self.class_name = ca.parent_resource_class + self.ski = ca_detail.latest_ca_cert.gSKI() + return parent.query_up_down(gctx, self) + +class revoke_response_pdu(revoke_syntax): + """Up-Down protocol "revoke_response" PDU.""" + + pass + +class error_response_pdu(base_elt): + """Up-Down protocol "error_response" PDU.""" + + codes = { + 1101 : "Already processing request", + 1102 : "Version number error", + 1103 : "Unrecognised request type", + 1201 : "Request - no such resource class", + 1202 : "Request - no resources allocated in resource class", + 1203 : "Request - badly formed certificate request", + 1301 : "Revoke - no such resource class", + 1302 : "Revoke - no such key", + 2001 : "Internal Server Error - Request not performed" } + + exceptions = {} + + def __init__(self, exception = None): + """Initialize an error_response PDU from an exception object.""" + if exception is not None: + if exception in self.exceptions: + self.status = exceptions[exception] + else: + self.status = 2001 + self.description = str(exception) + + def endElement(self, stack, name, text): + """Handle "error_response" PDU.""" + if name == "status": + code = int(text) + if code not in self.codes: + raise rpki.exceptions.BadStatusCode, "%s is not a known status code" + self.status = code + elif name == "description": + self.description = text + else: + assert name == "message", "Unexpected name %s, stack %s" % (name, stack) + stack.pop() + stack[-1].endElement(stack, name, text) + + def toXML(self): + """Generate payload of "error_response" PDU.""" + assert self.status in self.codes + elt = self.make_elt("status") + elt.text = str(self.status) + payload = [elt] + if self.description: + elt = self.make_elt("description") + elt.text = str(self.description) + elt.set("{http://www.w3.org/XML/1998/namespace}lang", "en-US") + payload.append(elt) + return payload + + def check_response(self): + """Handle an error response. For now, just raise an exception, + perhaps figure out something more clever to do later. + """ + raise rpki.exceptions.UpstreamError, self.codes[self.status] + +class message_pdu(base_elt): + """Up-Down protocol message wrapper PDU.""" + + version = 1 + + name2type = { + "list" : list_pdu, + "list_response" : list_response_pdu, + "issue" : issue_pdu, + "issue_response" : issue_response_pdu, + "revoke" : revoke_pdu, + "revoke_response" : revoke_response_pdu, + "error_response" : error_response_pdu } + + type2name = dict((v,k) for k,v in name2type.items()) + + def toXML(self): + """Generate payload of message PDU.""" + elt = self.make_elt("message", "version", "sender", "recipient", "type") + elt.extend(self.payload.toXML()) + return elt + + def startElement(self, stack, name, attrs): + """Handle message PDU. + + Payload of the <message/> element varies depending on the "type" + attribute, so after some basic checks we have to instantiate the + right class object to handle whatever kind of PDU this is. + """ + assert name == "message", "Unexpected name %s, stack %s" % (name, stack) + assert self.version == int(attrs["version"]) + self.sender = attrs["sender"] + self.recipient = attrs["recipient"] + self.type = attrs["type"] + self.payload = self.name2type[attrs["type"]]() + stack.append(self.payload) + + def __str__(self): + """Convert a message PDU to a string.""" + lxml.etree.tostring(self.toXML(), pretty_print = True, encoding = "UTF-8") + + def serve_top_level(self, gctx, child): + """Serve one message request PDU.""" + r_msg = message_pdu() + r_msg.sender = self.recipient + r_msg.recipient = self.sender + self.payload.serve_pdu(gctx, self, r_msg, child) + r_msg.type = self.type2name[type(r_msg.payload)] + return r_msg + + def serve_error(self, exception): + """Generate an error_response message PDU.""" + r_msg = message_pdu() + r_msg.sender = self.recipient + r_msg.recipient = self.sender + r_msg.payload = error_response_pdu(exception) + r_msg.type = self.type2name[type(r_msg.payload)] + return r_msg + + @classmethod + def make_query(cls, payload, sender, recipient): + """Construct one message PDU.""" + assert not cls.type2name[type(payload)].endswith("_response") + if sender is None: + sender = "tweedledee" + if recipient is None: + recipient = "tweedledum" + self = cls() + self.sender = sender + self.recipient = recipient + self.payload = payload + self.type = self.type2name[type(payload)] + return self + +class sax_handler(rpki.sax_utils.handler): + """SAX handler for Up-Down protocol.""" + + def create_top_level(self, name, attrs): + """Top-level PDU for this protocol is <message/>.""" + return message_pdu() diff --git a/rpkid/rpki/x509.py b/rpkid/rpki/x509.py new file mode 100644 index 00000000..c029e5f3 --- /dev/null +++ b/rpkid/rpki/x509.py @@ -0,0 +1,700 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +"""One X.509 implementation to rule them all... + +...and in the darkness hide the twisty maze of partially overlapping +X.509 support packages in Python. + +There are several existing packages, none of which do quite what I +need, due to age, lack of documentation, specialization, or lack of +foresight on somebody's part (perhaps mine). This module attempts to +bring together the functionality I need in a way that hides at least +some of the nasty details. This involves a lot of format conversion. +""" + +import POW, tlslite.api, POW.pkix, base64, time +import rpki.exceptions, rpki.resource_set, rpki.manifest, rpki.cms, rpki.oids, rpki.sundial + +def calculate_SKI(public_key_der): + """Calculate the SKI value given the DER representation of a public + key, which requires first peeling the ASN.1 wrapper off the key. + """ + k = POW.pkix.SubjectPublicKeyInfo() + k.fromString(public_key_der) + d = POW.Digest(POW.SHA1_DIGEST) + d.update(k.subjectPublicKey.get()) + return d.digest() + +class PEM_converter(object): + """Convert between DER and PEM encodings for various kinds of ASN.1 data.""" + + def __init__(self, kind): # "CERTIFICATE", "RSA PRIVATE KEY", ... + """Initialize PEM_converter.""" + self.b = "-----BEGIN %s-----" % kind + self.e = "-----END %s-----" % kind + + def looks_like_PEM(self, text): + """Guess whether text looks like a PEM encoding.""" + b = text.find(self.b) + return b >= 0 and text.find(self.e) > b + len(self.b) + + def to_DER(self, pem): + """Convert from PEM to DER.""" + lines = [line.strip() for line in pem.splitlines(0)] + while lines and lines.pop(0) != self.b: + pass + while lines and lines.pop(-1) != self.e: + pass + assert lines + return base64.b64decode("".join(lines)) + + def to_PEM(self, der): + """Convert from DER to PEM.""" + b64 = base64.b64encode(der) + pem = self.b + "\n" + while len(b64) > 64: + pem += b64[0:64] + "\n" + b64 = b64[64:] + return pem + b64 + "\n" + self.e + "\n" + +class DER_object(object): + """Virtual class to hold a generic DER object.""" + + ## Formats supported in this object + formats = ("DER",) + + ## PEM converter for this object + pem_converter = None + + ## Other attributes that self.clear() should whack + other_clear = () + + ## @var DER + ## DER value of this object + + def empty(self): + """Test whether this object is empty.""" + for a in self.formats: + if getattr(self, a, None) is not None: + return False + return True + + def clear(self): + """Make this object empty.""" + for a in self.formats + self.other_clear: + setattr(self, a, None) + + def __init__(self, **kw): + """Initialize a DER_object.""" + self.clear() + if len(kw): + self.set(**kw) + + def set(self, **kw): + """Set this object by setting one of its known formats. + + This method only allows one to set one format at a time. + Subsequent calls will clear the object first. The point of all + this is to let the object's internal converters handle mustering + the object into whatever format you need at the moment. + """ + if len(kw) == 1: + name = kw.keys()[0] + if name in self.formats: + self.clear() + setattr(self, name, kw[name]) + return + if name == "PEM": + self.clear() + self.DER = self.pem_converter.to_DER(kw[name]) + return + if name == "Base64": + self.clear() + self.DER = base64.b64decode(kw[name]) + return + if name in ("PEM_file", "DER_file", "Auto_file"): + f = open(kw[name], "rb") + value = f.read() + f.close() + if name == "PEM_file" or (name == "Auto_file" and self.pem_converter.looks_like_PEM(value)): + value = self.pem_converter.to_DER(value) + self.clear() + self.DER = value + return + raise rpki.exceptions.DERObjectConversionError, "Can't honor conversion request %s" % repr(kw) + + def get_DER(self): + """Get the DER value of this object. + + Subclasses will almost certainly override this method. + """ + assert not self.empty() + if self.DER: + return self.DER + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_Base64(self): + """Get the Base64 encoding of the DER value of this object.""" + return base64.b64encode(self.get_DER()) + + def get_PEM(self): + """Get the PEM representation of this object.""" + return self.pem_converter.to_PEM(self.get_DER()) + + def __cmp__(self, other): + """Compare two DER-encoded objects.""" + return cmp(self.get_DER(), other.get_DER()) + + def hSKI(self): + """Return hexadecimal string representation of SKI for this + object. Only work for subclasses that implement get_SKI(). + """ + return ":".join(("%02X" % ord(i) for i in self.get_SKI())) + + def gSKI(self): + """Calculate g(SKI) for this object. Only work for subclasses + that implement get_SKI(). + """ + return base64.urlsafe_b64encode(self.get_SKI()).rstrip("=") + + def get_AKI(self): + """Get the AKI extension from this object. Only works for subclasses that support getExtension().""" + return (self.get_POWpkix().getExtension(rpki.oids.name2oid["authorityKeyIdentifier"]) or ((), 0, None))[2] + + def get_SKI(self): + """Get the SKI extension from this object. Only works for subclasses that support getExtension().""" + return (self.get_POWpkix().getExtension(rpki.oids.name2oid["subjectKeyIdentifier"]) or ((), 0, None))[2] + + def get_SIA(self): + """Get the SIA extension from this object. Only works for subclasses that support getExtension().""" + return (self.get_POWpkix().getExtension(rpki.oids.name2oid["subjectInfoAccess"]) or ((), 0, None))[2] + + def get_AIA(self): + """Get the SIA extension from this object. Only works for subclasses that support getExtension().""" + return (self.get_POWpkix().getExtension(rpki.oids.name2oid["subjectInfoAccess"]) or ((), 0, None))[2] + + def get_3779resources(self): + """Get RFC 3779 resources as rpki.resource_set objects. + Only works for subclasses that support getExtensions(). + """ + resources = rpki.resource_set.resource_bag.from_asn1_tuples(self.get_POWpkix().getExtensions()) + try: + resources.valid_until = self.getNotAfter() + except AttributeError: + pass + return resources + + @classmethod + def from_sql(cls, x): + """Convert from SQL storage format.""" + return cls(DER = x) + + def to_sql(self): + """Convert to SQL storage format.""" + return self.get_DER() + +class X509(DER_object): + """X.509 certificates. + + This class is designed to hold all the different representations of + X.509 certs we're using and convert between them. X.509 support in + Python a nasty maze of half-cooked stuff (except perhaps for + cryptlib, which is just different). Users of this module should not + have to care about this implementation nightmare. + """ + + formats = ("DER", "POW", "POWpkix", "tlslite") + pem_converter = PEM_converter("CERTIFICATE") + + def get_DER(self): + """Get the DER value of this certificate.""" + assert not self.empty() + if self.DER: + return self.DER + if self.POW: + self.DER = self.POW.derWrite() + return self.get_DER() + if self.POWpkix: + self.DER = self.POWpkix.toString() + return self.get_DER() + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_POW(self): + """Get the POW value of this certificate.""" + assert not self.empty() + if not self.POW: + self.POW = POW.derRead(POW.X509_CERTIFICATE, self.get_DER()) + return self.POW + + def get_POWpkix(self): + """Get the POW.pkix value of this certificate.""" + assert not self.empty() + if not self.POWpkix: + cert = POW.pkix.Certificate() + cert.fromString(self.get_DER()) + self.POWpkix = cert + return self.POWpkix + + def get_tlslite(self): + """Get the tlslite value of this certificate.""" + assert not self.empty() + if not self.tlslite: + cert = tlslite.api.X509() + cert.parseBinary(self.get_DER()) + self.tlslite = cert + return self.tlslite + + def getIssuer(self): + """Get the issuer of this certificate.""" + return self.get_POW().getIssuer() + + def getSubject(self): + """Get the subject of this certificate.""" + return self.get_POW().getSubject() + + def getNotBefore(self): + """Get the inception time of this certificate.""" + return rpki.sundial.datetime.fromASN1tuple(self.get_POWpkix().tbs.validity.notBefore.get()) + + def getNotAfter(self): + """Get the expiration time of this certificate.""" + return rpki.sundial.datetime.fromASN1tuple(self.get_POWpkix().tbs.validity.notAfter.get()) + + def getSerial(self): + """Get the serial number of this certificate.""" + return self.get_POW().getSerial() + + def getPublicKey(self): + """Extract the public key from this certificate.""" + return RSApublic(DER = self.get_POWpkix().tbs.subjectPublicKeyInfo.toString()) + + def issue(self, keypair, subject_key, serial, sia, aia, crldp, notAfter, + cn = None, resources = None, is_ca = True): + """Issue a certificate.""" + + now = rpki.sundial.datetime.utcnow() + aki = self.get_SKI() + ski = subject_key.get_SKI() + + if cn is None: + cn = "".join(("%02X" % ord(i) for i in ski)) + + # if notAfter is None: notAfter = now + rpki.sundial.timedelta(days = 30) + + cert = POW.pkix.Certificate() + cert.setVersion(2) + cert.setSerial(serial) + cert.setIssuer(self.get_POWpkix().getSubject()) + cert.setSubject((((rpki.oids.name2oid["commonName"], ("printableString", cn)),),)) + cert.setNotBefore(now.toASN1tuple()) + cert.setNotAfter(notAfter.toASN1tuple()) + cert.tbs.subjectPublicKeyInfo.fromString(subject_key.get_DER()) + + exts = [ ["subjectKeyIdentifier", False, ski], + ["authorityKeyIdentifier", False, (aki, (), None)], + ["cRLDistributionPoints", False, ((("fullName", (("uri", crldp),)), None, ()),)], + ["authorityInfoAccess", False, ((rpki.oids.name2oid["id-ad-caIssuers"], ("uri", aia)),)], + ["certificatePolicies", True, ((rpki.oids.name2oid["id-cp-ipAddr-asNumber"], ()),)] ] + + if is_ca: + exts.append(["basicConstraints", True, (1, None)]) + exts.append(["keyUsage", True, (0, 0, 0, 0, 0, 1, 1)]) + else: + exts.append(["keyUsage", True, (1,)]) + + if sia is not None: + exts.append(["subjectInfoAccess", False, sia]) + else: + assert not is_ca + + if resources is not None and resources.as: + exts.append(["sbgp-autonomousSysNum", True, (resources.as.to_tuple(), None)]) + + if resources is not None and (resources.v4 or resources.v6): + exts.append(["sbgp-ipAddrBlock", True, [x for x in (resources.v4.to_tuple(), resources.v6.to_tuple()) if x is not None]]) + + for x in exts: + x[0] = rpki.oids.name2oid[x[0]] + cert.setExtensions(exts) + + cert.sign(keypair.get_POW(), POW.SHA256_DIGEST) + + return X509(POWpkix = cert) + +class X509_chain(list): + """Collections of certs. + + This class provides sorting and conversion functions for various + packages. + """ + + def __init__(self, *args, **kw): + """Initialize an X509_chain.""" + if args: + self[:] = args + elif "PEM_files" in kw: + self.load_from_PEM(kw["PEM_files"]) + elif "DER_files" in kw: + self.load_from_DER(kw["DER_files"]) + elif "Auto_files" in kw: + self.load_from_Auto(kw["Auto_files"]) + elif kw: + raise TypeError + + def chainsort(self): + """Sort a bag of certs into a chain, leaf first. + + Various other routines want their certs presented in this order. + """ + if len(self) > 1: + bag = self[:] + issuer_names = [x.getIssuer() for x in bag] + subject_map = dict([(x.getSubject(), x) for x in bag]) + chain = [] + for subject in subject_map: + if subject not in issuer_names: + cert = subject_map[subject] + chain.append(cert) + bag.remove(cert) + if len(chain) != 1: + raise rpki.exceptions.NotACertificateChain, "Certificates in bag don't form a proper chain" + while bag: + cert = subject_map[chain[-1].getIssuer()] + chain.append(cert) + bag.remove(cert) + self[:] = chain + + def tlslite_certChain(self): + """Return a certChain in the format tlslite likes.""" + self.chainsort() + return tlslite.api.X509CertChain([x.get_tlslite() for x in self]) + + def tlslite_trustList(self): + """Return a trustList in the format tlslite likes.""" + return [x.get_tlslite() for x in self] + + def clear(self): + """Drop all certs from this bag onto the floor.""" + self[:] = [] + + def load_from_PEM(self, files): + """Load a set of certs from a list of PEM files.""" + self.extend([X509(PEM_file=f) for f in files]) + + def load_from_DER(self, files): + """Load a set of certs from a list of DER files.""" + self.extend([X509(DER_file=f) for f in files]) + + def load_from_Auto(self, files): + """Load a set of certs from a list of DER or PEM files (guessing).""" + self.extend([X509(Auto_file=f) for f in files]) + +class PKCS10(DER_object): + """Class to hold a PKCS #10 request.""" + + formats = ("DER", "POWpkix") + pem_converter = PEM_converter("CERTIFICATE REQUEST") + + def get_DER(self): + """Get the DER value of this certification request.""" + assert not self.empty() + if self.DER: + return self.DER + if self.POWpkix: + self.DER = self.POWpkix.toString() + return self.get_DER() + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_POWpkix(self): + """Get the POW.pkix value of this certification request.""" + assert not self.empty() + if not self.POWpkix: + req = POW.pkix.CertificationRequest() + req.fromString(self.get_DER()) + self.POWpkix = req + return self.POWpkix + + def getPublicKey(self): + """Extract the public key from this certification request.""" + return RSApublic(DER = self.get_POWpkix().certificationRequestInfo.subjectPublicKeyInfo.toString()) + + def check_valid_rpki(self): + """Check this certification request to see whether it's a valid + request for an RPKI certificate. This is broken out of the + up-down protocol code because it's somewhat involved and the + up-down code doesn't need to know the details. + + Throws an exception if the request isn't valid, so if this method + returns at all, the request is ok. + """ + + if not self.get_POWpkix().verify(): + raise rpki.exceptions.BadPKCS10, "Signature check failed" + + if self.get_POWpkix().certificationRequestInfo.version.get() != 0: + raise rpki.exceptions.BadPKCS10, \ + "Bad version number %s" % self.get_POWpkix().certificationRequestInfo.version + + if rpki.oids.oid2name.get(self.get_POWpkix().signatureAlgorithm.algorithm.get()) \ + not in ("sha256WithRSAEncryption", "sha384WithRSAEncryption", "sha512WithRSAEncryption"): + raise rpki.exceptions.BadPKCS10, "Bad signature algorithm %s" % self.get_POWpkix().signatureAlgorithm + + exts = self.get_POWpkix().getExtensions() + for oid, critical, value in exts: + if rpki.oids.oid2name.get(oid) not in ("basicConstraints", "keyUsage", "subjectInfoAccess"): + raise rpki.exceptions.BadExtension, "Forbidden extension %s" % oid + req_exts = dict((rpki.oids.oid2name[oid], value) for (oid, critical, value) in exts) + + if "basicConstraints" not in req_exts or not req_exts["basicConstraints"][0]: + raise rpki.exceptions.BadPKCS10, "request for EE cert not allowed here" + + if req_exts["basicConstraints"][1] is not None: + raise rpki.exceptions.BadPKCS10, "basicConstraints must not specify Path Length" + + if "keyUsage" in req_exts and (not req_exts["keyUsage"][5] or not req_exts["keyUsage"][6]): + raise rpki.exceptions.BadPKCS10, "keyUsage doesn't match basicConstraints" + + for method, location in req_exts.get("subjectInfoAccess", ()): + if rpki.oids.oid2name.get(method) == "id-ad-caRepository" and \ + (location[0] != "uri" or (location[1].startswith("rsync://") and not location[1].endswith("/"))): + raise rpki.exceptions.BadPKCS10, "Certificate request includes bad SIA component: %s" % repr(location) + + # This one is an implementation restriction. I don't yet + # understand what the spec is telling me to do in this case. + assert "subjectInfoAccess" in req_exts, "Can't (yet) handle PKCS #10 without an SIA extension" + + @classmethod + def create_ca(cls, keypair, sia = None): + """Create a new request for a given keypair, including given SIA value.""" + exts = [["basicConstraints", True, (1, None)], + ["keyUsage", True, (0, 0, 0, 0, 0, 1, 1)]] + if sia is not None: + exts.append(["subjectInfoAccess", False, sia]) + for x in exts: + x[0] = rpki.oids.name2oid[x[0]] + return cls.create(keypair, exts) + + @classmethod + def create(cls, keypair, exts = None): + """Create a new request for a given keypair, including given extensions.""" + cn = "".join(("%02X" % ord(i) for i in keypair.get_SKI())) + req = POW.pkix.CertificationRequest() + req.certificationRequestInfo.version.set(0) + req.certificationRequestInfo.subject.set((((rpki.oids.name2oid["commonName"], + ("printableString", cn)),),)) + if exts is not None: + req.setExtensions(exts) + req.sign(keypair.get_POW(), POW.SHA256_DIGEST) + return cls(POWpkix = req) + +class RSA(DER_object): + """Class to hold an RSA key pair.""" + + formats = ("DER", "POW", "tlslite") + pem_converter = PEM_converter("RSA PRIVATE KEY") + + def get_DER(self): + """Get the DER value of this keypair.""" + assert not self.empty() + if self.DER: + return self.DER + if self.POW: + self.DER = self.POW.derWrite(POW.RSA_PRIVATE_KEY) + return self.get_DER() + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_POW(self): + """Get the POW value of this keypair.""" + assert not self.empty() + if not self.POW: + self.POW = POW.derRead(POW.RSA_PRIVATE_KEY, self.get_DER()) + return self.POW + + def get_tlslite(self): + """Get the tlslite value of this keypair.""" + assert not self.empty() + if not self.tlslite: + self.tlslite = tlslite.api.parsePEMKey(self.get_PEM(), private=True) + return self.tlslite + + def generate(self, keylength = 2048): + """Generate a new keypair.""" + self.clear() + self.set(POW=POW.Asymmetric(POW.RSA_CIPHER, keylength)) + + def get_public_DER(self): + """Get the DER encoding of the public key from this keypair.""" + return self.get_POW().derWrite(POW.RSA_PUBLIC_KEY) + + def get_SKI(self): + """Calculate the SKI of this keypair.""" + return calculate_SKI(self.get_public_DER()) + + def get_RSApublic(self): + """Convert the public key of this keypair into a RSApublic object.""" + return RSApublic(DER = self.get_public_DER()) + +class RSApublic(DER_object): + """Class to hold an RSA public key.""" + + formats = ("DER", "POW") + pem_converter = PEM_converter("RSA PUBLIC KEY") + + def get_DER(self): + """Get the DER value of this public key.""" + assert not self.empty() + if self.DER: + return self.DER + if self.POW: + self.DER = self.POW.derWrite(POW.RSA_PUBLIC_KEY) + return self.get_DER() + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_POW(self): + """Get the POW value of this public key.""" + assert not self.empty() + if not self.POW: + self.POW = POW.derRead(POW.RSA_PUBLIC_KEY, self.get_DER()) + return self.POW + + def get_SKI(self): + """Calculate the SKI of this public key.""" + return calculate_SKI(self.get_DER()) + +class SignedManifest(DER_object): + """Class to hold a signed manifest. + + Signed manifests are a little different from the other DER_object + types because the signed object is CMS wrapping inner content that's + also ASN.1, and due to our current minimal support for CMS we can't + just handle this as a pretty composite object. So, for now anyway, + this SignedManifest object refers to the outer CMS wrapped manifest + so that the usual DER and PEM operations do the obvious things, and + the inner content is handle via separate methods using rpki.manifest. + """ + + formats = ("DER",) + other_clear = ("content",) + pem_converter = PEM_converter("RPKI MANIFEST") + + def get_DER(self): + """Get the DER value of this manifest.""" + assert not self.empty() + if self.DER: + return self.DER + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_content(self): + """Get the inner content of this manifest.""" + assert self.content is not None + return self.content + + def set_content(self, content): + """Set the (inner) content of this manifest, clearing the wrapper.""" + self.clear() + self.content = content + + def getThisUpdate(self): + """Get thisUpdate value from this manifest.""" + return rpki.sundial.datetime.fromGeneralizedTime(self.get_content().thisUpdate.get()) + + def getNextUpdate(self): + """Get nextUpdate value from this manifest.""" + return rpki.sundial.datetime.fromGeneralizedTime(self.get_content().nextUpdate.get()) + + def verify(self, ta): + """Verify this manifest.""" + m = rpki.manifest.Manifest() + s = rpki.cms.verify(self.get_DER(), ta) + m.fromString(s) + self.content = m + + def build(self, serial, thisUpdate, nextUpdate, names_and_objs, keypair, certs, version = 0): + """Build the inner content of this manifest and sign it with CMS.""" + filelist = [] + for name, obj in names_and_objs: + d = POW.Digest(POW.SHA256_DIGEST) + d.update(obj.get_DER()) + filelist.append((name.rpartition("/")[2], d.digest())) + filelist.sort(key = lambda x: x[0]) + m = rpki.manifest.Manifest() + m.version.set(version) + m.manifestNumber.set(serial) + m.thisUpdate.set(thisUpdate.toGeneralizedTime()) + m.nextUpdate.set(nextUpdate.toGeneralizedTime()) + m.fileHashAlg.set((2, 16, 840, 1, 101, 3, 4, 2, 1)) # id-sha256 + m.fileList.set(filelist) + self.set_content(m) + self.DER = rpki.cms.sign(m.toString(), keypair, certs) + +class CRL(DER_object): + """Class to hold a Certificate Revocation List.""" + + formats = ("DER", "POW", "POWpkix") + pem_converter = PEM_converter("X509 CRL") + + def get_DER(self): + """Get the DER value of this CRL.""" + assert not self.empty() + if self.DER: + return self.DER + if self.POW: + self.DER = self.POW.derWrite() + return self.get_DER() + if self.POWpkix: + self.DER = self.POWpkix.toString() + return self.get_DER() + raise rpki.exceptions.DERObjectConversionError, "No conversion path to DER available" + + def get_POW(self): + """Get the POW value of this CRL.""" + assert not self.empty() + if not self.POW: + self.POW = POW.derRead(POW.X509_CRL, self.get_DER()) + return self.POW + + def get_POWpkix(self): + """Get the POW.pkix value of this CRL.""" + assert not self.empty() + if not self.POWpkix: + crl = POW.pkix.CertificateList() + crl.fromString(self.get_DER()) + self.POWpkix = crl + return self.POWpkix + + def getThisUpdate(self): + """Get thisUpdate value from this CRL.""" + return rpki.sundial.datetime.fromASN1tuple(self.get_POWpkix().getThisUpdate()) + + def getNextUpdate(self): + """Get nextUpdate value from this CRL.""" + return rpki.sundial.datetime.fromASN1tuple(self.get_POWpkix().getNextUpdate()) + + @classmethod + def generate(cls, keypair, issuer, serial, thisUpdate, nextUpdate, revokedCertificates, version = 1, digestType = "sha256WithRSAEncryption"): + crl = POW.pkix.CertificateList() + crl.setVersion(version) + crl.setIssuer(issuer.get_POWpkix().getSubject()) + crl.setThisUpdate(thisUpdate.toASN1tuple()) + crl.setNextUpdate(nextUpdate.toASN1tuple()) + if revokedCertificates: + crl.setRevokedCertificates(revokedCertificates) + crl.setExtensions( + ((rpki.oids.name2oid["authorityKeyIdentifier"], False, (issuer.get_SKI(), (), None)), + (rpki.oids.name2oid["cRLNumber"], False, serial))) + crl.sign(keypair.get_POW(), digestType) + return cls(POWpkix = crl) diff --git a/rpkid/rpkid.py b/rpkid/rpkid.py new file mode 100755 index 00000000..5779753b --- /dev/null +++ b/rpkid/rpkid.py @@ -0,0 +1,137 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +RPKI engine daemon. This is still very much a work in progress. + +Usage: python rpkid.py [ { -c | --config } configfile ] [ { -h | --help } ] + +Default configuration file is rpkid.conf, override with --config option. +""" + +import traceback, os, time, getopt, sys, MySQLdb, lxml.etree +import rpki.resource_set, rpki.up_down, rpki.left_right, rpki.x509, rpki.sql +import rpki.https, rpki.config, rpki.cms, rpki.exceptions, rpki.relaxng, rpki.log + +def left_right_handler(query, path): + """Process one left-right PDU.""" + rpki.log.trace() + try: + q_elt = rpki.cms.xml_verify(query, gctx.cms_ta_irbe) + rpki.relaxng.left_right.assertValid(q_elt) + q_msg = rpki.left_right.sax_handler.saxify(q_elt) + r_msg = q_msg.serve_top_level(gctx) + r_elt = r_msg.toXML() + rpki.relaxng.left_right.assertValid(r_elt) + reply = rpki.cms.xml_sign(r_elt, gctx.cms_key, gctx.cms_certs) + rpki.sql.sql_sweep(gctx) + return 200, reply + except lxml.etree.DocumentInvalid: + rpki.log.warn("Received reply document does not pass schema check: " + lxml.etree.tostring(r_elt, pretty_print = True)) + rpki.log.warn(traceback.format_exc()) + return 500, "Schema violation" + except Exception, data: + rpki.log.error(traceback.format_exc()) + return 500, "Unhandled exception %s" % data + +def up_down_handler(query, path): + """Process one up-down PDU.""" + rpki.log.trace() + try: + child_id = path.partition("/up-down/")[2] + if not child_id.isdigit(): + raise rpki.exceptions.BadContactURL, "Bad path: %s" % path + child = rpki.left_right.child_elt.sql_fetch(gctx, long(child_id)) + if child is None: + raise rpki.exceptions.ChildNotFound, "Could not find child %s" % child_id + reply = child.serve_up_down(gctx, query) + rpki.sql.sql_sweep(gctx) + return 200, reply + except Exception, data: + rpki.log.error(traceback.format_exc()) + return 400, "Could not process PDU: %s" % data + +def cronjob_handler(query, path): + """Periodic tasks. As simple as possible for now, may need to break + this up into separate handlers later. + """ + + rpki.log.trace() + for s in rpki.left_right.self_elt.sql_fetch_all(gctx): + s.client_poll(gctx) + s.update_children(gctx) + s.regenerate_crls_and_manifests(gctx) + rpki.sql.sql_sweep(gctx) + return 200, "OK" + +class global_context(object): + """A container for various global parameters.""" + + def __init__(self, cfg): + + self.db = MySQLdb.connect(user = cfg.get("sql-username"), + db = cfg.get("sql-database"), + passwd = cfg.get("sql-password")) + self.cur = self.db.cursor() + + self.cms_ta_irdb = rpki.x509.X509(Auto_file = cfg.get("cms-ta-irdb")) + self.cms_ta_irbe = rpki.x509.X509(Auto_file = cfg.get("cms-ta-irbe")) + self.cms_key = rpki.x509.RSA(Auto_file = cfg.get("cms-key")) + self.cms_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("cms-cert")) + + self.https_key = rpki.x509.RSA(Auto_file = cfg.get("https-key")) + self.https_certs = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-cert")) + self.https_ta = rpki.x509.X509_chain(Auto_files = cfg.multiget("https-ta")) + + self.irdb_url = cfg.get("irdb-url") + + self.https_server_host = cfg.get("server-host", "") + self.https_server_port = int(cfg.get("server-port", "4433")) + + self.publication_kludge_base = cfg.get("publication-kludge-base", "publication/") + +os.environ["TZ"] = "UTC" +time.tzset() + +rpki.log.init("rpkid") + +cfg_file = "rpkid.conf" + +opts,argv = getopt.getopt(sys.argv[1:], "c:h?", ["config=", "help"]) +for o,a in opts: + if o in ("-h", "--help", "-?"): + print __doc__ + sys.exit(0) + if o in ("-c", "--config"): + cfg_file = a +if argv: + raise RuntimeError, "Unexpected arguments %s" % argv + +cfg = rpki.config.parser(cfg_file, "rpkid") + +startup_msg = cfg.get("startup-message", "") +if startup_msg: + rpki.log.info(startup_msg) + +gctx = global_context(cfg) + +rpki.https.server(privateKey = gctx.https_key, + certChain = gctx.https_certs, + host = gctx.https_server_host, + port = gctx.https_server_port, + handlers=(("/left-right", left_right_handler), + ("/up-down/", up_down_handler), + ("/cronjob", cronjob_handler))) diff --git a/rpkid/test-pow-tls.py b/rpkid/test-pow-tls.py new file mode 100644 index 00000000..99e412f0 --- /dev/null +++ b/rpkid/test-pow-tls.py @@ -0,0 +1,59 @@ +# $Id$ + +# Copyright (C) 2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# Grope towards testing TLS functionality in POW + +# openssl s_server -tls1 -Verify 9 -cert biz-certs/Alice-EE.cer -key biz-certs/Alice-EE.key -www -CApath biz-certs -chain + +# openssl s_client -connect localhost:4433 -tls1 -cert biz-certs/Bob-EE.cer -key biz-certs/Bob-EE.key -verify 9 -CApath biz-certs -crlf + +import POW, socket + +def pow_error_iterator(): + err = POW.getError() + if err is None: + raise StopIteration + else: + yield err + +key = POW.pemRead(POW.RSA_PRIVATE_KEY, open("biz-certs/Bob-EE.key").read()) +cer = POW.pemRead(POW.X509_CERTIFICATE, open("biz-certs/Bob-EE.cer").read()) +ca = POW.pemRead(POW.X509_CERTIFICATE, open("biz-certs/Bob-CA.cer").read()) + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect(("localhost", 4433)) + +try: + t = POW.Ssl(POW.TLSV1_CLIENT_METHOD) + t.useCertificate(cer) + t.useKey(key) + t.addCertificate(ca) + t.setFd(s.fileno()) + t.connect() + x = t.peerCertificate() + if x is not None: + print "Peer", x.pprint() + t.write("GET / HTTP/1.0\r\n") + if False: + print t.read(10000) + else: + while True: + print t.read() +except: + print "ERROR:" + for e in pow_error_iterator(): + print e + raise diff --git a/rpkid/testbed.1.yaml b/rpkid/testbed.1.yaml new file mode 100644 index 00000000..acee42e2 --- /dev/null +++ b/rpkid/testbed.1.yaml @@ -0,0 +1,47 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +name: RIR +#valid_until: 2008-07-14T12:30:00Z +valid_for: 2d +kids: + - name: R0 + kids: + - name: Alice + ipv4: 192.0.2.1-192.0.2.33 + asn: 64533 +--- +- name: R0 + rekey: +--- +- name: R0 + revoke: +--- +- name: Alice + valid_add: 10 +--- +- name: Alice + add_as: 33 + valid_add: 2d +# valid_until: 2009-07-14T12:30:00Z +--- +- name: Alice +# valid_until: 2009-04-01T00:00:00 + valid_sub: 2d +--- +- name: Alice +# valid_until: 2009-04-01T00:00:00 + valid_for: 10d diff --git a/rpkid/testbed.2.yaml b/rpkid/testbed.2.yaml new file mode 100644 index 00000000..9b154579 --- /dev/null +++ b/rpkid/testbed.2.yaml @@ -0,0 +1,92 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +name: RIR +valid_until: 2008-07-14T12:30:00Z +kids: + - name: R0 + kids: + - name: Alice + ipv4: 192.0.2.1-192.0.2.33 + asn: 64533 + - name: Bob + ipv4: 192.0.2.44-192.0.2.100 + - name: R1 + kids: + - name: Carol + ipv6: 2001:db8::44-2001:db8::100 + - name: Dave + ipv6: 2001:db8::10:0:44/128 + asn: 64544 + - name: R2 + kids: + - name: Elena + ipv4: 10.0.0.0/24 + ipv6: 2001:db8::a00:0/120 + - name: Frank + ipv4: 10.3.0.0/24 + ipv6: 2001:db8::a03:0/120 + - name: R3 + kids: + - name: Ginny + asn: 64534-64540 + - name: Harry + asn: 666-677 + - name: R4 + kids: + - name: Ilse + ipv4: 10.3.0.0/16 + - name: Jack + ipv4: 10.2.0.0/16 + - name: R5 + kids: + - name: Kari + asn: 222-233 + - name: Leon + asn: 244-255 + - name: R6 + kids: + - name: Mary + ipv4: 10.77.0.0/16 + - name: Neal + ipv4: 10.66.0.0/16 + - name: R7 + kids: + - name: Olga + ipv4: 10.88.0.0/16 + - name: Piet + ipv4: 10.99.0.0/16 + - name: R8 + kids: + - name: Qi + asn: 111-122 + - name: Rex + asn: 333-344 + - name: R9 + kids: + - name: Sandra + asn: 555-566 + - name: Thad + asn: 577-588 +--- +- name: Alice + add_as: 33 +--- +- name: Alice + sub_as: 33 +--- +- name: Alice + valid_until: 2009-07-14T12:30:00Z diff --git a/rpkid/testbed.py b/rpkid/testbed.py new file mode 100644 index 00000000..97a66a2b --- /dev/null +++ b/rpkid/testbed.py @@ -0,0 +1,941 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +Test framework to configure and drive a collection of rpkid.py and +irdbd.py instances under control of a master script. + +Usage: python rpkid.py [ { -c | --config } config_file ] + [ { -h | --help } ] + [ { -y | --yaml } yaml_script ] + +Default config_file is testbed.conf, override with --config option. + +Default yaml_script is testbed.yaml, override with -yaml option. + +yaml_script is a YAML file describing the tests to be run, and is +intended to be implementation agnostic. + +config_file contains settings for various implementation-specific +things that don't belong in yaml_script. +""" + +import os, yaml, MySQLdb, subprocess, signal, time, datetime, re, getopt, sys, lxml +import rpki.resource_set, rpki.sundial, rpki.x509, rpki.https, rpki.log, rpki.left_right, rpki.config + +os.environ["TZ"] = "UTC" +time.tzset() + +cfg_file = "testbed.conf" + +yaml_script = None + +opts,argv = getopt.getopt(sys.argv[1:], "c:hy:?", ["config=", "help", "yaml="]) +for o,a in opts: + if o in ("-h", "--help", "-?"): + print __doc__ + sys.exit(0) + elif o in ("-c", "--config"): + cfg_file = a + elif o in ("-y", "--yaml"): + yaml_script = a +if argv: + print __doc__ + raise RuntimeError, "Unexpected arguments %s" % argv + +cfg = rpki.config.parser(cfg_file, "testbed") + +# Load the YAML script early, so we can report errors ASAP + +if yaml_script is None: + yaml_script = cfg.get("yaml_script", "testbed.yaml") +try: + yaml_script = [y for y in yaml.safe_load_all(open(yaml_script))] +except: + print __doc__ + raise + +# Define port allocator early, so we can use it while reading config + +def allocate_port(): + """Allocate a TCP port number.""" + global base_port + p = base_port + base_port += 1 + return p + +# Most filenames in the following are relative to the working directory. + +testbed_name = cfg.get("testbed_name", "testbed") +testbed_dir = cfg.get("testbed_dir", testbed_name + ".dir") + +irdb_db_pass = cfg.get("irdb_db_pass", "fnord") +rpki_db_pass = cfg.get("rpki_db_pass", "fnord") + +base_port = int(cfg.get("base_port", "4400")) + +rsyncd_port = allocate_port() +rootd_port = allocate_port() + +rsyncd_module = cfg.get("rsyncd_module", testbed_name) +rootd_sia = cfg.get("rootd_sia", "rsync://localhost:%d/%s/" % (rsyncd_port, rsyncd_module)) + +rootd_name = cfg.get("rootd_name", "rootd") +rsyncd_name = cfg.get("rcynic_name", "rsyncd") +rcynic_name = cfg.get("rcynic_name", "rcynic") + +prog_python = cfg.get("prog_python", "python") +prog_rpkid = cfg.get("prog_rpkid", "../rpkid.py") +prog_irdbd = cfg.get("prog_irdbd", "../irdbd.py") +prog_poke = cfg.get("prog_poke", "../testpoke.py") +prog_rootd = cfg.get("prog_rootd", "../rootd.py") +prog_openssl = cfg.get("prog_openssl", "../../openssl/openssl/apps/openssl") +prog_rsyncd = cfg.get("prog_rsyncd", "rsync") +prog_rcynic = cfg.get("prog_rcynic", "../../rcynic/rcynic") + +rcynic_stats = cfg.get("rcynic_stats", "xsltproc --param refresh 0 ../../rcynic/rcynic.xsl %s.xml | w3m -T text/html -dump" % rcynic_name) + +rpki_sql_file = cfg.get("rpki_sql_file", "../docs/rpki-db-schema.sql") +irdb_sql_file = cfg.get("irdb_sql_file", "../docs/sample-irdb.sql") + +rpki_sql = open(rpki_sql_file).read() +irdb_sql = open(irdb_sql_file).read() + +testbed_key = None +testbed_certs = None +rootd_ta = None + + +def main(): + """Main program, up front to make control logic more obvious.""" + + rpki.log.init(testbed_name) + + signal.signal(signal.SIGALRM, wakeup) + + rootd_process = None + rsyncd_process = None + + try: + os.chdir(testbed_dir) + except: + os.makedirs(testbed_dir) + os.chdir(testbed_dir) + + # Clean up old state + + subprocess.check_call(("rm", "-rf", "publication", "rcynic-data", "rootd.subject.pkcs10", "rootd.req")) + + # Read the first YAML document as our master configuration + + db = allocation_db(yaml_script.pop(0)) + + # Construct biz keys and certs for this script to use + + setup_biz_cert_chain(testbed_name) + global testbed_key, testbed_certs + testbed_key = rpki.x509.RSA(PEM_file = testbed_name + "-EE.key") + testbed_certs = rpki.x509.X509_chain(PEM_files = (testbed_name + "-EE.cer", testbed_name + "-CA.cer")) + + # Construct biz keys and certs for rootd instance to use + + setup_biz_cert_chain(rootd_name) + global rootd_ta + rootd_ta = rpki.x509.X509(PEM_file = rootd_name + "-TA.cer") + + # Construct biz keys and certs for rpkid and irdbd instances. + + for a in db: + a.setup_biz_certs() + + # Create the (psuedo) publication directory + + setup_publication() + + # Construct config files for rootd, rsyncd, rcynic instances + + setup_rootd(db.root.name) + setup_rsyncd() + setup_rcynic() + + # Construct config files for rpkid and irdbd instances + + for a in db.engines: + a.setup_conf_file() + + # Initialize SQL for rpkid and irdbd instances + + for a in db.engines: + a.setup_sql(rpki_sql, irdb_sql) + + # Populate IRDB(s) + + for a in db.engines: + a.sync_sql() + + try: + + # Start rootd instance + + rpki.log.info("Running rootd") + rootd_process = subprocess.Popen((prog_python, prog_rootd, "-c", rootd_name + ".conf")) + + # Start rsyncd instance + + rpki.log.info("Running rsyncd") + rsyncd_process = subprocess.Popen((prog_rsyncd, "--daemon", "--no-detach", "--config", rsyncd_name + ".conf")) + + # Start rpkid and irdbd instances + + for a in db.engines: + a.run_daemons() + + # Wait a little while for all those instances to come up + + rpki.log.info("Sleeping while daemons start up") + time.sleep(10) + + # Create objects in RPKI engines + + for a in db.engines: + a.create_rpki_objects() + + # Write YAML files for leaves + + for a in db.leaves: + a.write_leaf_yaml() + + # 8: Start cycle: + + while True: + + # Run cron in all RPKI instances + + for a in db.engines: + a.run_cron() + + # Run all YAML clients + + for a in db.leaves: + a.run_yaml() + + # Make sure that everybody got what they were supposed to get + # and that everything that was supposed to be published has been + # published. + # + # As a first cut at this, try running rcynic on the outputs. + + run_rcynic() + + # If we've run out of deltas to apply, we're done + + if not yaml_script: + break + + # Apply next deltas and resync IRDBs + + db.apply_delta(yaml_script.pop(0)) + + for a in db.engines: + a.sync_sql() + + # Clean up + + finally: + + try: + for a in db.engines: + a.kill_daemons() + for p,n in ((rootd_process, "rootd"), (rsyncd_process, "rsyncd")): + if p is not None: + rpki.log.info("Killing %s" % n) + os.kill(p.pid, signal.SIGTERM) + except Exception, data: + rpki.log.warn("Couldn't clean up daemons (%s), continuing" % data) + +# Define time delta parser early, so we can use it while reading config + +class timedelta(datetime.timedelta): + """Timedelta with text parsing. This accepts two input formats: + + - A simple integer, indicating a number of seconds. + + - A string of the form "wD xH yM zS" where w, x, y, and z are integers + and D, H, M, and S indicate days, hours, minutes, and seconds. + All of the fields are optional, but at least one must be specified. + Eg, "3D4H" means "three days plus four hours". + """ + + ## @var regexp + # Hideously ugly regular expression to parse the complex text form. + # Tags are intended for use with re.MatchObject.groupdict() and map + # directly to the keywords expected by the timedelta constructor. + + regexp = re.compile("\\s*(?:(?P<days>\\d+)D)?" + + "\\s*(?:(?P<hours>\\d+)H)?" + + "\\s*(?:(?P<minutes>\\d+)M)?" + + "\\s*(?:(?P<seconds>\\d+)S)?\\s*", re.I) + + @classmethod + def parse(cls, arg): + """Parse text into a timedelta object.""" + if not isinstance(arg, str): + return cls(seconds = arg) + elif arg.isdigit(): + return cls(seconds = int(arg)) + else: + return cls(**dict((k, int(v)) for (k, v) in cls.regexp.match(arg).groupdict().items() if v is not None)) + + def convert_to_seconds(self): + """Convert a timedelta interval to seconds.""" + return self.days * 24 * 60 * 60 + self.seconds + +def wakeup(signum, frame): + """Handler called when we receive a SIGALRM signal.""" + rpki.log.info("Wakeup call received, continuing") + +def cmd_sleep(interval = None): + """Set an alarm, then wait for it to go off.""" + if interval is None: + rpki.log.info("Pausing indefinitely, send a SIGALRM to wake me up") + else: + seconds = timedelta.parse(interval).convert_to_seconds() + rpki.log.info("Sleeping %s seconds" % seconds) + signal.alarm(seconds) + signal.pause() + +def cmd_shell(*cmd): + """Run a shell command.""" + cmd = " ".join(cmd) + status = subprocess.call(cmd, shell = True) + rpki.log.info("Shell command returned status %d" % status) + +def cmd_echo(*words): + """Echo some text to the log.""" + rpki.log.note(" ".join(words)) + +## @var cmds +# Dispatch table for commands embedded in delta sections + +cmds = { "sleep" : cmd_sleep, + "shell" : cmd_shell, + "echo" : cmd_echo } + +class allocation_db(list): + """Representation of all the entities and allocations in the test system. + Almost everything is generated out of this database. + """ + + def __init__(self, yaml): + """Initialize database from the (first) YAML document.""" + self.root = allocation(yaml, self) + assert self.root.is_root() + if self.root.crl_interval is None: + self.root.crl_interval = timedelta.parse(cfg.get("crl_interval", "1d")).convert_to_seconds() + for a in self: + if a.sia_base is None and a.parent is not None: + a.sia_base = a.parent.sia_base + a.name + "/" + elif a.sia_base is None and a.parent is None: + a.sia_base = rootd_sia + a.name + "/" + if a.base.valid_until is None: + a.base.valid_until = a.parent.base.valid_until + if a.crl_interval is None: + a.crl_interval = a.parent.crl_interval + self.root.closure() + self.map = dict((a.name, a) for a in self) + self.engines = [a for a in self if not a.is_leaf()] + self.leaves = [a for a in self if a.is_leaf()] + for i, a in zip(range(len(self.engines)), self.engines): + a.set_engine_number(i) + + def apply_delta(self, delta): + """Apply a delta or run a command.""" + for d in delta: + if isinstance(d, str): + c = d.split() + cmds[c[0]](*c[1:]) + else: + self.map[d["name"]].apply_delta(d) + self.root.closure() + + def dump(self): + """Print content of the database.""" + for a in self: + print a + +class allocation(object): + + parent = None + irdb_db_name = None + irdb_port = None + rpki_db_name = None + rpki_port = None + crl_interval = None + + def __init__(self, yaml, db, parent = None): + """Initialize one entity and insert it into the database.""" + db.append(self) + self.name = yaml["name"] + self.parent = parent + self.kids = [allocation(k, db, self) for k in yaml.get("kids", ())] + valid_until = yaml.get("valid_until") + if valid_until is None and "valid_for" in yaml: + valid_until = datetime.datetime.utcnow() + timedelta.parse(yaml["valid_for"]) + self.base = rpki.resource_set.resource_bag( + as = rpki.resource_set.resource_set_as(yaml.get("asn")), + v4 = rpki.resource_set.resource_set_ipv4(yaml.get("ipv4")), + v6 = rpki.resource_set.resource_set_ipv6(yaml.get("ipv6")), + valid_until = valid_until) + self.sia_base = yaml.get("sia_base") + if "crl_interval" in yaml: + self.crl_interval = timedelta.parse(yaml["crl_interval"]).convert_to_seconds() + self.extra_conf = yaml.get("extra_conf", []) + + def closure(self): + """Compute the transitive resource closure.""" + resources = self.base + for kid in self.kids: + resources = resources.union(kid.closure()) + self.resources = resources + return resources + + def apply_delta(self, yaml): + """Apply deltas to this entity.""" + rpki.log.info("Applying delta: %s" % yaml) + for k,v in yaml.items(): + if k != "name": + getattr(self, "apply_" + k)(v) + + def apply_add_as(self, text): self.base.as = self.base.as.union(rpki.resource_set.resource_set_as(text)) + def apply_add_v4(self, text): self.base.v4 = self.base.v4.union(rpki.resource_set.resource_set_ipv4(text)) + def apply_add_v6(self, text): self.base.v6 = self.base.v6.union(rpki.resource_set.resource_set_ipv6(text)) + def apply_sub_as(self, text): self.base.as = self.base.as.difference(rpki.resource_set.resource_set_as(text)) + def apply_sub_v4(self, text): self.base.v4 = self.base.v4.difference(rpki.resource_set.resource_set_ipv4(text)) + def apply_sub_v6(self, text): self.base.v6 = self.base.v6.difference(rpki.resource_set.resource_set_ipv6(text)) + + def apply_valid_until(self, stamp): self.base.valid_until = stamp + def apply_valid_for(self, text): self.base.valid_until = datetime.datetime.utcnow() + timedelta.parse(text) + def apply_valid_add(self, text): self.base.valid_until += timedelta.parse(text) + def apply_valid_sub(self, text): self.base.valid_until -= timedelta.parse(text) + + def apply_rekey(self, target): + if self.is_leaf(): + raise RuntimeError, "Can't rekey YAML leaf %s, sorry" % self.name + elif target is None: + rpki.log.info("Rekeying <self/> %s" % self.name) + self.call_rpkid(rpki.left_right.self_elt.make_pdu(action = "set", self_id = self.self_id, rekey = "yes")) + else: + rpki.log.info("Rekeying <parent/> %s %s" % (self.name, target)) + self.call_rpkid(rpki.left_right.parent_elt.make_pdu(action = "set", self_id = self.self_id, parent_id = target, rekey = "yes")) + + def apply_revoke(self, target): + if self.is_leaf(): + rpki.log.info("Attempting to revoke YAML leaf %s" % self.name) + subprocess.check_call((prog_python, prog_poke, "-y", self.name + ".yaml", "-r", "revoke")) + elif target is None: + rpki.log.info("Revoking <self/> %s" % self.name) + self.call_rpkid(rpki.left_right.self_elt.make_pdu(action = "set", self_id = self.self_id, revoke = "yes")) + else: + rpki.log.info("Revoking <parent/> %s %s" % (self.name, target)) + self.call_rpkid(rpki.left_right.parent_elt.make_pdu(action = "set", self_id = self.self_id, parent_id = target, revoke = "yes")) + + def __str__(self): + s = self.name + "\n" + if self.resources.as: s += " ASN: %s\n" % self.resources.as + if self.resources.v4: s += " IPv4: %s\n" % self.resources.v4 + if self.resources.v6: s += " IPv6: %s\n" % self.resources.v6 + if self.kids: s += " Kids: %s\n" % ", ".join(k.name for k in self.kids) + if self.parent: s += " Up: %s\n" % self.parent.name + if self.sia_base: s += " SIA: %s\n" % self.sia_base + return s + "Until: %s\n" % self.resources.valid_until.strftime("%Y-%m-%dT%H:%M:%SZ") + + def is_leaf(self): return not self.kids + def is_root(self): return self.parent is None + def is_twig(self): return self.parent is not None and self.kids + + def set_engine_number(self, n): + """Set the engine number for this entity.""" + self.irdb_db_name = "irdb%d" % n + self.irdb_port = allocate_port() + self.rpki_db_name = "rpki%d" % n + self.rpki_port = allocate_port() + + def setup_biz_certs(self): + """Create business certs for this entity.""" + rpki.log.info("Biz certs for %s" % self.name) + for tag in ("RPKI", "IRDB"): + setup_biz_cert_chain(self.name + "-" + tag) + self.rpkid_ta = rpki.x509.X509(PEM_file = self.name + "-RPKI-TA.cer") + + def setup_conf_file(self): + """Write config files for this entity.""" + rpki.log.info("Config files for %s" % self.name) + d = { "my_name" : self.name, + "testbed_name" : testbed_name, + "irdb_db_name" : self.irdb_db_name, + "irdb_db_pass" : irdb_db_pass, + "irdb_port" : self.irdb_port, + "rpki_db_name" : self.rpki_db_name, + "rpki_db_pass" : rpki_db_pass, + "rpki_port" : self.rpki_port } + f = open(self.name + ".conf", "w") + f.write(conf_fmt_1 % d) + for line in self.extra_conf: + f.write(line + "\n") + f.close() + + def setup_sql(self, rpki_sql, irdb_sql): + """Set up this entity's IRDB.""" + rpki.log.info("MySQL setup for %s" % self.name) + db = MySQLdb.connect(user = "rpki", db = self.rpki_db_name, passwd = rpki_db_pass) + cur = db.cursor() + for sql in rpki_sql.split(";"): + cur.execute(sql) + db.close() + db = MySQLdb.connect(user = "irdb", db = self.irdb_db_name, passwd = irdb_db_pass) + cur = db.cursor() + for sql in irdb_sql.split(";"): + cur.execute(sql) + for kid in self.kids: + cur.execute("INSERT registrant (IRBE_mapped_id, subject_name, valid_until) VALUES (%s, %s, %s)", (kid.name, kid.name, kid.resources.valid_until)) + db.close() + + def sync_sql(self): + """Whack this entity's IRDB to match our master database. We do + this once during setup, then do it again every time we apply a + delta to this entity. + """ + rpki.log.info("MySQL sync for %s" % self.name) + db = MySQLdb.connect(user = "irdb", db = self.irdb_db_name, passwd = irdb_db_pass) + cur = db.cursor() + cur.execute("DELETE FROM asn") + cur.execute("DELETE FROM net") + for kid in self.kids: + cur.execute("SELECT registrant_id FROM registrant WHERE IRBE_mapped_id = %s", (kid.name,)) + registrant_id = cur.fetchone()[0] + for as_range in kid.resources.as: + cur.execute("INSERT asn (start_as, end_as, registrant_id) VALUES (%s, %s, %s)", (as_range.min, as_range.max, registrant_id)) + for v4_range in kid.resources.v4: + cur.execute("INSERT net (start_ip, end_ip, version, registrant_id) VALUES (%s, %s, 4, %s)", (v4_range.min, v4_range.max, registrant_id)) + for v6_range in kid.resources.v6: + cur.execute("INSERT net (start_ip, end_ip, version, registrant_id) VALUES (%s, %s, 6, %s)", (v6_range.min, v6_range.max, registrant_id)) + cur.execute("UPDATE registrant SET valid_until = %s WHERE registrant_id = %s", (kid.resources.valid_until, registrant_id)) + db.close() + + def run_daemons(self): + """Run daemons for this entity.""" + rpki.log.info("Running daemons for %s" % self.name) + self.rpkid_process = subprocess.Popen((prog_python, prog_rpkid, "-c", self.name + ".conf")) + self.irdbd_process = subprocess.Popen((prog_python, prog_irdbd, "-c", self.name + ".conf")) + + def kill_daemons(self): + """Kill daemons for this entity.""" + rpki.log.info("Killing daemons for %s" % self.name) + for proc in (self.rpkid_process, self.irdbd_process): + try: + os.kill(proc.pid, signal.SIGTERM) + except: + pass + proc.wait() + + def call_rpkid(self, pdu): + """Send a left-right message to this entity's RPKI daemon and + return the response. + """ + rpki.log.info("Calling rpkid for %s" % self.name) + pdu.type = "query" + elt = rpki.left_right.msg((pdu,)).toXML() + rpki.relaxng.left_right.assertValid(elt) + rpki.log.debug(lxml.etree.tostring(elt, pretty_print = True, encoding = "us-ascii")) + cms = rpki.cms.xml_sign( + elt = elt, + key = testbed_key, + certs = testbed_certs) + url = "https://localhost:%d/left-right" % self.rpki_port + rpki.log.debug("Attempting to connect to %s" % url) + cms = rpki.https.client( + privateKey = testbed_key, + certChain = testbed_certs, + x509TrustList = rpki.x509.X509_chain(self.rpkid_ta), + url = url, + msg = cms) + elt = rpki.cms.xml_verify(cms = cms, ta = self.rpkid_ta) + rpki.relaxng.left_right.assertValid(elt) + rpki.log.debug(lxml.etree.tostring(elt, pretty_print = True, encoding = "us-ascii")) + pdu = rpki.left_right.sax_handler.saxify(elt)[0] + assert pdu.type == "reply" and not isinstance(pdu, rpki.left_right.report_error_elt) + return pdu + + def create_rpki_objects(self): + """Create RPKI engine objects for this engine. + + Parent and child objects are tricky: + + - Parent object needs to know child_id by which parent refers to + this engine in order to set the contact URI correctly. + + - Child object needs to record the child_id by which this engine + refers to the child. + + This all just works so long as we walk the set of engines in the + right order (parents before their children). + + Root node of the engine tree is special, it too has a parent but + that one is the magic self-signed micro engine. + """ + + rpki.log.info("Creating rpkid self object for %s" % self.name) + self.self_id = self.call_rpkid(rpki.left_right.self_elt.make_pdu(action = "create", crl_interval = self.crl_interval)).self_id + + rpki.log.info("Creating rpkid BSC object for %s" % self.name) + pdu = self.call_rpkid(rpki.left_right.bsc_elt.make_pdu(action = "create", self_id = self.self_id, generate_keypair = True)) + self.bsc_id = pdu.bsc_id + + rpki.log.info("Issuing BSC EE cert for %s" % self.name) + cmd = (prog_openssl, "x509", "-req", "-CA", self.name + "-RPKI-CA.cer", "-CAkey", self.name + "-RPKI-CA.key", "-CAserial", self.name + "-RPKI-CA.srl") + signer = subprocess.Popen(cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE) + bsc_ee = rpki.x509.X509(PEM = signer.communicate(input = pdu.pkcs10_cert_request.get_PEM())[0]) + + rpki.log.info("Installing BSC EE cert for %s" % self.name) + self.call_rpkid(rpki.left_right.bsc_elt.make_pdu(action = "set", self_id = self.self_id, bsc_id = self.bsc_id, + signing_cert = [bsc_ee, rpki.x509.X509(PEM_file = self.name + "-RPKI-CA.cer")])) + + rpki.log.info("Creating rpkid repository object for %s" % self.name) + self.repository_id = self.call_rpkid(rpki.left_right.repository_elt.make_pdu(action = "create", self_id = self.self_id, bsc_id = self.bsc_id)).repository_id + + rpki.log.info("Creating rpkid parent object for %s" % self.name) + if self.parent is None: + self.parent_id = self.call_rpkid(rpki.left_right.parent_elt.make_pdu( + action = "create", self_id = self.self_id, bsc_id = self.bsc_id, repository_id = self.repository_id, sia_base = self.sia_base, + cms_ta = rootd_ta, https_ta = rootd_ta, sender_name = self.name, recipient_name = "Walrus", + peer_contact_uri = "https://localhost:%s/" % rootd_port)).parent_id + else: + self.parent_id = self.call_rpkid(rpki.left_right.parent_elt.make_pdu( + action = "create", self_id = self.self_id, bsc_id = self.bsc_id, repository_id = self.repository_id, sia_base = self.sia_base, + cms_ta = self.parent.rpkid_ta, https_ta = self.parent.rpkid_ta, sender_name = self.name, recipient_name = self.parent.name, + peer_contact_uri = "https://localhost:%s/up-down/%s" % (self.parent.rpki_port, self.child_id))).parent_id + + rpki.log.info("Creating rpkid child objects for %s" % self.name) + db = MySQLdb.connect(user = "irdb", db = self.irdb_db_name, passwd = irdb_db_pass) + cur = db.cursor() + for kid in self.kids: + kid.child_id = self.call_rpkid(rpki.left_right.child_elt.make_pdu(action = "create", self_id = self.self_id, bsc_id = self.bsc_id, cms_ta = kid.rpkid_ta)).child_id + cur.execute("UPDATE registrant SET rpki_self_id = %s, rpki_child_id = %s WHERE IRBE_mapped_id = %s", (self.self_id, kid.child_id, kid.name)) + db.close() + + def write_leaf_yaml(self): + """Write YAML scripts for leaf nodes. Only supports list requests + at the moment: issue requests would require class and SIA values, + revoke requests would require class and SKI values. + + ...Except that we can cheat and assume class 1 because we just + know that rpkid will assign that with the current setup. So we + also support issue, kludge though this is. + """ + + rpki.log.info("Writing leaf YAML for %s" % self.name) + f = open(self.name + ".yaml", "w") + f.write(yaml_fmt_1 % { + "child_id" : self.child_id, + "parent_name" : self.parent.name, + "my_name" : self.name, + "https_port" : self.parent.rpki_port, + "sia" : self.sia_base }) + f.close() + + def run_cron(self): + """Trigger cron run for this engine.""" + + rpki.log.info("Running cron for %s" % self.name) + rpki.https.client(privateKey = testbed_key, + certChain = testbed_certs, + x509TrustList = rpki.x509.X509_chain(self.rpkid_ta), + url = "https://localhost:%d/cronjob" % self.rpki_port, + msg = "Run cron now, please") + + def run_yaml(self): + """Run YAML scripts for this leaf entity.""" + rpki.log.info("Running YAML for %s" % self.name) + subprocess.check_call((prog_python, prog_poke, "-y", self.name + ".yaml", "-r", "list")) + subprocess.check_call((prog_python, prog_poke, "-y", self.name + ".yaml", "-r", "issue")) + +def setup_biz_cert_chain(name): + """Build a set of business certs.""" + s = "exec >/dev/null 2>&1\n" + for kind in ("EE", "CA", "TA"): + d = { "name" : name, + "kind" : kind, + "ca" : "true" if kind in ("CA", "TA") else "false", + "openssl" : prog_openssl } + f = open("%(name)s-%(kind)s.cnf" % d, "w") + f.write(biz_cert_fmt_1 % d) + f.close() + if not os.path.exists("%(name)s-%(kind)s.key" % d): + s += biz_cert_fmt_2 % d + s += biz_cert_fmt_3 % d + s += (biz_cert_fmt_4 % { "name" : name, "openssl" : prog_openssl }) + subprocess.check_call(s, shell = True) + +def setup_rootd(rpkid_name): + """Write the config files for rootd.""" + rpki.log.info("Config files for %s" % rootd_name) + d = { "rootd_name" : rootd_name, + "rootd_port" : rootd_port, + "rpkid_name" : rpkid_name, + "rootd_sia" : rootd_sia, + "rsyncd_dir" : rsyncd_dir, + "openssl" : prog_openssl } + f = open(rootd_name + ".conf", "w") + f.write(rootd_fmt_1 % d) + f.close() + s = "exec >/dev/null 2>&1\n" + if not os.path.exists(rootd_name + ".key"): + s += rootd_fmt_2 % d + s += rootd_fmt_3 % d + subprocess.check_call(s, shell = True) + +def setup_rcynic(): + """Write the config file for rcynic.""" + rpki.log.info("Config file for rcynic") + d = { "rcynic_name" : rcynic_name, + "rootd_name" : rootd_name } + f = open(rcynic_name + ".conf", "w") + f.write(rcynic_fmt_1 % d) + f.close() + +def setup_rsyncd(): + """Write the config file for rsyncd.""" + rpki.log.info("Config file for rsyncd") + d = { "rsyncd_name" : rsyncd_name, + "rsyncd_port" : rsyncd_port, + "rsyncd_module" : rsyncd_module, + "rsyncd_dir" : rsyncd_dir } + f = open(rsyncd_name + ".conf", "w") + f.write(rsyncd_fmt_1 % d) + f.close() + +def setup_publication(): + """Set up (pseudo) publication directory.""" + rpki.log.info("Pseudo-publication directory") + assert rootd_sia.startswith("rsync://") + global rsyncd_dir + rsyncd_dir = os.getcwd() + "/publication/" + rootd_sia[len("rsync://"):] + os.makedirs(rsyncd_dir) + +def run_rcynic(): + """Run rcynic to see whether what was published makes sense.""" + rpki.log.info("Running rcynic") + env = os.environ.copy() + env["TZ"] = "" + subprocess.check_call((prog_rcynic, "-c", rcynic_name + ".conf"), env = env) + subprocess.call(rcynic_stats, shell = True, env = env) + +biz_cert_fmt_1 = '''\ +[ req ] +distinguished_name = req_dn +x509_extensions = req_x509_ext +prompt = no +default_md = sha256 + +[ req_dn ] +CN = Test Certificate %(name)s %(kind)s + +[ req_x509_ext ] +basicConstraints = CA:%(ca)s +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always +''' + +biz_cert_fmt_2 = '''\ +%(openssl)s genrsa -out %(name)s-%(kind)s.key 2048 && +''' + +biz_cert_fmt_3 = '''\ +%(openssl)s req -new -key %(name)s-%(kind)s.key -out %(name)s-%(kind)s.req -config %(name)s-%(kind)s.cnf && +''' + +biz_cert_fmt_4 = '''\ +%(openssl)s x509 -req -in %(name)s-TA.req -out %(name)s-TA.cer -extfile %(name)s-TA.cnf -extensions req_x509_ext -signkey %(name)s-TA.key -days 60 && +%(openssl)s x509 -req -in %(name)s-CA.req -out %(name)s-CA.cer -extfile %(name)s-CA.cnf -extensions req_x509_ext -CA %(name)s-TA.cer -CAkey %(name)s-TA.key -CAcreateserial && +%(openssl)s x509 -req -in %(name)s-EE.req -out %(name)s-EE.cer -extfile %(name)s-EE.cnf -extensions req_x509_ext -CA %(name)s-CA.cer -CAkey %(name)s-CA.key -CAcreateserial +''' + +yaml_fmt_1 = '''--- +version: 1 +posturl: https://localhost:%(https_port)s/up-down/%(child_id)s +recipient-id: "%(parent_name)s" +sender-id: "%(my_name)s" + +cms-cert-file: %(my_name)s-RPKI-EE.cer +cms-key-file: %(my_name)s-RPKI-EE.key +cms-ca-cert-file: %(parent_name)s-RPKI-TA.cer +cms-cert-chain-file: [ %(my_name)s-RPKI-CA.cer ] + +ssl-cert-file: %(my_name)s-RPKI-EE.cer +ssl-key-file: %(my_name)s-RPKI-EE.key +ssl-ca-cert-file: %(parent_name)s-RPKI-TA.cer + +requests: + list: + type: list + issue: + type: issue + # + # This is cheating, we know a priori that the class will be "1" + # + class: 1 + sia: + - %(sia)s +''' + +conf_fmt_1 = '''\ + +[irdbd] + +startup-message = This is %(my_name)s irdbd + +sql-database = %(irdb_db_name)s +sql-username = irdb +sql-password = %(irdb_db_pass)s + +cms-key = %(my_name)s-IRDB-EE.key +cms-certs.0 = %(my_name)s-IRDB-EE.cer +cms-certs.1 = %(my_name)s-IRDB-CA.cer +cms-ta = %(my_name)s-RPKI-TA.cer + +https-key = %(my_name)s-IRDB-EE.key +https-certs.0 = %(my_name)s-IRDB-EE.cer +https-certs.1 = %(my_name)s-IRDB-CA.cer + +https-url = https://localhost:%(irdb_port)d/ + +[irbe-cli] + +cms-key = %(testbed_name)s-EE.key +cms-certs.0 = %(testbed_name)s-EE.cer +cms-certs.1 = %(testbed_name)s-CA.cer +cms-tas = %(my_name)s-RPKI-TA.cer + +https-key = %(testbed_name)s-EE.key +https-certs.0 = %(testbed_name)s-EE.cer +https-certs.1 = %(testbed_name)s-CA.cer +https-tas = %(my_name)s-RPKI-TA.cer + +https-url = https://localhost:%(rpki_port)d/left-right + +[rpkid] + +startup-message = This is %(my_name)s rpkid + +sql-database = %(rpki_db_name)s +sql-username = rpki +sql-password = %(rpki_db_pass)s + +cms-key = %(my_name)s-RPKI-EE.key +cms-cert.0 = %(my_name)s-RPKI-EE.cer +cms-cert.1 = %(my_name)s-RPKI-CA.cer + +cms-ta-irdb = %(my_name)s-IRDB-TA.cer +cms-ta-irbe = %(testbed_name)s-TA.cer + +https-key = %(my_name)s-RPKI-EE.key +https-cert.0 = %(my_name)s-RPKI-EE.cer +https-cert.1 = %(my_name)s-RPKI-CA.cer + +https-ta = %(my_name)s-IRDB-TA.cer + +irdb-url = https://localhost:%(irdb_port)d/ + +server-host = localhost +server-port = %(rpki_port)d +''' + +rootd_fmt_1 = '''\ + +[rootd] + +cms-key = %(rootd_name)s-EE.key +cms-certs.0 = %(rootd_name)s-EE.cer +cms-certs.1 = %(rootd_name)s-CA.cer +cms-ta = %(rpkid_name)s-RPKI-TA.cer + +https-key = %(rootd_name)s-EE.key +https-certs.0 = %(rootd_name)s-EE.cer +https-certs.1 = %(rootd_name)s-CA.cer + +server-port = %(rootd_port)s + +rootd_base = %(rootd_sia)s +rootd_cert = %(rootd_sia)sWOMBAT.cer + +rpki-subject-filename = %(rsyncd_dir)sWOMBAT.cer + +rpki-key = %(rootd_name)s.key +rpki-issuer = %(rootd_name)s.cer +rpki-pkcs10-filename = %(rootd_name)s.subject.pkcs10 + +[req] +default_bits = 2048 +encrypt_key = no +distinguished_name = req_dn +req_extensions = req_x509_ext +prompt = no + +[req_dn] +CN = Completely Bogus Test Root (NOT FOR PRODUCTION USE) + +[req_x509_ext] +basicConstraints = critical,CA:true +subjectKeyIdentifier = hash +keyUsage = critical,keyCertSign,cRLSign +subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:%(rootd_sia)s +sbgp-autonomousSysNum = critical,AS:0-4294967295 +sbgp-ipAddrBlock = critical,IPv4:0.0.0.0/0,IPv6:0::/0 +''' + +rootd_fmt_2 = '''\ +%(openssl)s genrsa -out %(rootd_name)s.key 2048 && +''' + +rootd_fmt_3 = '''\ +%(openssl)s req -new -key %(rootd_name)s.key -out %(rootd_name)s.req -config %(rootd_name)s.conf -text && +%(openssl)s x509 -req -in %(rootd_name)s.req -out %(rootd_name)s.cer -outform DER -extfile %(rootd_name)s.conf -extensions req_x509_ext -signkey %(rootd_name)s.key -sha256 +''' + +rcynic_fmt_1 = '''\ +[rcynic] +xml-summary = %(rcynic_name)s.xml +jitter = 0 +use-links = yes +use-syslog = yes +use-stderr = yes +log-level = log_telemetry +trust-anchor = %(rootd_name)s.cer +''' + +rsyncd_fmt_1 = '''\ +port = %(rsyncd_port)d +address = localhost + +[%(rsyncd_module)s] +read only = yes +transfer logging = yes +use chroot = no +path = %(rsyncd_dir)s +comment = RPKI test +''' + +main() diff --git a/rpkid/testbed.sql b/rpkid/testbed.sql new file mode 100644 index 00000000..c8cb90b0 --- /dev/null +++ b/rpkid/testbed.sql @@ -0,0 +1,57 @@ +-- $Id$ +-- +-- Run this manually under the MySQL CLI to set up databases for testdb.py. +-- testdb.py doesn't do this automatically because it requires privileges +-- that testbed.py doesn't (or at least shouldn't) have. + +CREATE DATABASE irdb0; +CREATE DATABASE irdb1; +CREATE DATABASE irdb2; +CREATE DATABASE irdb3; +CREATE DATABASE irdb4; +CREATE DATABASE irdb5; +CREATE DATABASE irdb6; +CREATE DATABASE irdb7; +CREATE DATABASE irdb8; +CREATE DATABASE irdb9; +CREATE DATABASE irdb10; +CREATE DATABASE irdb11; + +CREATE DATABASE rpki0; +CREATE DATABASE rpki1; +CREATE DATABASE rpki2; +CREATE DATABASE rpki3; +CREATE DATABASE rpki4; +CREATE DATABASE rpki5; +CREATE DATABASE rpki6; +CREATE DATABASE rpki7; +CREATE DATABASE rpki8; +CREATE DATABASE rpki9; +CREATE DATABASE rpki10; +CREATE DATABASE rpki11; + +GRANT ALL ON irdb0.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb1.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb2.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb3.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb4.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb5.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb6.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb7.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb8.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb9.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb10.* TO irdb@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON irdb11.* TO irdb@localhost IDENTIFIED BY 'fnord'; + +GRANT ALL ON rpki0.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki1.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki2.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki3.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki4.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki5.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki6.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki7.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki8.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki9.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki10.* TO rpki@localhost IDENTIFIED BY 'fnord'; +GRANT ALL ON rpki11.* TO rpki@localhost IDENTIFIED BY 'fnord'; diff --git a/rpkid/testpoke.py b/rpkid/testpoke.py new file mode 100644 index 00000000..3d23751b --- /dev/null +++ b/rpkid/testpoke.py @@ -0,0 +1,139 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +Trivial RPKI up-down protocol client, for testing. + +Configuration file is YAML to be compatable with APNIC rpki_poke.pl tool. + +Usage: python testpoke.py [ { -y | --yaml } configfile ] + [ { -r | --request } requestname ] + [ { -h | --help } ] + +Default configuration file is testpoke.yaml, override with --yaml option. +""" + +import os, time, getopt, sys, lxml, yaml +import rpki.resource_set, rpki.up_down, rpki.left_right, rpki.x509 +import rpki.https, rpki.config, rpki.cms, rpki.exceptions +import rpki.relaxng, rpki.oids + +os.environ["TZ"] = "UTC" +time.tzset() + +def usage(code): + print __doc__ + sys.exit(code) + +yaml_file = "testpoke.yaml" +yaml_cmd = None + +opts,argv = getopt.getopt(sys.argv[1:], "y:r:h?", ["yaml=", "request=", "help"]) +for o,a in opts: + if o in ("-h", "--help", "-?"): + usage(0) + elif o in ("-y", "--yaml"): + yaml_file = a + elif o in ("-r", "--request"): + yaml_cmd = a +if argv: + usage(1) + +f = open(yaml_file) +yaml_data = yaml.load(f) +f.close() + +if yaml_cmd is None and len(yaml_data["requests"]) == 1: + yaml_cmd = yaml_data["requests"].keys()[0] + +if yaml_cmd is None: + usage(1) + +yaml_req = yaml_data["requests"][yaml_cmd] + +def get_PEM(name, cls, y = yaml_data): + if name in y: + return cls(PEM = y[name]) + if name + "-file" in y: + return cls(PEM_file = y[name + "-file"]) + return None + +def get_PEM_chain(name, cert = None): + chain = rpki.x509.X509_chain() + if cert is not None: + chain.append(cert) + if name in yaml_data: + chain.extend([rpki.x509.X509(PEM = x) for x in yaml_data[name]]) + elif name + "-file" in yaml_data: + chain.extend([rpki.x509.X509(PEM_file = x) for x in yaml_data[name + "-file"]]) + return chain + +def query_up_down(q_pdu): + q_msg = rpki.up_down.message_pdu.make_query( + payload = q_pdu, + sender = yaml_data["sender-id"], + recipient = yaml_data["recipient-id"]) + q_elt = q_msg.toXML() + rpki.relaxng.up_down.assertValid(q_elt) + q_cms = rpki.cms.xml_sign(q_elt, cms_key, cms_certs, encoding = "UTF-8") + r_cms = rpki.https.client( + x509TrustList = https_ta, + privateKey = https_key, + certChain = https_certs, + msg = q_cms, + url = yaml_data["posturl"]) + r_xml = rpki.cms.verify(r_cms, cms_ta) + r_elt = lxml.etree.fromstring(r_xml) + rpki.relaxng.up_down.assertValid(r_elt) + return r_xml + +def do_list(): + print query_up_down(rpki.up_down.list_pdu()) + +def do_issue(): + q_pdu = rpki.up_down.issue_pdu() + req_key = get_PEM("cert-request-key", rpki.x509.RSA, yaml_req) or cms_key + sia = ((rpki.oids.name2oid["id-ad-caRepository"], ("uri", yaml_req["sia"][0])), + (rpki.oids.name2oid["id-ad-rpkiManifest"], ("uri", yaml_req["sia"][0] + req_key.gSKI() + ".mnf"))) + q_pdu.class_name = yaml_req["class"] + q_pdu.pkcs10 = rpki.x509.PKCS10.create_ca(req_key, sia) + print query_up_down(q_pdu) + +def do_revoke(): + q_pdu = rpki.up_down.revoke_pdu() + q_pdu.class_name = yaml_req["class"] + q_pdu.ski = yaml_req["ski"] + print query_up_down(q_pdu) + +dispatch = { "list" : do_list, "issue" : do_issue, "revoke" : do_revoke } + +cms_ta = get_PEM("cms-ca-cert", rpki.x509.X509) +cms_cert = get_PEM("cms-cert", rpki.x509.X509) +cms_key = get_PEM("cms-key", rpki.x509.RSA) +cms_certs = get_PEM_chain("cms-cert-chain", cms_cert) + +https_ta = get_PEM("ssl-ta", rpki.x509.X509) +https_key = get_PEM("ssl-key", rpki.x509.RSA) +https_cert = get_PEM("ssl-cert", rpki.x509.X509) +https_certs = get_PEM_chain("ssl-cert-chain", https_cert) + +ta = https_ta +https_ta = rpki.x509.X509_chain() +if ta is not None: + https_ta.append(ta) +del ta + +dispatch[yaml_req["type"]]() diff --git a/rpkid/testpoke.sh b/rpkid/testpoke.sh new file mode 100644 index 00000000..6e6a0b74 --- /dev/null +++ b/rpkid/testpoke.sh @@ -0,0 +1,8 @@ +#!/bin/sh - +# $Id$ +# +# Test client using APNIC's rpki_poke.pl script. + +: ${pokedir=../../mirin.apnic.net/rpki_engine/branches/gary-poker/client/poke} + +exec perl -I $pokedir $pokedir/rpki_poke.pl ${1+"$@"} diff --git a/rpkid/testpoke.yaml b/rpkid/testpoke.yaml new file mode 100644 index 00000000..22e2d35f --- /dev/null +++ b/rpkid/testpoke.yaml @@ -0,0 +1,28 @@ +--- +# $Id$ + +version: 1 +posturl: https://localhost:4433/up-down/1 +recipient-id: wombat +sender-id: "1" + +cms-cert-file: biz-certs/Frank-EE.cer +cms-key-file: biz-certs/Frank-EE.key +cms-ca-cert-file: biz-certs/Bob-Root.cer +cms-cert-chain-file: [ biz-certs/Frank-CA.cer ] + +ssl-cert-file: biz-certs/Frank-EE.cer +ssl-key-file: biz-certs/Frank-EE.key +ssl-ca-cert-file: biz-certs/Bob-Root.cer + +requests: + list: + type: list + issue: + type: issue + class: 1 + sia: [ "rsync://bandicoot.invalid/some/where/" ] + revoke: + type: revoke + class: 1 + ski: "CB5K6APY-4KcGAW9jaK_cVPXKX0" diff --git a/rpkid/up-down-protocol-samples/Makefile b/rpkid/up-down-protocol-samples/Makefile new file mode 100644 index 00000000..10ee791a --- /dev/null +++ b/rpkid/up-down-protocol-samples/Makefile @@ -0,0 +1,11 @@ +XMLLINT = xmllint --noout --relaxng +JING = java -jar /usr/local/share/java/classes/jing.jar +SCHEMA = ../up-down-medium-schema.rng + +all: jing xmllint + +jing: + ${JING} ${SCHEMA} *.xml + +xmllint: + ${XMLLINT} ${SCHEMA} *.xml diff --git a/rpkid/up-down-protocol-samples/error_response.xml b/rpkid/up-down-protocol-samples/error_response.xml new file mode 100644 index 00000000..83af6649 --- /dev/null +++ b/rpkid/up-down-protocol-samples/error_response.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="error_response"> + <status>2001</status> + <description xml:lang="en-US">[Readable text]</description> +</message> diff --git a/rpkid/up-down-protocol-samples/issue1.xml b/rpkid/up-down-protocol-samples/issue1.xml new file mode 100644 index 00000000..4b8366f9 --- /dev/null +++ b/rpkid/up-down-protocol-samples/issue1.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="issue"> + <request class_name="class name" + req_resource_set_as="64534-64540" + req_resource_set_ipv4="" + req_resource_set_ipv6=""> + MIICYTCCAUkCAQAwHDEaMBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0G + CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOng + KdOJIOlRSWcsQ9qgLNREs5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zq + m1yYeks+xOJZQtMZyg9YDrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2Q + QQ8POyrADNl7fehQE/YJc4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4A + AbsFXi4Dmq2VO8rCxodkdDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8N + UBM90T6Mvdx0qTOoVh0xeHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGg + ADANBgkqhkiG9w0BAQUFAAOCAQEAj9bYIVfREySBzUhQSlbNi9kfdXgivC/4A7pn + b4sMm081S05u0QLhyh1XNF/L3/U5yVElVHE8xobM/CuAkXpy7N5GSYj2T28Fmn77 + 1y/xdGg6Jp26OkbrqY3gjQAaMigYg9/6tPAc9fgLiQAJLUUYb2hRqaqu4Ze8RrxU + RsnVpAHWYDFWJhNqEp8eErzAVLqxpmoYJKgmpK6TKyYKuf8+xf3Rlkb4+iu2FotR + DQrmcd6jmMjp9xLejDEuoPgcfpVP2CB1jUCAIW7yE7+a7vj9Mop1gs61zP8y/p2V + rVnXgEy93WZLjQt1D29oKhlcFGtCG4nqIBCDAWVuz/LGACB85w== + </request> +</message> diff --git a/rpkid/up-down-protocol-samples/issue2.xml b/rpkid/up-down-protocol-samples/issue2.xml new file mode 100644 index 00000000..a991cbcd --- /dev/null +++ b/rpkid/up-down-protocol-samples/issue2.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="issue"> + <request class_name="class name" + req_resource_set_ipv4="" + req_resource_set_ipv6=""> + MIICYTCCAUkCAQAwHDEaMBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0G + CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOng + KdOJIOlRSWcsQ9qgLNREs5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zq + m1yYeks+xOJZQtMZyg9YDrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2Q + QQ8POyrADNl7fehQE/YJc4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4A + AbsFXi4Dmq2VO8rCxodkdDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8N + UBM90T6Mvdx0qTOoVh0xeHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGg + ADANBgkqhkiG9w0BAQUFAAOCAQEAj9bYIVfREySBzUhQSlbNi9kfdXgivC/4A7pn + b4sMm081S05u0QLhyh1XNF/L3/U5yVElVHE8xobM/CuAkXpy7N5GSYj2T28Fmn77 + 1y/xdGg6Jp26OkbrqY3gjQAaMigYg9/6tPAc9fgLiQAJLUUYb2hRqaqu4Ze8RrxU + RsnVpAHWYDFWJhNqEp8eErzAVLqxpmoYJKgmpK6TKyYKuf8+xf3Rlkb4+iu2FotR + DQrmcd6jmMjp9xLejDEuoPgcfpVP2CB1jUCAIW7yE7+a7vj9Mop1gs61zP8y/p2V + rVnXgEy93WZLjQt1D29oKhlcFGtCG4nqIBCDAWVuz/LGACB85w== + </request> +</message> diff --git a/rpkid/up-down-protocol-samples/issue_response.xml b/rpkid/up-down-protocol-samples/issue_response.xml new file mode 100644 index 00000000..39f6b954 --- /dev/null +++ b/rpkid/up-down-protocol-samples/issue_response.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="issue_response"> + <class class_name="ISP5" + cert_url="rsync://wombat.example/ISP5" + resource_set_as="64534-64540" + resource_set_ipv4="10.0.0.0/24,10.3.0.0/24" + resource_set_ipv6="2001:db8:0:0:0:0:a00::/120,2001:db8:0:0:0:0:a03::/120" + suggested_sia_head="rsync://wombat.example/fnord/"> + <certificate cert_url="rsync://wombat.example/ISP5a" + req_resource_set_as="" + req_resource_set_ipv4="10.0.0.0/24" + req_resource_set_ipv6="2001:db8:0:0:0:0:a00::/120"> + MIID3jCCAsagAwIBAgIBAzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowHDEa + MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB + DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox + 0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J + YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg + nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl + akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy + PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEqMIIBJjAPBgNVHRMB + Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAfBgNVHSME + GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB + BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 + cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j + Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwOQYIKwYBBQUHAQcB + Af8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACABDbgAAAAAAAAAAAoAADAN + BgkqhkiG9w0BAQUFAAOCAQEAkzKZYt3F6vAfWFAQN9M5N9n2klEmL9b9b4K4Vmv9 + DPNCBFbtZytCAphWB/FILS60MrvXHCcUoOmtOx3+Cw5D3yKX8Y9z2HbWmw2/7iDo + dxejgwGzI0OFa79vzC5pRwVz9CFFlMiuIShBFpHuSElmWmcxcQTJSXGU1fSGXHvG + Pv6RHSGzFJhUrW5RKOmoIrqk0JyM49R8IRAM+aMA+MOfALRTNAavW0pDlcuy+4wY + AIYRKF4k4ZDYZ9gA/LYnH56xvpEXwRE1bpxgUC5n8wQrdIn5/pJz3R5EgWe4CGOo + n/SMvEfe8d+LEc0C7LmtCwYoDOKENoOF809GVkbV9fjL8w== + </certificate> + <certificate cert_url="rsync://wombat.example/ISP5b" + req_resource_set_as="" + req_resource_set_ipv4="10.3.0.0/24" + req_resource_set_ipv6="2001:db8:0:0:0:0:a03::/120"> + MIID3jCCAsagAwIBAgIBAjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgyMFoXDTA4MDczMTE0NDgyMFowHDEa + MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB + DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON + m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT + D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t + tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp + OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe + RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEqMIIBJjAPBgNVHRMB + Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAfBgNVHSME + GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB + BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 + cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j + Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwOQYIKwYBBQUHAQcB + Af8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACABDbgAAAAAAAAAAAoDADAN + BgkqhkiG9w0BAQUFAAOCAQEARNgVrXF+6W7sMytC7YyKSt+CpJGZV7AvzKNZKv8k + xazhefrXkrpyK0caz4BtCHbptZFgNR/dDOC9M3wn0PcRTh9ISgW8beNfut16uj1F + fZdylJvNMXa4lt/wfRbzKqPicusCH0nutkRIW2mZuLuAO8v1vKr4umgZU+z/rXWu + glEA7OeBwmvPoqKixbgER5GtnTNySKIVVa1DUo/2CaPT/YjT48P0zXHoy6rnNgcn + 2emkoegzzS2cN+5I5I+O8IRnZInqmiPgEgElgEFw+rg6xw23yax5Nyqx12J56tt0 + tPWGhrYe1dCwKZajWKn3P9+NMcGQ0d8bw/QU+B3RyVeVfw== + </certificate> + <certificate cert_url="rsync://wombat.example/ISP5c" + req_resource_set_as="64534-64540" + req_resource_set_ipv4="" + req_resource_set_ipv6=""> + MIIDxjCCAq6gAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgxOFoXDTA4MDczMTE0NDgxOFowHDEa + MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB + DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE + s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y + DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ + c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk + dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x + eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjggESMIIBDjAPBgNVHRMB + Af8EBTADAQH/MB0GA1UdDgQWBBQth8Ga+FgrvcL4fjBHs6mIN8nrRjAfBgNVHSME + GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB + BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 + cm4ubmV0L0lTUDVjLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j + Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwIQYIKwYBBQUHAQgB + Af8EEjAQoA4wDDAKAgMA/BYCAwD8HDANBgkqhkiG9w0BAQUFAAOCAQEAUGsbhHfl + kwhe3EIkhnARJPgRkWgPCJtJ9konhROT7VlJ0Pim0kSrJWlBWUCLeKvSjQmowP4g + SddHxN4ZoXnSjb0pCDeomrZeViVQ2hxH6L/tHkl5SIEHl9MvFOe8junvgpq9GGAI + CFcibkW7Gp9p4A+GQkns0l9v+wGwuVZmqmJk4YBo7hHZRbg6/IFL1MD3HKeXmn33 + lCwFhjUuDIMXRbY/1k5fui13QUolN7mLSk60NvXJ94Tga68c1eCIpapvhxAYw69G + 7mOX42aYu1FnidZNj7Lt9jOuW0REHlavrG17HxP5loTuCNtLH1ZIrJcO7rUz9C0D + YqMybYWFUqZHyg== + </certificate> + <issuer> + MIIEFTCCAv2gAwIBAgIBDjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU + IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE4WhcNMDgwNzMxMTQ0ODE4WjAbMRkw + FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A + MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 + g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM + N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ + tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls + zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs + hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBYzCCAV8wDwYDVR0TAQH/ + BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwHwYDVR0jBBgw + FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF + BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu + Lm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v + d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAhBggrBgEFBQcBCAEB/wQS + MBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/BEIwQDASBAIAATAMAwQA + CgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAA + AAAKAwAwDQYJKoZIhvcNAQEFBQADggEBAEhmCa7kUuozB6aST0Gd2XStJBcR1oWI + 8mZS5WEOjnjbVvuryDEb0fLs3x2HgCHZgZ7IAOg31cNxJpc1Ff6ZYEG+m3LpkcG/ + yOMllfOVK8RQSY+nKuya2fm2J3dCOKogEjBW20HwxNd1WgFLrDaOTR9V+iROBPKs + 3ppMPp6ksPqEqDU/3N3bLHROIISlFwWHilXuTK5ZAnzncDIQnm+zUuxI/0d3v6Fp + 8VxVlNBHqzo0VpakZOkxwqo01qJRsoxVaIxeetGNQ4noPhtj6bEM4Y8xDS9f3R7o + eEHUSTnKonMemm/AB3KZnjwL7rkL2FI1ThmDRO3Z3lprbThjThJF8EU= + </issuer> + </class> +</message> diff --git a/rpkid/up-down-protocol-samples/list.xml b/rpkid/up-down-protocol-samples/list.xml new file mode 100644 index 00000000..01a803f3 --- /dev/null +++ b/rpkid/up-down-protocol-samples/list.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="list" /> diff --git a/rpkid/up-down-protocol-samples/list_response.xml b/rpkid/up-down-protocol-samples/list_response.xml new file mode 100644 index 00000000..9e368f5a --- /dev/null +++ b/rpkid/up-down-protocol-samples/list_response.xml @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="list_response"> + <class class_name="ISP5" + cert_url="rsync://wombat.example/ISP5" + resource_set_as="64534-64540" + resource_set_ipv4="10.0.0.0/24,10.3.0.0/24" + resource_set_ipv6="2001:db8:0:0:0:0:a00::/120,2001:db8:0:0:0:0:a03::/120" + suggested_sia_head="rsync://wombat.example/fnord/"> + <certificate cert_url="rsync://wombat.example/ISP5a" + req_resource_set_as="" + req_resource_set_ipv4="10.0.0.0/24" + req_resource_set_ipv6="2001:db8:0:0:0:0:a00::/120"> + MIID3jCCAsagAwIBAgIBAzANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowHDEa + MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWEwggEiMA0GCSqGSIb3DQEBAQUAA4IB + DwAwggEKAoIBAQDmS614KGvmUBtlgdWNK1Z3zbvJR6CqMrAsrB/x5JArwjNv51Ox + 0B2rBSedt6HuqE/IWzYj4xLkUVknzf16qtxWBaFzq3ndPIKyj6757MA2OOYCqv2J + YCFSW7YzgHXlf/2sbuzUmiYvfihFFilHffOKctXkZfr0VG+uSDNiwTLxK4MzNmNg + nrzH55ldUdrNL4+DRyCe6cyjcsByvUktxFLqb9pCRnGQx69/n8fdC5aWPEWfwOpl + akPj85LV4XPAbiD1F+XRWNohs+kMTfDovXy374HJ9XDPqCB94mr5G2apyHHWMvhy + PYOZGQ0Ma+n4ks0zF4ZqPa8NBZSrHNQspEXLAgMBAAGjggEqMIIBJjAPBgNVHRMB + Af8EBTADAQH/MB0GA1UdDgQWBBQJ8BQLefsL/6jvVLnsPrmL0Muc7DAfBgNVHSME + GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB + BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 + cm4ubmV0L0lTUDVhLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j + Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwOQYIKwYBBQUHAQcB + Af8EKjAoMAwEAgABMAYDBAAKAAAwGAQCAAIwEgMQACABDbgAAAAAAAAAAAoAADAN + BgkqhkiG9w0BAQUFAAOCAQEAkzKZYt3F6vAfWFAQN9M5N9n2klEmL9b9b4K4Vmv9 + DPNCBFbtZytCAphWB/FILS60MrvXHCcUoOmtOx3+Cw5D3yKX8Y9z2HbWmw2/7iDo + dxejgwGzI0OFa79vzC5pRwVz9CFFlMiuIShBFpHuSElmWmcxcQTJSXGU1fSGXHvG + Pv6RHSGzFJhUrW5RKOmoIrqk0JyM49R8IRAM+aMA+MOfALRTNAavW0pDlcuy+4wY + AIYRKF4k4ZDYZ9gA/LYnH56xvpEXwRE1bpxgUC5n8wQrdIn5/pJz3R5EgWe4CGOo + n/SMvEfe8d+LEc0C7LmtCwYoDOKENoOF809GVkbV9fjL8w== + </certificate> + <certificate cert_url="rsync://wombat.example/ISP5b" + req_resource_set_as="" + req_resource_set_ipv4="10.3.0.0/24" + req_resource_set_ipv6="2001:db8:0:0:0:0:a03::/120"> + MIID3jCCAsagAwIBAgIBAjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgyMFoXDTA4MDczMTE0NDgyMFowHDEa + MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWIwggEiMA0GCSqGSIb3DQEBAQUAA4IB + DwAwggEKAoIBAQC/j1nY/PodBHApznsBZCFA3FxD/kyviMhim76cco+KpTSKOyON + m4pPv2asaHGc/WhZ9b+fTS611uP6vfNgU1y3EayVC8CHzZmelFeN7AW436r8jjjT + D2VtCWDy4ZiBcthRPkGRsxCV9fXQ+eVcoYX6cSaF49FMAn8U4h5KipZontYWpe+t + tYNizSN0fIJWtNE0U1qKemGfrlRb7/lW3odrQpK8SfS1wzUHShhH0pLGHBZ0dLHp + OTxTEgWd69ycciuXTSchd5Z9TM55DPunuJlrZiAuVpxEtONegMR9eKG0BfcgfSYe + RL9daRU8eiRnvbm1CA8zTa87Lee5qx0r1vtzAgMBAAGjggEqMIIBJjAPBgNVHRMB + Af8EBTADAQH/MB0GA1UdDgQWBBRss2WU/safSlCdTYtAGqH9lxeXkjAfBgNVHSME + GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB + BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 + cm4ubmV0L0lTUDViLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j + Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwOQYIKwYBBQUHAQcB + Af8EKjAoMAwEAgABMAYDBAAKAwAwGAQCAAIwEgMQACABDbgAAAAAAAAAAAoDADAN + BgkqhkiG9w0BAQUFAAOCAQEARNgVrXF+6W7sMytC7YyKSt+CpJGZV7AvzKNZKv8k + xazhefrXkrpyK0caz4BtCHbptZFgNR/dDOC9M3wn0PcRTh9ISgW8beNfut16uj1F + fZdylJvNMXa4lt/wfRbzKqPicusCH0nutkRIW2mZuLuAO8v1vKr4umgZU+z/rXWu + glEA7OeBwmvPoqKixbgER5GtnTNySKIVVa1DUo/2CaPT/YjT48P0zXHoy6rnNgcn + 2emkoegzzS2cN+5I5I+O8IRnZInqmiPgEgElgEFw+rg6xw23yax5Nyqx12J56tt0 + tPWGhrYe1dCwKZajWKn3P9+NMcGQ0d8bw/QU+B3RyVeVfw== + </certificate> + <certificate cert_url="rsync://wombat.example/ISP5c" + req_resource_set_as="64534-64540" + req_resource_set_ipv4="" + req_resource_set_ipv6=""> + MIIDxjCCAq6gAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIzMB4XDTA3MDgwMTE0NDgxOFoXDTA4MDczMTE0NDgxOFowHDEa + MBgGA1UEAxMRVEVTVCBFTlRJVFkgSVNQNWMwggEiMA0GCSqGSIb3DQEBAQUAA4IB + DwAwggEKAoIBAQDIi6ElZd/uon9Ur1IKGhr6DXWzPOngKdOJIOlRSWcsQ9qgLNRE + s5YUqQd3YLlvAe+OVKV0rFpn+DBNEPmsn7h1YQv253zqm1yYeks+xOJZQtMZyg9Y + DrfIgk7lu6z9kuWIsvxkz244OxiD/OemrvuQNtDhyk2QQQ8POyrADNl7fehQE/YJ + c4Kj0uO7ggiHf9K7Dg56KLYlArXZUfwzMkdH/89/vO4AAbsFXi4Dmq2VO8rCxodk + dDmqWWuu4KdRGgfyjkyOZS/f8pm64LaKT8AgcnmYAI8NUBM90T6Mvdx0qTOoVh0x + eHznAp6NChQSbdM3x3rwhBD+/k0olyZuCIWhAgMBAAGjggESMIIBDjAPBgNVHRMB + Af8EBTADAQH/MB0GA1UdDgQWBBQth8Ga+FgrvcL4fjBHs6mIN8nrRjAfBgNVHSME + GDAWgBSYvgT/gNGrlTmqPfIOZ30AraP9xTAOBgNVHQ8BAf8EBAMCAQYwQgYIKwYB + BQUHAQsENjA0MDIGCCsGAQUFBzAFhiZyc3luYzovL3dvbWJhdHMtci11cy5oYWN0 + cm4ubmV0L0lTUDVjLzBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKHJzeW5j + Oi8vd29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvTElSMy5jZXIwIQYIKwYBBQUHAQgB + Af8EEjAQoA4wDDAKAgMA/BYCAwD8HDANBgkqhkiG9w0BAQUFAAOCAQEAUGsbhHfl + kwhe3EIkhnARJPgRkWgPCJtJ9konhROT7VlJ0Pim0kSrJWlBWUCLeKvSjQmowP4g + SddHxN4ZoXnSjb0pCDeomrZeViVQ2hxH6L/tHkl5SIEHl9MvFOe8junvgpq9GGAI + CFcibkW7Gp9p4A+GQkns0l9v+wGwuVZmqmJk4YBo7hHZRbg6/IFL1MD3HKeXmn33 + lCwFhjUuDIMXRbY/1k5fui13QUolN7mLSk60NvXJ94Tga68c1eCIpapvhxAYw69G + 7mOX42aYu1FnidZNj7Lt9jOuW0REHlavrG17HxP5loTuCNtLH1ZIrJcO7rUz9C0D + YqMybYWFUqZHyg== + </certificate> + <issuer> + MIIEFTCCAv2gAwIBAgIBDjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU + IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE4WhcNMDgwNzMxMTQ0ODE4WjAbMRkw + FwYDVQQDExBURVNUIEVOVElUWSBMSVIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A + MIIBCgKCAQEAoyFXYWSvERjUy96m3K3ZLA8PWJ9+yIVVESZMfPBraBqeagyP5tw9 + g1gqzHesGXNvWvNuJKzNGtwdC0xE9W2LChc9hvno/uZg5Z9AauWU6JpWFxccq8GM + N0ArVb8sXtyNyiV/il/u+xaG6+AI0ybl43DFDGv7G49rXPbiSlilNQHqBRs+zoS+ + tT9tGBZLaOV5TIh9tqVlozrCMtytj4oF7vbpeoDaEqkPWrXS0zGsPtMZJS0o3nls + zv13ZtXjL6nL+YWMILuihiPwk5UgBHjHxwem/vD0RbvPeCvdzpwIpUZoEEzXBWJs + hlotfwY4wk27RIcAQ3nSj/NrsvRcHLloAQIDAQABo4IBYzCCAV8wDwYDVR0TAQH/ + BAUwAwEB/zAdBgNVHQ4EFgQUmL4E/4DRq5U5qj3yDmd9AK2j/cUwHwYDVR0jBBgw + FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF + BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu + Lm5ldC9MSVIzLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v + d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAhBggrBgEFBQcBCAEB/wQS + MBCgDjAMMAoCAwD8FgIDAPwcMFEGCCsGAQUFBwEHAQH/BEIwQDASBAIAATAMAwQA + CgAAAwQACgMAMCoEAgACMCQDEAAgAQ24AAAAAAAAAAAKAAADEAAgAQ24AAAAAAAA + AAAKAwAwDQYJKoZIhvcNAQEFBQADggEBAEhmCa7kUuozB6aST0Gd2XStJBcR1oWI + 8mZS5WEOjnjbVvuryDEb0fLs3x2HgCHZgZ7IAOg31cNxJpc1Ff6ZYEG+m3LpkcG/ + yOMllfOVK8RQSY+nKuya2fm2J3dCOKogEjBW20HwxNd1WgFLrDaOTR9V+iROBPKs + 3ppMPp6ksPqEqDU/3N3bLHROIISlFwWHilXuTK5ZAnzncDIQnm+zUuxI/0d3v6Fp + 8VxVlNBHqzo0VpakZOkxwqo01qJRsoxVaIxeetGNQ4noPhtj6bEM4Y8xDS9f3R7o + eEHUSTnKonMemm/AB3KZnjwL7rkL2FI1ThmDRO3Z3lprbThjThJF8EU= + </issuer> + </class> + <class class_name="ISP2" + cert_url="rsync://wombat.example/ISP2" + resource_set_as="" + resource_set_ipv4="192.0.2.44-192.0.2.100" + resource_set_ipv6=""> + <certificate cert_url="http://wombat.example/ISP2a,rsync://wombat.example/ISP2a,ftp://wombat.example/ISP2a"> + MIIDzDCCArSgAwIBAgIBCTANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBURVNU + IEVOVElUWSBMSVIxMB4XDTA3MDgwMTE0NDgyMloXDTA4MDczMTE0NDgyMlowGzEZ + MBcGA1UEAxMQVEVTVCBFTlRJVFkgSVNQMjCCASIwDQYJKoZIhvcNAQEBBQADggEP + ADCCAQoCggEBANB338Qhrxtaa6inKNdDyJttJdiNf5Er45X9kmCsFBLXI2iFSw7b + K+Y44EjbGDePQMCQWA4/CWdfjj8EdQZgkkLz5EUENZVd6SJCLPZcpn15jOEIGXw1 + nTr95/+bKbXuiUfMDYOg4XOvHwmEqAuDzHmIv3wdc9arQhtkmlwZgyud5a1MWAV2 + lXAj7qXAMcqip8gdHvLJ8j04gsJT5VSG8nyxc+Hc6YZzCKxZO74vWMFCxYAYjDoK + KjL2/ijQKFKDxjBpUZBZGZvT1MLgUmrBTlmaGOR4Llf5fytddijJycV+5UOhm2jS + Bhy+P2n5wvqeT2jPY2/bbfxnNcCxbgo37DMCAwEAAaOCARkwggEVMA8GA1UdEwEB + /wQFMAMBAf8wHQYDVR0OBBYEFHOyFhrN3NcwYA/6gZX4ovVOlfOtMB8GA1UdIwQY + MBaAFIqUF/lT8luUVFbfdlETKfZxGaizMA4GA1UdDwEB/wQEAwIBBjBBBggrBgEF + BQcBCwQ1MDMwMQYIKwYBBQUHMAWGJXJzeW5jOi8vd29tYmF0cy1yLXVzLmhhY3Ry + bi5uZXQvSVNQMi8wRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihyc3luYzov + L3dvbWJhdHMtci11cy5oYWN0cm4ubmV0L0xJUjEuY2VyMCkGCCsGAQUFBwEHAQH/ + BBowGDAWBAIAATAQMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEA + CvG1rzj5fZOV1Oq/SO+NYzxOHIA9egYgQg4NUpmqSz6v17RhR0+3tPfMmzxepTs8 + ut23KieOG7RcPGvR2f/CEvedgrrPdTS81wu01qhPWJNqriN6N+Mu8XCK3fUO+t+w + PxLUWqwzrRUcpdy+CMOOGg81Eg7e77iAeJCp648AChUdBRI6HTfp9PlKd25pJ7fj + f654MpKGbTkWXllPkxC1sL4cJUcq4o+Sn1zAKkjXUwAUjp6G6s+mIWZQiZU5Pv8n + lYXvPciYf83+wTBllLGtSFyut8hk6WmiB8rC1/5jS96pJaGRSxejqd0r99GlPre+ + QgMe2TRfFuM1esod7j1M1Q== + </certificate> + <issuer> + MIID9jCCAt6gAwIBAgIBEDANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9URVNU + IEVOVElUWSBSSVIwHhcNMDcwODAxMTQ0ODE4WhcNMDgwNzMxMTQ0ODE4WjAbMRkw + FwYDVQQDExBURVNUIEVOVElUWSBMSVIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A + MIIBCgKCAQEAr10c+dm71QHhWzbMUfb9hldgqp7H7E4Fr/tRXHrCWMSoV64UYum8 + tnJ9z0nISkCCSvQ+MLWUJZ5seIFXQ9aFAo3RnLXXNC/iqX0YJ7VHmkIWyJB/lizd + uJgXH3diSggALeBzDDk3ug+nWVlMfM3iXNeYNhBsiD5FmaaIL/Z/MUm6QisTecKy + 8QnZrTekQbZtRqEYBaBTB47gmLLR/Wdod2TV8/4dIjaeJloaqhiUwyx+mq++LJ1e + dSxJ1jcrBh/MY5d+7ixfZ69NYj56HwzhHgLy0gZ1rj8RvI4PE2Q4FDYdXQLsr2XV + uWj0ImYr70dbrTvyr7ZxDJRWinwBNvA6PwIDAQABo4IBRDCCAUAwDwYDVR0TAQH/ + BAUwAwEB/zAdBgNVHQ4EFgQUipQX+VPyW5RUVt92URMp9nEZqLMwHwYDVR0jBBgw + FoAU+7inozZICqCf8C7ci2i8s1xFJdcwDgYDVR0PAQH/BAQDAgEGMEEGCCsGAQUF + BwELBDUwMzAxBggrBgEFBQcwBYYlcnN5bmM6Ly93b21iYXRzLXItdXMuaGFjdHJu + Lm5ldC9MSVIxLzBDBggrBgEFBQcBAQQ3MDUwMwYIKwYBBQUHMAKGJ3JzeW5jOi8v + d29tYmF0cy1yLXVzLmhhY3Rybi5uZXQvUklSLmNlcjAaBggrBgEFBQcBCAEB/wQL + MAmgBzAFAgMA/BUwOQYIKwYBBQUHAQcBAf8EKjAoMCYEAgABMCAwDgMFAMAAAgED + BQHAAAIgMA4DBQLAAAIsAwUAwAACZDANBgkqhkiG9w0BAQUFAAOCAQEAcn3dpGAj + ceSZKAuaulzTl0ty64mBPBGFjCXtebJQpeiuDjd0+SyhvpaDNUANNvkyFnQlnPcP + zUZHjrnNrAx+06yEXvYx9KnyBc2C1+DXOySbxxXR253CHZL3Gam4oWcK+z0jOgWD + KQVQ4wAnqYD+u1HxPjsMmK7x7tETckZkj0syTs9kzxqlsTSm8F8Y+ES7E+qNXyR9 + OxVgjr70vdgEp9AQftMQZ781SclWz7eLe5sXC1TuIct1sD6NssHGfCaxfFipSjEk + zeU/pZodfREUQSrlVbbb9HU0N59eHfGGKvZ0vojhuWPOrVzpPJGKTI20aQPn+VJ5 + KH3Nf1ICSa7Vxw== + </issuer> + </class> +</message> diff --git a/rpkid/up-down-protocol-samples/revoke.xml b/rpkid/up-down-protocol-samples/revoke.xml new file mode 100644 index 00000000..eb4b3efb --- /dev/null +++ b/rpkid/up-down-protocol-samples/revoke.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="revoke"> + <key class_name="ISP5" + ski="CfAUC3n7C_-o71S57D65i9DLnOw"/> +</message> diff --git a/rpkid/up-down-protocol-samples/revoke_response.xml b/rpkid/up-down-protocol-samples/revoke_response.xml new file mode 100644 index 00000000..9f4ebacc --- /dev/null +++ b/rpkid/up-down-protocol-samples/revoke_response.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + type="revoke_response"> + <key class_name="ISP5" + ski="CfAUC3n7C_-o71S57D65i9DLnOw"/> +</message> diff --git a/rpkid/up-down-schema.rnc b/rpkid/up-down-schema.rnc new file mode 100644 index 00000000..10736576 --- /dev/null +++ b/rpkid/up-down-schema.rnc @@ -0,0 +1,71 @@ +# $Id$ +# +# RelaxNG (Compact Syntax) Scheme for up-down protocol, extracted +# from APNIC Wiki. +# +# libxml2 (including xmllint) only groks the XML syntax of RelaxNG, +# so run this through a converter like /usr/ports/textproc/trang to get +# XML syntax: +# +# $ trang up-down-schema.rnc up-down-schema.rng + + default namespace = "http://www.apnic.net/specs/rescerts/up-down/" + + grammar { + start = element message { + attribute version { xsd:positiveInteger { maxInclusive="1" } }, + attribute sender { xsd:token { maxLength="1024" } }, + attribute recipient { xsd:token { maxLength="1024" } }, + payload + } + + payload |= attribute type { "list" }, list_request + payload |= attribute type { "list_response"}, list_response + payload |= attribute type { "issue" }, issue_request + payload |= attribute type { "issue_response"}, issue_response + payload |= attribute type { "revoke" }, revoke_request + payload |= attribute type { "revoke_response"}, revoke_response + payload |= attribute type { "error_response"}, error_response + + list_request = empty + list_response = class* + + class = element class { + attribute class_name { xsd:token { maxLength="1024" } }, + attribute cert_url { xsd:string { maxLength="4096" } }, + attribute resource_set_as { xsd:string { maxLength="512000" pattern="[\-,0-9]*" } }, + attribute resource_set_ipv4 { xsd:string { maxLength="512000" pattern="[\-,/.0-9]*" } }, + attribute resource_set_ipv6 { xsd:string { maxLength="512000" pattern="[\-,/:0-9a-fA-F]*" } }, + attribute resource_set_notafter { xsd:dateTime { pattern=".*Z" } }?, + attribute suggested_sia_head { xsd:anyURI { maxLength="1024" pattern="rsync://.+"} }?, + element certificate { + attribute cert_url { xsd:string { maxLength="4096" } }, + attribute req_resource_set_as { xsd:string { maxLength="512000" pattern="[\-,0-9]*" } }?, + attribute req_resource_set_ipv4 { xsd:string { maxLength="512000" pattern="[\-,/.0-9]*" } }?, + attribute req_resource_set_ipv6 { xsd:string { maxLength="512000" pattern="[\-,/:0-9a-fA-F]*" } }?, + xsd:base64Binary { maxLength="512000" } + }*, + element issuer { xsd:base64Binary { maxLength="512000" } } + } + + issue_request = element request { + attribute class_name { xsd:token { maxLength="1024" } }, + attribute req_resource_set_as { xsd:string { maxLength="512000" pattern="[\-,0-9]*" } }?, + attribute req_resource_set_ipv4 { xsd:string { maxLength="512000" pattern="[\-,/.0-9]*" } }?, + attribute req_resource_set_ipv6 { xsd:string { maxLength="512000" pattern="[\-,/:0-9a-fA-F]*" } }?, + xsd:base64Binary { maxLength="512000" } + } + issue_response = class + + revoke_request = revocation + revoke_response = revocation + + revocation = element key { + attribute class_name { xsd:token { maxLength="1024" } }, + attribute ski { xsd:token { maxLength="1024" } } + } + + error_response = + element status { xsd:positiveInteger { maxInclusive="999999999999999" } }, + element description { attribute xml:lang { xsd:language }, xsd:string { maxLength="1024" } }? + } diff --git a/rpkid/up-down-schema.rng b/rpkid/up-down-schema.rng new file mode 100644 index 00000000..1c6cd854 --- /dev/null +++ b/rpkid/up-down-schema.rng @@ -0,0 +1,249 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + $Id$ + + RelaxNG (Compact Syntax) Scheme for up-down protocol, extracted + from APNIC Wiki. + + libxml2 (including xmllint) only groks the XML syntax of RelaxNG, + so run this through a converter like /usr/ports/textproc/trang to get + XML syntax: + + $ trang up-down-schema.rnc up-down-schema.rng +--> +<grammar ns="http://www.apnic.net/specs/rescerts/up-down/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="message"> + <attribute name="version"> + <data type="positiveInteger"> + <param name="maxInclusive">1</param> + </data> + </attribute> + <attribute name="sender"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <attribute name="recipient"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <ref name="payload"/> + </element> + </start> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>list</value> + </attribute> + <ref name="list_request"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>list_response</value> + </attribute> + <ref name="list_response"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>issue</value> + </attribute> + <ref name="issue_request"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>issue_response</value> + </attribute> + <ref name="issue_response"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>revoke</value> + </attribute> + <ref name="revoke_request"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>revoke_response</value> + </attribute> + <ref name="revoke_response"/> + </define> + <define name="payload" combine="choice"> + <attribute name="type"> + <value>error_response</value> + </attribute> + <ref name="error_response"/> + </define> + <define name="list_request"> + <empty/> + </define> + <define name="list_response"> + <zeroOrMore> + <ref name="class"/> + </zeroOrMore> + </define> + <define name="class"> + <element name="class"> + <attribute name="class_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <attribute name="cert_url"> + <data type="string"> + <param name="maxLength">4096</param> + </data> + </attribute> + <attribute name="resource_set_as"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,0-9]*</param> + </data> + </attribute> + <attribute name="resource_set_ipv4"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/.0-9]*</param> + </data> + </attribute> + <attribute name="resource_set_ipv6"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/:0-9a-fA-F]*</param> + </data> + </attribute> + <optional> + <attribute name="resource_set_notafter"> + <data type="dateTime"> + <param name="pattern">.*Z</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="suggested_sia_head"> + <data type="anyURI"> + <param name="maxLength">1024</param> + <param name="pattern">rsync://.+</param> + </data> + </attribute> + </optional> + <zeroOrMore> + <element name="certificate"> + <attribute name="cert_url"> + <data type="string"> + <param name="maxLength">4096</param> + </data> + </attribute> + <optional> + <attribute name="req_resource_set_as"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv4"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/.0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv6"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/:0-9a-fA-F]*</param> + </data> + </attribute> + </optional> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </element> + </zeroOrMore> + <element name="issuer"> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </element> + </element> + </define> + <define name="issue_request"> + <element name="request"> + <attribute name="class_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <optional> + <attribute name="req_resource_set_as"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv4"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/.0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="req_resource_set_ipv6"> + <data type="string"> + <param name="maxLength">512000</param> + <param name="pattern">[\-,/:0-9a-fA-F]*</param> + </data> + </attribute> + </optional> + <data type="base64Binary"> + <param name="maxLength">512000</param> + </data> + </element> + </define> + <define name="issue_response"> + <ref name="class"/> + </define> + <define name="revoke_request"> + <ref name="revocation"/> + </define> + <define name="revoke_response"> + <ref name="revocation"/> + </define> + <define name="revocation"> + <element name="key"> + <attribute name="class_name"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + <attribute name="ski"> + <data type="token"> + <param name="maxLength">1024</param> + </data> + </attribute> + </element> + </define> + <define name="error_response"> + <element name="status"> + <data type="positiveInteger"> + <param name="maxInclusive">999999999999999</param> + </data> + </element> + <optional> + <element name="description"> + <attribute name="xml:lang"> + <data type="language"/> + </attribute> + <data type="string"> + <param name="maxLength">1024</param> + </data> + </element> + </optional> + </define> +</grammar> diff --git a/rpkid/xml-parse-test.py b/rpkid/xml-parse-test.py new file mode 100755 index 00000000..bde7d167 --- /dev/null +++ b/rpkid/xml-parse-test.py @@ -0,0 +1,67 @@ +# $Id$ + +# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +import glob, rpki.up_down, rpki.left_right, rpki.relaxng, xml.sax, lxml.etree, lxml.sax, POW, POW.pkix + +verbose = True + +def test(fileglob, rng, sax_handler, encoding, tester=None): + files = glob.glob(fileglob) + files.sort() + for f in files: + print "\n<!--", f, "-->" + handler = sax_handler() + elt_in = lxml.etree.parse(f).getroot() + rng.assertValid(elt_in) + lxml.sax.saxify(elt_in, handler) + elt_out = handler.result.toXML() + rng.assertValid(elt_out) + if (tester): + tester(elt_in, elt_out, handler.result) + print lxml.etree.tostring(elt_out, pretty_print=True, encoding=encoding, xml_declaration=True) + +def pprint_cert(cert): + print cert.get_POW().pprint() + +def ud_tester(elt_in, elt_out, msg): + assert isinstance(msg, rpki.up_down.message_pdu) + if verbose: + if isinstance(msg.payload, rpki.up_down.list_response_pdu): + for c in msg.payload.classes: + for i in range(len(c.certs)): + print "[Certificate #%d]" % i + pprint_cert(c.certs[i].cert) + print "[Issuer]" + pprint_cert(c.issuer) + +def lr_tester(elt_in, elt_out, msg): + assert isinstance(msg, rpki.left_right.msg) + if verbose: + for bsc in [x for x in msg if isinstance(x, rpki.left_right.bsc_elt)]: + for cert in bsc.signing_cert: + pprint_cert(cert) + +test(fileglob="up-down-protocol-samples/*.xml", + rng=rpki.relaxng.up_down, + sax_handler=rpki.up_down.sax_handler, + encoding="utf-8", + tester=ud_tester) + +test(fileglob="left-right-protocol-samples/*.xml", + rng=rpki.relaxng.left_right, + sax_handler=rpki.left_right.sax_handler, + encoding="us-ascii", + tester=lr_tester) |