|
Packit Service |
3749ba |
/*
|
|
Packit Service |
3749ba |
* Copyright (c) 2013 Red Hat Inc.
|
|
Packit Service |
3749ba |
*
|
|
Packit Service |
3749ba |
* Redistribution and use in source and binary forms, with or without
|
|
Packit Service |
3749ba |
* modification, are permitted provided that the following conditions
|
|
Packit Service |
3749ba |
* are met:
|
|
Packit Service |
3749ba |
*
|
|
Packit Service |
3749ba |
* * Redistributions of source code must retain the above
|
|
Packit Service |
3749ba |
* copyright notice, this list of conditions and the
|
|
Packit Service |
3749ba |
* following disclaimer.
|
|
Packit Service |
3749ba |
* * Redistributions in binary form must reproduce the
|
|
Packit Service |
3749ba |
* above copyright notice, this list of conditions and
|
|
Packit Service |
3749ba |
* the following disclaimer in the documentation and/or
|
|
Packit Service |
3749ba |
* other materials provided with the distribution.
|
|
Packit Service |
3749ba |
* * The names of contributors to this software may not be
|
|
Packit Service |
3749ba |
* used to endorse or promote products derived from this
|
|
Packit Service |
3749ba |
* software without specific prior written permission.
|
|
Packit Service |
3749ba |
*
|
|
Packit Service |
3749ba |
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
Packit Service |
3749ba |
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
Packit Service |
3749ba |
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
Packit Service |
3749ba |
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
Packit Service |
3749ba |
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
Packit Service |
3749ba |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
Packit Service |
3749ba |
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
Packit Service |
3749ba |
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
Packit Service |
3749ba |
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
Packit Service |
3749ba |
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
Packit Service |
3749ba |
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
Packit Service |
3749ba |
* DAMAGE.
|
|
Packit Service |
3749ba |
*
|
|
Packit Service |
3749ba |
* Author: Stef Walter <stefw@redhat.com>
|
|
Packit Service |
3749ba |
*/
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
#include "config.h"
|
|
Packit Service |
3749ba |
#include "test.h"
|
|
Packit Service |
3749ba |
#include "test-trust.h"
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
#include <stdarg.h>
|
|
Packit Service |
3749ba |
#include <stdlib.h>
|
|
Packit Service |
3749ba |
#include <stdio.h>
|
|
Packit Service |
3749ba |
#include <string.h>
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
#include "array.h"
|
|
Packit Service |
3749ba |
#include "attrs.h"
|
|
Packit Service |
3749ba |
#include "compat.h"
|
|
Packit Service |
3749ba |
#include "debug.h"
|
|
Packit Service |
3749ba |
#include "message.h"
|
|
Packit Service |
3749ba |
#include "persist.h"
|
|
Packit Service |
3749ba |
#include "pkcs11.h"
|
|
Packit Service |
3749ba |
#include "pkcs11i.h"
|
|
Packit Service |
3749ba |
#include "pkcs11x.h"
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_magic (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"value: \"blah\"\n"
|
|
Packit Service |
3749ba |
"application: \"test-persist\"\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
const char *other = " "
|
|
Packit Service |
3749ba |
"\n\n[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"value: \"blah\"\n"
|
|
Packit Service |
3749ba |
"application: \"test-persist\"\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
assert (p11_persist_magic ((unsigned char *)input, strlen (input)));
|
|
Packit Service |
3749ba |
assert (!p11_persist_magic ((unsigned char *)input, 5));
|
|
Packit Service |
3749ba |
assert (p11_persist_magic ((unsigned char *)other, strlen (other)));
|
|
Packit Service |
3749ba |
assert (!p11_persist_magic ((unsigned char *)"blah", 4));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static p11_array *
|
|
Packit Service |
3749ba |
args_to_array (void *arg,
|
|
Packit Service |
3749ba |
...) GNUC_NULL_TERMINATED;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static p11_array *
|
|
Packit Service |
3749ba |
args_to_array (void *arg,
|
|
Packit Service |
3749ba |
...)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
p11_array *array = p11_array_new (NULL);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
va_list (va);
|
|
Packit Service |
3749ba |
va_start (va, arg);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
while (arg != NULL) {
|
|
Packit Service |
3749ba |
p11_array_push (array, arg);
|
|
Packit Service |
3749ba |
arg = va_arg (va, void *);
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
va_end (va);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
return array;
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
check_read_msg (const char *file,
|
|
Packit Service |
3749ba |
int line,
|
|
Packit Service |
3749ba |
const char *function,
|
|
Packit Service |
3749ba |
const char *input,
|
|
Packit Service |
3749ba |
p11_array *expected)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
p11_array *objects;
|
|
Packit Service |
3749ba |
p11_persist *persist;
|
|
Packit Service |
3749ba |
int i;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
persist = p11_persist_new ();
|
|
Packit Service |
3749ba |
objects = p11_array_new (p11_attrs_free);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
if (p11_persist_read (persist, "test", (const unsigned char *)input, strlen (input), objects)) {
|
|
Packit Service |
3749ba |
if (expected == NULL)
|
|
Packit Service |
3749ba |
p11_test_fail (file, line, function, "decoding should have failed");
|
|
Packit Service |
3749ba |
for (i = 0; i < expected->num; i++) {
|
|
Packit Service |
3749ba |
if (i >= objects->num)
|
|
Packit Service |
3749ba |
p11_test_fail (file, line, function, "too few objects read");
|
|
Packit Service |
3749ba |
test_check_attrs_msg (file, line, function, expected->elem[i], objects->elem[i]);
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
if (i != objects->num)
|
|
Packit Service |
3749ba |
p11_test_fail (file, line, function, "too many objects read");
|
|
Packit Service |
3749ba |
} else {
|
|
Packit Service |
3749ba |
if (expected != NULL)
|
|
Packit Service |
3749ba |
p11_test_fail (file, line, function, "decoding failed");
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_array_free (objects);
|
|
Packit Service |
3749ba |
p11_persist_free (persist);
|
|
Packit Service |
3749ba |
p11_array_free (expected);
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
check_write_msg (const char *file,
|
|
Packit Service |
3749ba |
int line,
|
|
Packit Service |
3749ba |
const char *function,
|
|
Packit Service |
3749ba |
const char *expected,
|
|
Packit Service |
3749ba |
p11_array *input)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
p11_persist *persist;
|
|
Packit Service |
3749ba |
p11_buffer buf;
|
|
Packit Service |
3749ba |
int i;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
persist = p11_persist_new ();
|
|
Packit Service |
3749ba |
p11_buffer_init_null (&buf, 0);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
for (i = 0; i < input->num; i++) {
|
|
Packit Service |
3749ba |
if (!p11_persist_write (persist, input->elem[i], &buf))
|
|
Packit Service |
3749ba |
p11_test_fail (file, line, function, "persist write failed");
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
if (strcmp (buf.data, expected) != 0) {
|
|
Packit Service |
3749ba |
p11_test_fail (file, line, function, "persist doesn't match: (\n%s----\n%s\n)", \
|
|
Packit Service |
3749ba |
expected, (char *)buf.data);
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_buffer_uninit (&buf;;
|
|
Packit Service |
3749ba |
p11_array_free (input);
|
|
Packit Service |
3749ba |
p11_persist_free (persist);
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
#define check_read_success(input, objs) \
|
|
Packit Service |
3749ba |
check_read_msg (__FILE__, __LINE__, __FUNCTION__, input, args_to_array objs)
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
#define check_read_failure(input) \
|
|
Packit Service |
3749ba |
check_read_msg (__FILE__, __LINE__, __FUNCTION__, input, NULL)
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
#define check_write_success(expected, inputs) \
|
|
Packit Service |
3749ba |
check_write_msg (__FILE__, __LINE__, __FUNCTION__, expected, args_to_array inputs)
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static CK_OBJECT_CLASS certificate = CKO_CERTIFICATE;
|
|
Packit Service |
3749ba |
static CK_CERTIFICATE_TYPE x509 = CKC_X_509;
|
|
Packit Service |
3749ba |
static CK_OBJECT_CLASS nss_trust = CKO_NSS_TRUST;
|
|
Packit Service |
3749ba |
static CK_OBJECT_CLASS data = CKO_DATA;
|
|
Packit Service |
3749ba |
static CK_BBOOL truev = CK_TRUE;
|
|
Packit Service |
3749ba |
static CK_BBOOL falsev = CK_FALSE;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_simple (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"value: \"blah\"\n"
|
|
Packit Service |
3749ba |
"application: \"test-persist\"\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ CKA_VALUE, "blah", 4 },
|
|
Packit Service |
3749ba |
{ CKA_APPLICATION, "test-persist", 12 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_number (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"value-len: 29202390\n"
|
|
Packit Service |
3749ba |
"application: \"test-persist\"\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ULONG value = 29202390;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ CKA_VALUE_LEN, &value, sizeof (value) },
|
|
Packit Service |
3749ba |
{ CKA_APPLICATION, "test-persist", 12 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_bool (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"private: true\n"
|
|
Packit Service |
3749ba |
"modifiable: false\n"
|
|
Packit Service |
3749ba |
"application: \"test-persist\"\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ CKA_PRIVATE, &truev, sizeof (truev) },
|
|
Packit Service |
3749ba |
{ CKA_MODIFIABLE, &falsev, sizeof (falsev) },
|
|
Packit Service |
3749ba |
{ CKA_APPLICATION, "test-persist", 12 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_oid (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"object-id: 1.2.3.4\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ CKA_OBJECT_ID, "\x06\x03*\x03\x04", 5 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_constant (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"certificate-type: x-509-attr-cert\n"
|
|
Packit Service |
3749ba |
"key-type: rsa\n"
|
|
Packit Service |
3749ba |
"x-assertion-type: x-pinned-certificate\n"
|
|
Packit Service |
3749ba |
"certificate-category: authority\n"
|
|
Packit Service |
3749ba |
"mechanism-type: rsa-pkcs-key-pair-gen\n"
|
|
Packit Service |
3749ba |
"trust-server-auth: nss-trust-unknown\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_TRUST trust = CKT_NSS_TRUST_UNKNOWN;
|
|
Packit Service |
3749ba |
CK_CERTIFICATE_TYPE type = CKC_X_509_ATTR_CERT;
|
|
Packit Service |
3749ba |
CK_X_ASSERTION_TYPE ass = CKT_X_PINNED_CERTIFICATE;
|
|
Packit Service |
3749ba |
CK_MECHANISM_TYPE mech = CKM_RSA_PKCS_KEY_PAIR_GEN;
|
|
Packit Service |
3749ba |
CK_ULONG category = 2;
|
|
Packit Service |
3749ba |
CK_KEY_TYPE key = CKK_RSA;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ CKA_CERTIFICATE_TYPE, &type, sizeof (type) },
|
|
Packit Service |
3749ba |
{ CKA_KEY_TYPE, &key, sizeof (key) },
|
|
Packit Service |
3749ba |
{ CKA_X_ASSERTION_TYPE, &ass, sizeof (ass) },
|
|
Packit Service |
3749ba |
{ CKA_CERTIFICATE_CATEGORY, &category, sizeof (category) },
|
|
Packit Service |
3749ba |
{ CKA_MECHANISM_TYPE, &mech, sizeof (mech) },
|
|
Packit Service |
3749ba |
{ CKA_TRUST_SERVER_AUTH, &trust, sizeof (trust) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_unknown (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"38383838: \"the-value-here\"\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ 38383838, "the-value-here", 14 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_multiple (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"object-id: 1.2.3.4\n\n"
|
|
Packit Service |
3749ba |
"[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: nss-trust\n"
|
|
Packit Service |
3749ba |
"trust-server-auth: nss-trust-unknown\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_TRUST trust = CKT_NSS_TRUST_UNKNOWN;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs1[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &data, sizeof (data) },
|
|
Packit Service |
3749ba |
{ CKA_OBJECT_ID, "\x06\x03*\x03\x04", 5 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs2[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &nss_trust, sizeof (nss_trust) },
|
|
Packit Service |
3749ba |
{ CKA_TRUST_SERVER_AUTH, &trust, sizeof (trust) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs1, attrs2, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs1, attrs2, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_pem_block (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"id: \"292c92\"\n"
|
|
Packit Service |
3749ba |
"trusted: true\n"
|
|
Packit Service |
3749ba |
"-----BEGIN CERTIFICATE-----\n"
|
|
Packit Service |
3749ba |
"MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkG\n"
|
|
Packit Service |
3749ba |
"A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
|
|
Packit Service |
3749ba |
"cyAxIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
|
|
Packit Service |
3749ba |
"MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
|
|
Packit Service |
3749ba |
"BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmlt\n"
|
|
Packit Service |
3749ba |
"YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
|
|
Packit Service |
3749ba |
"ADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0f\n"
|
|
Packit Service |
3749ba |
"zGVuDLDQVoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHi\n"
|
|
Packit Service |
3749ba |
"TkVWaR94AoDa3EeRKbs2yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0G\n"
|
|
Packit Service |
3749ba |
"CSqGSIb3DQEBBQUAA4GBAFgVKTk8d6PaXCUDfGD67gmZPCcQcMgMCeazh88K4hiW\n"
|
|
Packit Service |
3749ba |
"NWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n0a3hUKw8fGJLj7qE1xIV\n"
|
|
Packit Service |
3749ba |
"Gx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZRjXZ+Hxb\n"
|
|
Packit Service |
3749ba |
"-----END CERTIFICATE-----\n"
|
|
Packit Service |
3749ba |
"\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &certificate, sizeof (certificate) },
|
|
Packit Service |
3749ba |
{ CKA_ID, "292c92", 6, },
|
|
Packit Service |
3749ba |
{ CKA_CERTIFICATE_TYPE, &x509, sizeof (x509) },
|
|
Packit Service |
3749ba |
{ CKA_VALUE, (unsigned char *)&verisign_v1_ca, sizeof (verisign_v1_ca) },
|
|
Packit Service |
3749ba |
{ CKA_TRUSTED, &truev, sizeof (truev) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_pem_middle (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: certificate\n"
|
|
Packit Service |
3749ba |
"id: \"292c92\"\n"
|
|
Packit Service |
3749ba |
"-----BEGIN CERTIFICATE-----\n"
|
|
Packit Service |
3749ba |
"MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkG\n"
|
|
Packit Service |
3749ba |
"A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
|
|
Packit Service |
3749ba |
"cyAxIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
|
|
Packit Service |
3749ba |
"MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
|
|
Packit Service |
3749ba |
"BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmlt\n"
|
|
Packit Service |
3749ba |
"YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
|
|
Packit Service |
3749ba |
"ADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0f\n"
|
|
Packit Service |
3749ba |
"zGVuDLDQVoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHi\n"
|
|
Packit Service |
3749ba |
"TkVWaR94AoDa3EeRKbs2yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0G\n"
|
|
Packit Service |
3749ba |
"CSqGSIb3DQEBBQUAA4GBAFgVKTk8d6PaXCUDfGD67gmZPCcQcMgMCeazh88K4hiW\n"
|
|
Packit Service |
3749ba |
"NWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n0a3hUKw8fGJLj7qE1xIV\n"
|
|
Packit Service |
3749ba |
"Gx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZRjXZ+Hxb\n"
|
|
Packit Service |
3749ba |
"-----END CERTIFICATE-----\n"
|
|
Packit Service |
3749ba |
"\n"
|
|
Packit Service |
3749ba |
"trusted: true";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE expected[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &certificate, sizeof (certificate) },
|
|
Packit Service |
3749ba |
{ CKA_CERTIFICATE_TYPE, &x509, sizeof (x509) },
|
|
Packit Service |
3749ba |
{ CKA_TRUSTED, &truev, sizeof (truev) },
|
|
Packit Service |
3749ba |
{ CKA_VALUE, (unsigned char *)&verisign_v1_ca, sizeof (verisign_v1_ca) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (input, (expected, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_pem_public_key (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"id: \"292c92\"\n"
|
|
Packit Service |
3749ba |
"-----BEGIN PUBLIC KEY-----\n"
|
|
Packit Service |
3749ba |
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n"
|
|
Packit Service |
3749ba |
"3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n"
|
|
Packit Service |
3749ba |
"7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\n"
|
|
Packit Service |
3749ba |
"j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n"
|
|
Packit Service |
3749ba |
"OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n"
|
|
Packit Service |
3749ba |
"5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n"
|
|
Packit Service |
3749ba |
"FQIDAQAB\n"
|
|
Packit Service |
3749ba |
"-----END PUBLIC KEY-----\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_ID, "292c92", 6, },
|
|
Packit Service |
3749ba |
{ CKA_PUBLIC_KEY_INFO, (unsigned char *)&example_public_key, sizeof (example_public_key) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_pem_invalid (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: certificate\n"
|
|
Packit Service |
3749ba |
"-----BEGIN CERT-----\n"
|
|
Packit Service |
3749ba |
"MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkG\n"
|
|
Packit Service |
3749ba |
"A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
|
|
Packit Service |
3749ba |
"cyAxIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
|
|
Packit Service |
3749ba |
"MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
|
|
Packit Service |
3749ba |
"BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmlt\n"
|
|
Packit Service |
3749ba |
"YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
|
|
Packit Service |
3749ba |
"ADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0f\n"
|
|
Packit Service |
3749ba |
"zGVuDLDQVoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHi\n"
|
|
Packit Service |
3749ba |
"TkVWaR94AoDa3EeRKbs2yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0G\n"
|
|
Packit Service |
3749ba |
"CSqGSIb3DQEBBQUAA4GBAFgVKTk8d6PaXCUDfGD67gmZPCcQcMgMCeazh88K4hiW\n"
|
|
Packit Service |
3749ba |
"NWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n0a3hUKw8fGJLj7qE1xIV\n"
|
|
Packit Service |
3749ba |
"Gx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZRjXZ+Hxb\n"
|
|
Packit Service |
3749ba |
"-----END CERTIFICATEXXX-----\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_pem_unsupported (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: certificate\n"
|
|
Packit Service |
3749ba |
"-----BEGIN BLOCK1-----\n"
|
|
Packit Service |
3749ba |
"aYNNXqshlVxCdo8QfKeXh3GUzd/yn4LYIVgQrx4a\n"
|
|
Packit Service |
3749ba |
"-----END BLOCK1-----\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_pem_first (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "-----BEGIN BLOCK1-----\n"
|
|
Packit Service |
3749ba |
"aYNNXqshlVxCdo8QfKeXh3GUzd/yn4LYIVgQrx4a\n"
|
|
Packit Service |
3749ba |
"-----END BLOCK1-----\n"
|
|
Packit Service |
3749ba |
"[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: certificate\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_skip_unknown (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[version-2]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"object-id: 1.2.3.4\n"
|
|
Packit Service |
3749ba |
"-----BEGIN BLOCK1-----\n"
|
|
Packit Service |
3749ba |
"aYNNXqshlVxCdo8QfKeXh3GUzd/yn4LYIVgQrx4a\n"
|
|
Packit Service |
3749ba |
"-----END BLOCK1-----\n"
|
|
Packit Service |
3749ba |
"[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: nss-trust\n"
|
|
Packit Service |
3749ba |
"trust-server-auth: nss-trust-unknown";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_TRUST trust = CKT_NSS_TRUST_UNKNOWN;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE expected2[] = {
|
|
Packit Service |
3749ba |
{ CKA_CLASS, &nss_trust, sizeof (nss_trust) },
|
|
Packit Service |
3749ba |
{ CKA_TRUST_SERVER_AUTH, &trust, sizeof (trust) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_success (input, (expected2, NULL));
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_bad_value (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"value: \"%38%\"\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_bad_oid (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"object-id: 1.2";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_bad_field (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"class: data\n"
|
|
Packit Service |
3749ba |
"invalid-field: true";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_attribute_first (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *input = "class: data\n"
|
|
Packit Service |
3749ba |
"[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"invalid-field: true";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_quiet ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_read_failure (input);
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
p11_message_loud ();
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_not_boolean (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
const char *output = "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"private: \"x\"\n\n";
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_PRIVATE, "x", 1 },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
static void
|
|
Packit Service |
3749ba |
test_not_ulong (void)
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
char buffer[sizeof (CK_ULONG) + 1];
|
|
Packit Service |
3749ba |
char *output;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
CK_ATTRIBUTE attrs[] = {
|
|
Packit Service |
3749ba |
{ CKA_BITS_PER_PIXEL, "xx", 2 },
|
|
Packit Service |
3749ba |
{ CKA_VALUE, buffer, sizeof (CK_ULONG) },
|
|
Packit Service |
3749ba |
{ CKA_INVALID },
|
|
Packit Service |
3749ba |
};
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
memset (buffer, 'x', sizeof (buffer));
|
|
Packit Service |
3749ba |
buffer[sizeof (CK_ULONG)] = 0;
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
if (asprintf (&output, "[p11-kit-object-v1]\n"
|
|
Packit Service |
3749ba |
"bits-per-pixel: \"xx\"\n"
|
|
Packit Service |
3749ba |
"value: \"%s\"\n\n", buffer) < 0)
|
|
Packit Service |
3749ba |
assert_not_reached ();
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
check_write_success (output, (attrs, NULL));
|
|
Packit Service |
3749ba |
free (output);
|
|
Packit Service |
3749ba |
}
|
|
Packit Service |
3749ba |
|
|
Packit Service |
3749ba |
int
|
|
Packit Service |
3749ba |
main (int argc,
|
|
Packit Service |
3749ba |
char *argv[])
|
|
Packit Service |
3749ba |
{
|
|
Packit Service |
3749ba |
p11_test (test_magic, "/persist/magic");
|
|
Packit Service |
3749ba |
p11_test (test_simple, "/persist/simple");
|
|
Packit Service |
3749ba |
p11_test (test_number, "/persist/number");
|
|
Packit Service |
3749ba |
p11_test (test_bool, "/persist/bool");
|
|
Packit Service |
3749ba |
p11_test (test_oid, "/persist/oid");
|
|
Packit Service |
3749ba |
p11_test (test_constant, "/persist/constant");
|
|
Packit Service |
3749ba |
p11_test (test_unknown, "/persist/unknown");
|
|
Packit Service |
3749ba |
p11_test (test_multiple, "/persist/multiple");
|
|
Packit Service |
3749ba |
p11_test (test_pem_block, "/persist/pem_block");
|
|
Packit Service |
3749ba |
p11_test (test_pem_middle, "/persist/pem-middle");
|
|
Packit Service |
3749ba |
p11_test (test_pem_public_key, "/persist/pem-public-key");
|
|
Packit Service |
3749ba |
p11_test (test_pem_invalid, "/persist/pem_invalid");
|
|
Packit Service |
3749ba |
p11_test (test_pem_unsupported, "/persist/pem_unsupported");
|
|
Packit Service |
3749ba |
p11_test (test_pem_first, "/persist/pem_first");
|
|
Packit Service |
3749ba |
p11_test (test_bad_value, "/persist/bad_value");
|
|
Packit Service |
3749ba |
p11_test (test_bad_oid, "/persist/bad_oid");
|
|
Packit Service |
3749ba |
p11_test (test_bad_field, "/persist/bad_field");
|
|
Packit Service |
3749ba |
p11_test (test_skip_unknown, "/persist/skip_unknown");
|
|
Packit Service |
3749ba |
p11_test (test_attribute_first, "/persist/attribute_first");
|
|
Packit Service |
3749ba |
p11_test (test_not_boolean, "/persist/not-boolean");
|
|
Packit Service |
3749ba |
p11_test (test_not_ulong, "/persist/not-ulong");
|
|
Packit Service |
3749ba |
return p11_test_run (argc, argv);
|
|
Packit Service |
3749ba |
}
|