mirror of
https://github.com/maxgoedjen/secretive.git
synced 2026-03-27 19:47:24 +01:00
Cleanup and tests
This commit is contained in:
@@ -61,13 +61,17 @@ class AgentTests: XCTestCase {
|
||||
var rs = r
|
||||
rs.append(s)
|
||||
let signature = try! P256.Signing.ECDSASignature(rawRepresentation: rs)
|
||||
let refereneceValid = try! P256.Signing.PublicKey(x963Representation: Constants.Secrets.ecdsa256Secret.publicKey).isValidSignature(signature, for: dataToSign)
|
||||
let referenceValid = try! P256.Signing.PublicKey(x963Representation: Constants.Secrets.ecdsa256Secret.publicKey).isValidSignature(signature, for: dataToSign)
|
||||
let store = list.stores.first!
|
||||
let valid = try? store.verify(signature: rs, for: dataToSign, with: AnySecret(Constants.Secrets.ecdsa256Secret))
|
||||
let invalid = try? store.verify(signature: rs, for: dataToSign, with: AnySecret(Constants.Secrets.ecdsa256Secret))
|
||||
XCTAssertTrue(refereneceValid)
|
||||
XCTAssert(valid == true)
|
||||
XCTAssert(invalid == false)
|
||||
let derVerifies = try! store.verify(signature: signature.derRepresentation, for: dataToSign, with: AnySecret(Constants.Secrets.ecdsa256Secret))
|
||||
let invalidRandomSignature = try? store.verify(signature: "invalid".data(using: .utf8)!, for: dataToSign, with: AnySecret(Constants.Secrets.ecdsa256Secret))
|
||||
let invalidRandomData = try? store.verify(signature: signature.derRepresentation, for: "invalid".data(using: .utf8)!, with: AnySecret(Constants.Secrets.ecdsa256Secret))
|
||||
let invalidWrongKey = try? store.verify(signature: signature.derRepresentation, for: dataToSign, with: AnySecret(Constants.Secrets.ecdsa384Secret))
|
||||
XCTAssertTrue(referenceValid)
|
||||
XCTAssertTrue(derVerifies)
|
||||
XCTAssert(invalidRandomSignature == false)
|
||||
XCTAssert(invalidRandomData == false)
|
||||
XCTAssert(invalidWrongKey == false)
|
||||
}
|
||||
|
||||
// MARK: Witness protocol
|
||||
|
||||
@@ -96,9 +96,12 @@ extension Stub {
|
||||
fatalError()
|
||||
}
|
||||
let verified = SecKeyVerifySignature(key, signatureAlgorithm, data as CFData, signature as CFData, &verifyError)
|
||||
if verifyError != nil {
|
||||
print(verifyError!.takeUnretainedValue())
|
||||
throw NSError(domain: "test", code: 0, userInfo: nil)
|
||||
if let verifyError {
|
||||
if verifyError.takeUnretainedValue() ~= .verifyError {
|
||||
return false
|
||||
} else {
|
||||
throw NSError(domain: "test", code: 0, userInfo: nil)
|
||||
}
|
||||
}
|
||||
return verified
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user