summaryrefslogtreecommitdiffstats
path: root/pki/base/native-tools/src/tkstool/delete.c
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/native-tools/src/tkstool/delete.c')
-rw-r--r--pki/base/native-tools/src/tkstool/delete.c111
1 files changed, 0 insertions, 111 deletions
diff --git a/pki/base/native-tools/src/tkstool/delete.c b/pki/base/native-tools/src/tkstool/delete.c
deleted file mode 100644
index f40e66d16..000000000
--- a/pki/base/native-tools/src/tkstool/delete.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* --- BEGIN COPYRIGHT BLOCK ---
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2007 Red Hat, Inc.
- * All rights reserved.
- * --- END COPYRIGHT BLOCK ---
- */
-
-#include "tkstool.h"
-
-static SECStatus
-DeleteKey( char *keyname,
- PK11SymKey *key )
-{
- char *name = NULL;
- SECStatus rv = SECFailure;
-
- name = PK11_GetSymKeyNickname( /* symmetric key */ key );
- if( name == NULL ) {
- name = PORT_Strdup( "< orphaned >" );
- }
-
- /* Delete this key ONLY if its name is the specified keyname */
- /* */
- /* NOTE: If duplicate keys are allowed to be added to an */
- /* individual token, this function will delete */
- /* EVERY key named by the specified keyname; */
- /* therefore, MORE than ONE key may be DELETED from */
- /* the specified token!!! */
- if( PL_strcmp( keyname, name ) == 0 ) {
- rv = PK11_DeleteTokenSymKey( /* symmetric key */ key );
- }
-
- PORT_Free( name );
-
- return rv;
-}
-
-
-SECStatus
-TKS_DeleteKeys( char *progName,
- PK11SlotInfo *slot,
- char *keyname,
- secuPWData *pwdata )
-{
- int count = 0;
- int keys_deleted = 0;
- PK11SymKey *symKey = NULL;
- PK11SymKey *nextSymKey = NULL;
- SECStatus rvDelete = SECFailure;
- SECStatus rv;
-
- if( PK11_NeedLogin( /* slot */ slot ) ) {
- PK11_Authenticate(
- /* slot */ slot,
- /* load certs */ PR_TRUE,
- /* wincx */ pwdata );
- }
-
- /* Initialize the symmetric key list. */
- symKey = PK11_ListFixedKeysInSlot(
- /* slot */ slot,
- /* nickname */ NULL,
- /* wincx */ ( void *) pwdata );
-
- /* Iterate through the symmetric key list. */
- while( symKey != NULL ) {
- rvDelete = DeleteKey( keyname,
- symKey );
- if( rvDelete != SECFailure ) {
- keys_deleted++;
- }
-
- nextSymKey = PK11_GetNextSymKey( /* symmetric key */ symKey );
- PK11_FreeSymKey( /* symmetric key */ symKey );
- symKey = nextSymKey;
-
- count++;
- }
-
- if( keys_deleted == 0 ) {
- PR_fprintf( PR_STDOUT,
- "\t%s: no key(s) called \"%s\" could be deleted\n",
- progName,
- keyname );
-
- rv = SECFailure;
- } else {
- PR_fprintf( PR_STDOUT,
- "%s: %d key(s) called \"%s\" were deleted\n",
- progName,
- keys_deleted,
- keyname );
-
- rv = SECSuccess;
- }
-
- return rv;
-}
-