list.c revision 71593db26bb6ef7b739cffe06d53bf990cac112c
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * CDDL HEADER START
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * The contents of this file are subject to the terms of the
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * Common Development and Distribution License (the "License").
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * You may not use this file except in compliance with the License.
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * See the License for the specific language governing permissions
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * and limitations under the License.
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * When distributing Covered Code, include this CDDL HEADER in each
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * If applicable, add the following below this CDDL HEADER, with the
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * fields enclosed by brackets "[]" replaced with your own identifying
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * information: Portions Copyright [yyyy] [name of copyright owner]
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * CDDL HEADER END
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * Use is subject to license terms.
f5aaa49dba43db0e99f06476534a8749820515dbcsovant#pragma ident "%Z%%M% %I% %E% SMI"
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * This file implements the token object list operation for this tool.
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * It loads the PKCS#11 modules, finds the object to list, lists it,
f5aaa49dba43db0e99f06476534a8749820515dbcsovant * and cleans up. User must be logged into the token to list private
f5aaa49dba43db0e99f06476534a8749820515dbcsovantpk_show_certs(KMF_HANDLE_T kmfhandle, KMF_X509_DER_CERT *certs, int num_certs)
f5aaa49dba43db0e99f06476534a8749820515dbcsovant for (i = 0; i < num_certs; i++) {
f5aaa49dba43db0e99f06476534a8749820515dbcsovantstatic char *
f5aaa49dba43db0e99f06476534a8749820515dbcsovant return ("RSA private key");
f5aaa49dba43db0e99f06476534a8749820515dbcsovant return ("DSA private key");
f5aaa49dba43db0e99f06476534a8749820515dbcsovantstatic char *
f5aaa49dba43db0e99f06476534a8749820515dbcsovant if (key == NULL || (key->keyclass != KMF_SYMMETRIC))
f5aaa49dba43db0e99f06476534a8749820515dbcsovant return ("");
for (i = 0; i < numkeys; i++) {
&rkey);
static KMF_RETURN
numcerts = 0;
numcerts);
sizeof (KMF_X509_DER_CERT));
return (KMF_ERR_MEMORY);
sizeof (KMF_X509_DER_CERT));
numcerts);
for (i = 0; i < numcerts; i++)
return (rv);
static KMF_RETURN
numkeys = 0;
sizeof (KMF_KEY_HANDLE));
return (KMF_ERR_MEMORY);
sizeof (KMF_KEY_HANDLE));
for (i = 0; i < numkeys; i++)
return (rv);
static KMF_RETURN
return (rv);
return (rv);
return (rv);
char *crldata;
return (rv);
int rv;
return (rv);
return (rv);
char *crldata;
return (rv);
return (rv);
int numcrls;
if (numcrls == 0) {
return (KMF_OK);
if (p == NULL) {
return (KMF_ERR_MEMORY);
p, &numcrls);
for (i = 0; i < numcrls; i++) {
free(p[i]);
free(p);
return (rv);
int opt;
extern int optind_av;
extern char *optarg_av;
int oclass = 0;
return (PK_ERR_USAGE);
switch (opt) {
if (kstype != 0)
return (PK_ERR_USAGE);
if (kstype == 0)
return (PK_ERR_USAGE);
if (oclass != 0)
return (PK_ERR_USAGE);
return (PK_ERR_USAGE);
if (subject)
return (PK_ERR_USAGE);
if (issuer)
return (PK_ERR_USAGE);
if (dir)
return (PK_ERR_USAGE);
if (prefix)
return (PK_ERR_USAGE);
if (filename)
return (PK_ERR_USAGE);
if (token_spec)
return (PK_ERR_USAGE);
if (list_label)
return (PK_ERR_USAGE);
return (PK_ERR_USAGE);
return (PK_ERR_USAGE);
if (argc)
return (PK_ERR_USAGE);
return (rv);
if (kstype == 0)
return (PK_ERR_USAGE);
if (oclass == 0)
return (PK_ERR_USAGE);
&tokencred);
return (rv);