]> git.saurik.com Git - apple/security.git/blobdiff - AppleCSP/BSafeCSP/bsafeKeyGen.cpp
Security-54.1.tar.gz
[apple/security.git] / AppleCSP / BSafeCSP / bsafeKeyGen.cpp
index 088f2098998f4b486dc5e1a4a55c1325b0c78004..274a158b95de3cb41e60e959f9ef9b03dee03c85 100644 (file)
@@ -276,22 +276,27 @@ BSafe::BSafeKeyInfoProvider::BSafeKeyInfoProvider(
        const CssmKey &cssmKey) :
                CSPKeyInfoProvider(cssmKey)
 {
-       switch(mKey.keyClass()) {
+}
+
+CSPKeyInfoProvider *BSafe::BSafeKeyInfoProvider::provider(
+       const CssmKey &cssmKey)
+{
+       switch(cssmKey.keyClass()) {
                case CSSM_KEYCLASS_PUBLIC_KEY:
                case CSSM_KEYCLASS_PRIVATE_KEY:
                        break;
                default:
-                       CssmError::throwMe(CSSMERR_CSP_INVALID_KEY_CLASS);
+                       return NULL;
        }
        switch(mKey.algorithm()) {
                case CSSM_ALGID_RSA:
                case CSSM_ALGID_DSA:
                        break;
                default:
-                       CssmError::throwMe(CSSMERR_CSP_INVALID_ALGORITHM);
+                       return NULL;
        }
        /* OK, we'll handle this one */
-       return;
+       return new BSafeKeyInfoProvider(cssmKey);
 }
 
 /* cook up a Binary key */