Merge branch 'master' of github.com:maxgoedjen/secretive

This commit is contained in:
Max Goedjen 2020-04-02 00:54:14 -07:00
commit 9c60a0b7dd
No known key found for this signature in database
GPG Key ID: E58C21DD77B9B8E8
1 changed files with 11 additions and 2 deletions

View File

@ -113,8 +113,17 @@ extension Agent {
let rawLength = rawRepresentation.count/2
let r = rawRepresentation[0..<rawLength]
let s = rawRepresentation[rawLength...]
// Check if we need to pad with 0x00 to prevent certain
// ssh servers from thinking r or s is negative
let paddingRange: ClosedRange<UInt8> = 0x80...0xFF
var r = Data(rawRepresentation[0..<rawLength])
if paddingRange ~= r.first! {
r.insert(0x00, at: 0)
}
var s = Data(rawRepresentation[rawLength...])
if paddingRange ~= s.first! {
s.insert(0x00, at: 0)
}
var signatureChunk = Data()
signatureChunk.append(writer.lengthAndData(of: r))