aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2016-07-28 22:51:50 +0100
committerMichael Brown <mcb30@ipxe.org>2016-07-29 01:13:27 +0100
commit84add97ce9e094e9299db181d53ba8859f4a3e67 (patch)
treeb74ae8ed5f65cb7431f4f0c660db5282f743773c /src/include/ipxe
parenteb7188d04b30dcbc47ac1af621b738cc0923ae38 (diff)
downloadipxe-84add97ce9e094e9299db181d53ba8859f4a3e67.tar.gz
[crypto] Add PEM image format
Add PEM-encoded ASN.1 as an image format. We accept as PEM any image containing a line starting with a "-----BEGIN" boundary marker. We allow for PEM files containing multiple ASN.1 objects, such as a certificate chain produced by concatenating individual certificate files. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe')
-rw-r--r--src/include/ipxe/errfile.h1
-rw-r--r--src/include/ipxe/pem.h22
2 files changed, 23 insertions, 0 deletions
diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h
index 61e208a52..f28e58948 100644
--- a/src/include/ipxe/errfile.h
+++ b/src/include/ipxe/errfile.h
@@ -277,6 +277,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define ERRFILE_pnm ( ERRFILE_IMAGE | 0x00060000 )
#define ERRFILE_png ( ERRFILE_IMAGE | 0x00070000 )
#define ERRFILE_der ( ERRFILE_IMAGE | 0x00080000 )
+#define ERRFILE_pem ( ERRFILE_IMAGE | 0x00090000 )
#define ERRFILE_asn1 ( ERRFILE_OTHER | 0x00000000 )
#define ERRFILE_chap ( ERRFILE_OTHER | 0x00010000 )
diff --git a/src/include/ipxe/pem.h b/src/include/ipxe/pem.h
new file mode 100644
index 000000000..1276f94ad
--- /dev/null
+++ b/src/include/ipxe/pem.h
@@ -0,0 +1,22 @@
+#ifndef _IPXE_PEM_H
+#define _IPXE_PEM_H
+
+/** @file
+ *
+ * PEM image format
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
+
+#include <ipxe/image.h>
+
+/** Pre-encapsulation boundary marker */
+#define PEM_BEGIN "-----BEGIN"
+
+/** Post-encapsulation boundary marker */
+#define PEM_END "-----END"
+
+extern struct image_type pem_image_type __image_type ( PROBE_NORMAL );
+
+#endif /* _IPXE_PEM_H */