Skip to content

DSA signature incorrectly encoded and decoded to der based wire format #114

@nresare

Description

@nresare

As I was experimenting with adding support for validating signatures generated by the ssh-agent for my project ssh-agent-client-rs I discovered that the low level DSA signatures present in the data field of an ssh-key::Signature struct is different from the OpenSSH wire format as specified in RFC4253 Section 6.6

This seems to be unintentional, as the serialisation and deserialisation in ssh-key simply leans on the conversion present in the dsa
module.

One might argue that the format of the data field in Signature is an implementation detail, but on the other hand the new constructor enforces a 160 bit DSA key length which makes it impossible to construct a Signature instance with the public API that can be used for signature verification, as the longer internal representation from the dsa module will be rejected as invalid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions