Skip to content

Commit 141bda4

Browse files
committed
Made the default Signature variant .message_pkcs1v15_sha256.
1 parent 23c9f43 commit 141bda4

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Sources/CryptoSwift/RSA/RSA+Signature.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import Foundation
1111

1212
extension RSA: Signature {
1313
public func sign(_ bytes: ArraySlice<UInt8>) throws -> Array<UInt8> {
14-
try self.sign(Array(bytes), variant: .message_pkcs1v15_SHA512_256)
14+
try self.sign(Array(bytes), variant: .message_pkcs1v15_SHA256)
1515
}
1616

1717
public func sign(_ bytes: Array<UInt8>, variant: SignatureVariant) throws -> Array<UInt8> {
@@ -30,13 +30,13 @@ extension RSA: Signature {
3030
}
3131

3232
public func verify(signature: ArraySlice<UInt8>, for expectedData: ArraySlice<UInt8>) throws -> Bool {
33-
try self.verify(signature: Array(signature), for: Array(expectedData), variant: .message_pkcs1v15_SHA512_256)
33+
try self.verify(signature: Array(signature), for: Array(expectedData), variant: .message_pkcs1v15_SHA256)
3434
}
3535

3636
/// https://datatracker.ietf.org/doc/html/rfc8017#section-8.2.2
37-
public func verify(signature: Array<UInt8>, for bytes: Array<UInt8>, variant: SignatureVariant = .message_pkcs1v15_SHA256) throws -> Bool {
37+
public func verify(signature: Array<UInt8>, for bytes: Array<UInt8>, variant: SignatureVariant) throws -> Bool {
3838
/// Step 1: Ensure the signature is the same length as the key's modulus
39-
guard signature.count == (self.keySize / 8) else { throw Error.invalidSignatureLength }
39+
guard signature.count == (self.keySize / 8) || (signature.count - 1) == (self.keySize / 8) else { throw Error.invalidSignatureLength }
4040

4141
let expectedData = try Array<UInt8>(RSA.hashedAndEncoded(bytes, variant: variant, keySizeInBytes: self.keySize / 8).dropFirst())
4242

0 commit comments

Comments
 (0)