-                       keyid = packet->data[7];
-                       keyid <<= 8;
-                       keyid += packet->data[8];
-                       keyid <<= 8;
-                       keyid += packet->data[9];
-                       keyid <<= 8;
-                       keyid += packet->data[10];
-                       keyid <<= 8;
-                       keyid += packet->data[11];
-                       keyid <<= 8;
-                       keyid += packet->data[12];
-                       keyid <<= 8;
-                       keyid += packet->data[13];
-                       keyid <<= 8;
-                       keyid += packet->data[14];
+                       if (keyid != NULL) {
+                               *keyid = packet->data[7];
+                               *keyid <<= 8;
+                               *keyid += packet->data[8];
+                               *keyid <<= 8;
+                               *keyid += packet->data[9];
+                               *keyid <<= 8;
+                               *keyid += packet->data[10];
+                               *keyid <<= 8;
+                               *keyid += packet->data[11];
+                               *keyid <<= 8;
+                               *keyid += packet->data[12];
+                               *keyid <<= 8;
+                               *keyid += packet->data[13];
+                               *keyid <<= 8;
+                               *keyid += packet->data[14];
+                       }
+                       if (creation != NULL) {
+                               *creation = packet->data[3];
+                               *creation <<= 8;
+                               *creation = packet->data[4];
+                               *creation <<= 8;
+                               *creation = packet->data[5];
+                               *creation <<= 8;
+                               *creation = packet->data[6];
+                       }