/* * Helper to create time stamp attr */ static isns_attr_t * isns_create_timestamp_attr(void) { isns_value_t value = ISNS_VALUE_INIT(uint64, time(NULL)); return isns_attr_alloc(ISNS_TAG_TIMESTAMP, NULL, &value); }
static isns_attr_t * __key_to_attr(EVP_PKEY *pkey) { struct __isns_opaque key; isns_value_t value; isns_attr_t *attr = NULL; if (!isns_dsa_encode_public(pkey, &key.ptr, &key.len)) goto out; /* Must pad key. This means we may end up encoding a few * bytes of trash. Oh well. */ key.len = ISNS_PAD(key.len); value = ISNS_VALUE_INIT(opaque, key); attr = isns_attr_alloc(OPENISNS_TAG_POLICY_KEY, NULL, &value); isns_free(key.ptr); out: EVP_PKEY_free(pkey); return attr; }