When I want to squash some commits by interactive rebase:
git rebase -i HEAD~3
And then:
pick cbd03e3 Final co
Like Cupcake stated, you can't retain the old signature from the unsquashed commits, but you can sign the new squashed commit if you rebase like this:
git rebase --interactive --gpg-sign=myemail@example.com HEAD~4
Adding --gpg-sign=myemail@example.com as an argument will sign the final squashed commit.