title: SecTransformExecute() crashes the app with EXEC_BAD_ACCESS
body: <p>I have a private/public key pair and I'm trying to encrypt a String with either of them. The code is running on OSX 10.11 and Xcode 7.2</p>
  
  <pre><code>func encryptMessageWithKey(message: String, keyType: KeyType,
      withCompletionBlock: (success: Bool, data: NSData?, error: AsymCryptoExceptions.Exceptions?)
      -&gt; Void) {
  
          let uintData = [UInt8](message.utf8)
          let sourceData = CFDataCreate(kCFAllocatorDefault, uintData, uintData.count)
          let privKey = self.getPrivateKeyReference()!
          var errorRef: Unmanaged&lt;CFError&gt;?
          let encoder = SecEncryptTransformCreate(privKey, &amp;errorRef)
  
          SecTransformSetAttribute(encoder,
              kSecPaddingKey,
              kSecPaddingPKCS1Key,
              &amp;errorRef)
  
          SecTransformSetAttribute(encoder,
              kSecTransformInputAttributeName,
              sourceData,
              &amp;errorRef)
  
          var encryptedData = SecTransformExecute(encoder, &amp;errorRef)
  
          if (errorRef != nil) {
              let error = errorRef!.takeRetainedValue()
              print(error)
          }
  }
  </code></pre>
  
  <p>The above is failing miserably, causing the app to crash at runtime with <code>EXEC_BAD_ACCESS</code>. No errors, nothing.</p>
  
  <p>My research has shown that there might be a bug related to explicitly specifying <code>kSecPaddingPKCS1Key</code> as opposed to NULL which will set the padding to PKCS1 by default. However, I wasn't able to set this value to NULL since Swift has replaced that with nil and that can't be used in this spot.</p>