aboutsummaryrefslogtreecommitdiff
path: root/rpkid/ext/POW.c
AgeCommit message (Collapse)Author
2014-04-05Source tree reorg, phase 1. Almost everything moved, no file contents changed.Rob Austein
svn path=/branches/tk685/; revision=5757
2014-02-21Add router certificate support to yamltest, rpkic, etc.Rob Austein
svn path=/branches/tk671/; revision=5680
2014-02-13Better way to handle _object_exception_helper() failures.Rob Austein
svn path=/branches/tk671/; revision=5662
2014-02-13Failure of one of the _extension_helper() functions isn't really anRob Austein
assertion failure, it's bad input data. OK, it's bad input data that we should never see and would indicate an OpenSSL bug, but still. svn path=/branches/tk671/; revision=5661
2014-01-29CheckpointRob Austein
svn path=/branches/tk671/; revision=5651
2014-01-28More consolidation of extension handling code. DebugRob Austein
*_extension_helper() methods. Rework assertion handling. svn path=/branches/tk671/; revision=5650
2014-01-28Add ExtendedKeyUsage, refactor extension handling code.Rob Austein
svn path=/branches/tk671/; revision=5649
2013-12-16Clean up unused variables.Rob Austein
svn path=/trunk/; revision=5608
2013-10-08Add DH and DSA parameter generation, while I still remember all theRob Austein
relevant details of the OpenSSL API. svn path=/trunk/; revision=5555
2013-10-08Preliminary support for ECDSA and EC key parameter generation. At theRob Austein
moment, the only kind of parameters we know how to generate are for EC on the P-256 curve, but the key generation code should accept any parameters that the OpenSSL command line tool's genpkey command can generate (and is not limited to ECDSA -- DSA and DH should work, most likely ECDH as well). Adding capability of generating parameters for other well-known EC curves would just mean exposing additional NID values, so we could easily support any curve OpenSSL knows about. Adding parameter generation for DH etc would be maybe a dozen additional lines of C code per algorithm, as all of these use the same internal EVP_PKEY interface with minor variations. svn path=/trunk/; revision=5554
2013-10-08Switch RSA key generation to use a new .generateRSA() class methodRob Austein
rather than abusing the Asymmetric __init__() method, in preparation for adding support for other public key algorithms like ECDSA. svn path=/trunk/; revision=5553
2013-09-20Fix obscure reference count oops in IPAddress arithmetic operationRob Austein
coercion code. svn path=/trunk/; revision=5505
2013-08-28Pass Python exceptions from callback through to caller correctly.Rob Austein
svn path=/trunk/; revision=5473
2013-08-28Cleanup.Rob Austein
svn path=/trunk/; revision=5472
2013-08-28Rework the new certificate validation code to better encapsulate theRob Austein
underlying semantics in a Pythonic wrapper: X509Store.verify() now instantiates X509StoreCTX, and .verify_callback() is now an optional method supplied by the user via subclassing. svn path=/trunk/; revision=5471
2013-08-27X509StoreCTX.getCurrentCertificate() and X509StoreCTX.getChain().Rob Austein
svn path=/trunk/; revision=5470
2013-08-27X509StoreCTX.store property.Rob Austein
svn path=/trunk/; revision=5469
2013-08-27Doh, simpler.Rob Austein
svn path=/trunk/; revision=5468
2013-08-27CleanupRob Austein
svn path=/trunk/; revision=5467
2013-08-27Move most control operations from X509StoreCTX to X509Store.Rob Austein
svn path=/trunk/; revision=5466
2013-08-25Fix various things that required sequences to accept iterables. Fix aRob Austein
few incorrect error messages. svn path=/trunk/; revision=5465
2013-08-25Certificate verification code approaching something usable.Rob Austein
svn path=/trunk/; revision=5464
2013-08-24Basic certificate verification works. Needs a bunch of additionalRob Austein
methods, properties, and constants to be fully useful. svn path=/trunk/; revision=5463
2013-08-23Notes on future work to track OpenSSL's PKCS #1.5 -> PKCS #8 transition.Rob Austein
svn path=/trunk/; revision=5461
2013-08-22First cut at adding a .verify() method back to the X509Store class.Rob Austein
Not done yet, but does have the tricky bit (Python callback). svn path=/trunk/; revision=5460
2013-07-23Apparently I never set svn:keywords for this file.Rob Austein
svn path=/trunk/; revision=5442
2013-05-14Clean unused variables.Rob Austein
svn path=/trunk/; revision=5334
2013-04-11Get rid of dependency on v3_key_usage from OpenSSL library, since someRob Austein
Linux distributions hide that symbol; code after the change is easier to read anyway, so no great loss. svn path=/trunk/; revision=5294
2013-03-22.setRFC3779() handling of emtpy iterations was subtly broken in waysRob Austein
that only showed up when we started paying closer attention to inheritence and empty RFC 3779 extensions. Fixes #482. svn path=/trunk/; revision=5200
2012-11-23Use Py_ssize_t consistently for string lengths in C/Python API. See #355.Rob Austein
svn path=/trunk/; revision=4897
2012-11-22ipaddress_object_from_bytes() wasn't throwing exception correctly onRob Austein
some forms of bad input. See #355. svn path=/trunk/; revision=4896
2012-11-08Add __copy__ and __deepcopy__ support to IPAddress objects.Rob Austein
svn path=/branches/tk274/; revision=4812
2012-10-26Warnings dependent on word size: same OS and compiler version, warningRob Austein
shows up on 64-bit CPU, but not on 32-bit CPU. Fun! svn path=/branches/tk274/; revision=4792
2012-10-26Change POW representation of UTCTime and GeneralizedTime to use PythonRob Austein
datetime instead of OpenSSL-like GeneralizedTime strings. Clean up a lot of compiler warnings that gcc only reports with -Wextra. svn path=/branches/tk274/; revision=4791
2012-10-25Add direct conversion of datetime (and subclasses) timestamps toRob Austein
ASN1_TIME, so we can stop mucking about with this conversion in the Python code. svn path=/branches/tk274/; revision=4789
2012-10-25Fix some documentation strings. Convert inappropriate uses ofRob Austein
PyArg_ParseTuple() to use PySequence_Fast() et al. Fixes #296. svn path=/branches/tk274/; revision=4788
2012-10-14CleanupRob Austein
svn path=/branches/tk274/; revision=4778
2012-10-13Consolidate all the IP-version-specific voodoo into a read-only dataRob Austein
structure. svn path=/branches/tk274/; revision=4777
2012-10-12Correct type names (insert package name).Rob Austein
svn path=/branches/tk274/; revision=4776
2012-10-12Replace rpki.ipaddrs with rpki.POW.IPAddress.Rob Austein
svn path=/branches/tk274/; revision=4773
2012-10-11Tell OpenSSL to use Python's replacements for libc memory allocationRob Austein
functions, mostly because Python says this will make our teeth whiter. Seems to work. Back this out if it creates portability problems. svn path=/branches/tk274/; revision=4770
2012-10-11Use correct OID for EE certificate SIA (id-ad-signedObject, notRob Austein
id-ad-signedObjectRepository). Fix X509.setSerial() to set the serial (doh). Don't set empty RFC 3779 extensions no matter what silly thing the caller does. Set critical flag on Certificate Policies extension. svn path=/branches/tk274/; revision=4768
2012-10-10Convert ROAs and manifests to use POW CMS subclasses. Start inchingRob Austein
resource_set towards using POW.IPAddress class. Closes #293. svn path=/branches/tk274/; revision=4765
2012-10-10Fix length of manifest BIT STRING. Remove extraneous argument fromRob Austein
CMS subclass .sign() method calling sequences. svn path=/branches/tk274/; revision=4764
2012-10-09FIRST allocate, THEN initialize. Doh.Rob Austein
svn path=/branches/tk274/; revision=4759
2012-10-09Calculate SKI directly from POW.Asymmetric object.Rob Austein
svn path=/branches/tk274/; revision=4758
2012-10-05Apparently gcc reserves the right to optimize code to the point whereRob Austein
safe code becomes unsafe, then whines about it. Hmm. svn path=/branches/tk274/; revision=4757
2012-10-05Convert another chunk of Python code to use new POW classes. Clean upRob Austein
PEM and OID code in POW. Add ENTER() macro to make it easier to track down things like borked reference counts. svn path=/branches/tk274/; revision=4756
2012-10-03Make new POW.ROA and POW.Manifest subclasses of POW.CMS. This isRob Austein
still a little rough, doesn't set eContentType OIDs automatically, needs more testing, but basic stuff like extracting contents from an existing ROA seems to work. svn path=/branches/tk274/; revision=4753
2012-10-02Cleanup #warnings.Rob Austein
svn path=/branches/tk274/; revision=4752