pldm oem: implement certificate handler

This commit adds code to handle the ceritificate request and
certificate transfer between the host and bmc following pldm oem
file i/o protocol

Change-Id: I8095e0f5ad8c3c5cc796da1cfbe4bb9946af31cf
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
diff --git a/oem/ibm/libpldm/file_io.c b/oem/ibm/libpldm/file_io.c
index 16b56e6..69aed29 100644
--- a/oem/ibm/libpldm/file_io.c
+++ b/oem/ibm/libpldm/file_io.c
@@ -598,7 +598,7 @@
 		return PLDM_ERROR_INVALID_DATA;
 	}
 
-	if (payload_length != PLDM_RW_FILE_BY_TYPE_REQ_BYTES) {
+	if (payload_length < PLDM_RW_FILE_BY_TYPE_REQ_BYTES) {
 		return PLDM_ERROR_INVALID_LENGTH;
 	}
 
diff --git a/oem/ibm/libpldm/file_io.h b/oem/ibm/libpldm/file_io.h
index 53f4343..aebe315 100644
--- a/oem/ibm/libpldm/file_io.h
+++ b/oem/ibm/libpldm/file_io.h
@@ -52,6 +52,9 @@
 	PLDM_FILE_TYPE_LID_PERM = 1,
 	PLDM_FILE_TYPE_LID_TEMP = 2,
 	PLDM_FILE_TYPE_DUMP = 3,
+	PLDM_FILE_TYPE_CERT_SIGNING_REQUEST = 4,
+	PLDM_FILE_TYPE_SIGNED_CERT = 5,
+	PLDM_FILE_TYPE_ROOT_CERT = 6,
 };
 
 #define PLDM_RW_FILE_MEM_REQ_BYTES 20