+(defun epg-signature-set-fingerprint (signature fingerprint)
+ "Set the fingerprint of SIGNATURE."
+ (aset signature 4 fingerprint))
+
+(defun epg-make-key (owner-trust)
+ "Return a key object."
+ (vector owner-trust nil nil))
+
+(defun epg-key-owner-trust (key)
+ "Return the owner trust of KEY."
+ (aref key 0))
+
+(defun epg-key-sub-key-list (key)
+ "Return the sub key list of KEY."
+ (aref key 1))
+
+(defun epg-key-user-id-list (key)
+ "Return the user ID list of KEY."
+ (aref key 2))
+
+(defun epg-key-set-sub-key-list (key sub-key-list)
+ "Set the sub key list of KEY."
+ (aset key 1 sub-key-list))
+
+(defun epg-key-set-user-id-list (key user-id-list)
+ "Set the user ID list of KEY."
+ (aset key 2 user-id-list))
+
+(defun epg-make-sub-key (validity capability secret algorithm length id
+ creation-time expiration-time)
+ "Return a sub key object."
+ (vector validity capability secret algorithm length id creation-time
+ expiration-time nil))
+
+(defun epg-sub-key-validity (sub-key)
+ "Return the validity of SUB-KEY."
+ (aref sub-key 0))
+
+(defun epg-sub-key-capability (sub-key)
+ "Return the capability of SUB-KEY."
+ (aref sub-key 1))
+
+(defun epg-sub-key-secret (sub-key)
+ "Return non-nil if SUB-KEY is a secret key."
+ (aref sub-key 2))
+
+(defun epg-sub-key-algorithm (sub-key)
+ "Return the algorithm of SUB-KEY."
+ (aref sub-key 3))
+
+(defun epg-sub-key-length (sub-key)
+ "Return the length of SUB-KEY."
+ (aref sub-key 4))
+
+(defun epg-sub-key-id (sub-key)
+ "Return the ID of SUB-KEY."
+ (aref sub-key 5))
+
+(defun epg-sub-key-creation-time (sub-key)
+ "Return the creation time of SUB-KEY."
+ (aref sub-key 6))
+
+(defun epg-sub-key-expiration-time (sub-key)
+ "Return the expiration time of SUB-KEY."
+ (aref sub-key 7))
+
+(defun epg-sub-key-fingerprint (sub-key)
+ "Return the fingerprint of SUB-KEY."
+ (aref sub-key 8))
+
+(defun epg-sub-key-set-fingerprint (sub-key fingerprint)
+ "Set the fingerprint of SUB-KEY.
+This function is for internal use only."
+ (aset sub-key 8 fingerprint))
+
+(defun epg-make-user-id (validity name)
+ "Return a user ID object."
+ (vector validity name nil))
+
+(defun epg-user-id-validity (user-id)
+ "Return the validity of USER-ID."
+ (aref user-id 0))
+
+(defun epg-user-id-name (user-id)
+ "Return the name of USER-ID."
+ (aref user-id 1))
+
+(defun epg-user-id-signature-list (user-id)
+ "Return the signature list of USER-ID."
+ (aref user-id 2))
+
+(defun epg-user-id-set-signature-list (user-id signature-list)
+ "Set the signature list of USER-ID."
+ (aset user-id 2 signature-list))
+