X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b04fe171f0375ecd5d8a24747ca1dff85720a0ca..6b200bc335dc93c5516ccb52f14bd896d8c7fad7:/SecurityTests/cspxutils/utilLib/nssAppUtils.cpp?ds=inline diff --git a/SecurityTests/cspxutils/utilLib/nssAppUtils.cpp b/SecurityTests/cspxutils/utilLib/nssAppUtils.cpp deleted file mode 100644 index d1c7e216..00000000 --- a/SecurityTests/cspxutils/utilLib/nssAppUtils.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2003-2004 Apple Computer, Inc. All Rights Reserved. - * - * The contents of this file constitute Original Code as defined in and are - * subject to the Apple Public Source License Version 1.2 (the 'License'). - * You may not use this file except in compliance with the License. Please - * obtain a copy of the License at http://www.apple.com/publicsource and - * read it before using this file. - * - * This Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - */ -/* - * nssAppUtils.cpp - */ - -#include "nssAppUtils.h" -#include "common.h" -#include "cspwrap.h" -#include -#include -#include -#include -#include - -/* - * Create pubKeyPartial as copy of pubKey without the DSA params. - * Returned partial key is RAW. Incoming key can be raw or ref. - */ -CSSM_RETURN extractDsaPartial( - CSSM_CSP_HANDLE cspHand, - const CSSM_KEY *pubKey, - CSSM_KEY_PTR pubKeyPartial) -{ - const CSSM_KEY *thePubKey = pubKey; - CSSM_KEY rawPubKey; - CSSM_RETURN crtn; - - if(pubKey->KeyHeader.BlobType == CSSM_KEYBLOB_REFERENCE) { - /* first get this in raw form */ - crtn = cspRefKeyToRaw(cspHand, pubKey, &rawPubKey); - if(crtn) { - return crtn; - } - thePubKey = &rawPubKey; - } - - /* decode raw public key */ - NSS_DSAPublicKeyX509 nssPub; - SecAsn1CoderRef coder; - - OSStatus ortn = SecAsn1CoderCreate(&coder); - if(ortn) { - cssmPerror("SecAsn1CoderCreate", ortn); - return ortn; - } - memset(&nssPub, 0, sizeof(nssPub)); - if(SecAsn1DecodeData(coder, &thePubKey->KeyData, kSecAsn1DSAPublicKeyX509Template, - &nssPub)) { - printf("***Error decoding DSA public key. Aborting.\n"); - return 1; - } - - /* zero out the params and reencode */ - nssPub.dsaAlg.params = NULL; - CSSM_DATA newKey = {0, NULL}; - if(SecAsn1EncodeItem(coder, &nssPub, kSecAsn1DSAPublicKeyX509Template, - &newKey)) { - printf("***Error reencoding DSA pub key\n"); - return 1; - } - - /* copy - newKey is in coder space */ - *pubKeyPartial = *thePubKey; - appCopyCssmData(&newKey, &pubKeyPartial->KeyData); - - if(pubKey->KeyHeader.BlobType == CSSM_KEYBLOB_REFERENCE) { - /* free the KeyData mallocd by cspRefKeyToRaw */ - CSSM_FREE(thePubKey->KeyData.Data); - pubKeyPartial->KeyHeader.BlobType = CSSM_KEYBLOB_RAW; - } - pubKeyPartial->KeyHeader.KeyAttr |= CSSM_KEYATTR_PARTIAL; - SecAsn1CoderRelease(coder); - return CSSM_OK; -}