aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2012-09-22 01:04:04 +0000
committerRob Austein <sra@hactrn.net>2012-09-22 01:04:04 +0000
commit1dfedcf7c4929d46367eceedd4e427ccb6906b75 (patch)
treea0ddc80b49c4c7b8b476d4228f18cc6261e3176f
parentb19160a1867486fb8cace6836248374bb7ed2787 (diff)
Internal TODO comments (easier than a ticket system on airplanes...).
svn path=/branches/tk274/; revision=4731
-rw-r--r--rpkid/ext/POW.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/rpkid/ext/POW.c b/rpkid/ext/POW.c
index a44c1ce8..47488f35 100644
--- a/rpkid/ext/POW.c
+++ b/rpkid/ext/POW.c
@@ -81,6 +81,54 @@
/* $Id: rcynic.c 4613 2012-07-30 23:24:15Z sra $ */
+#warning Still need PKCS10 type and methods
+
+#warning Consider making ROA and Manifest C/API-level subclasses of CMS
+/*
+ * This would be a major change to the Python code but really seems
+ * like the right thing at the API level, the current two-level API is
+ * a horrible kludge forced on us by circumstance.
+ */
+
+#warning May want to tighten up type checking using O-bang PyArg_ParseTuple format
+/*
+ * Probably a good idea to let PyArg_ParseTuple do the type checking
+ * for us where it can.
+ */
+
+#warning Might want common worker code supporting extensions for X509, CRL, and PKCS10 classes
+/*
+ * May not really be necessary, neither CRLs nor PKCS10 requests are
+ * allowed very many extensions in the RPKI profile.
+ */
+
+#warning Asymmetric class probably should be storing an EVP and using the EVP API for everything
+/*
+ * EVP_PKEY == EVP public key. We already construct an EVP_PKEY
+ * almost every time we use the underlying RSA object that we store
+ * now, seems it would make more sense to store the EVP_PKEY.
+ *
+ * EVP_PKEY_new(), EVP_PKEY_free(), EVP_PKEY_assign_RSA(),
+ * EVP_PKEY_set1_RSA(), i2d_PrivateKey_bio(), d2i_PrivateKey_bio(),
+ * i2d_PUBKEY_bio(), d2i_PUBKEY_bio(), PEM_read_bio_PrivateKey(),
+ * PEM_write_bio_PrivateKey(), PEM_read_bio_PUBKEY(),
+ * PEM_write_bio_PUBKEY().
+ *
+ * PEM passphrases use a callback which takes a void* cookie, so that
+ * shouldn't be too bad.
+ *
+ * A lot of the EVP_PKEY manipulation we'd need to do here looks like
+ * we'd just be incrementing reference counts. EVP_PKEY_free()
+ * appears to do the right thing, and I see no EVP_PKEY_dup(). The
+ * approved way of incrementing the reference count appears to be:
+ *
+ * CRYPTO_add(&my_evp_pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
+ *
+ * Return value from CRYPTO_add() can be ignored when incrementing,
+ * not when decrementing (might go to zero). Probably just use
+ * EVP_PKEY_free() to decrement even if it looks funny.
+ */
+
/*
* Disable compilation of X509 certificate signature and verification
* API. We don't currently need this for RPKI but I'm not quite ready
@@ -1441,6 +1489,8 @@ x509_object_der_write(x509_object *self)
return result;
}
+#warning Where did x509_object_get_public_key go
+
/*
* Currently this function only supports RSA keys.
*/