Skip to content

Instantly share code, notes, and snippets.

@davefinster
Created November 28, 2016 02:05
Show Gist options
  • Save davefinster/bb776562db1ccc86e4cb6a6ff112fa32 to your computer and use it in GitHub Desktop.
Save davefinster/bb776562db1ccc86e4cb6a6ff112fa32 to your computer and use it in GitHub Desktop.
import Foundation
import SwiftyRSA
@objc(Request)
class Request: NSObject {
@objc(signRequest:signingString:resolve:reject:)
func signRequest(privateKey: String, signingString: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) -> Void {
do {
let privateKey = try PrivateKey(pemEncoded: privateKey)
let clear = try ClearMessage(string: signingString, using: .utf8)
let signature = try clear.signed(with: privateKey, digestType: .sha256)
let base64String = signature.base64String
return resolve(base64String)
} catch {
let error : NSError = NSError(domain: "RequestSigner", code: 1, userInfo: nil)
return reject("Error in signing", "Error", error)
}
}
}
pod 'SwiftyRSA', :git => 'git@github.com:TakeScoop/SwiftyRSA.git'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment