Apologies if this is a stupid question, but I'd be grateful if someone could provide an answer. I'm assuming that you need to use different keys to provide these functions, is that correct?
The usual meaning of signature (in cryptography) is this:
The usual meaning of a MAC (message authentication code) is this:
How could they use the same key to produce a MAC and a signature? We could use one of the signature keys for the MAC:
Both are not good ideas, normally.
There might be a way to do something similar, though. For example, if both Alice and Bob have a key pair, they might be able to calculate a shared secret from both (e.g. using the Diffie-Hellman key exchange if these are discrete-log-type key pairs), and use this shared result for a MAC. At the same time, Bob might use his private key to sign the message.
As Paŭlo Ebermann said, digital signatures involve a keypair ( a private key and a public key ), and there's no way to directly use either key for a MAC. There are several ways to indirectly use public key cryptography to generate something that could be used as a MAC key -- but I don't see any reason to ever do that.
Both the MAC (message authentication code) and a public-key digital signature have the same function: they allow the receiver to confirm that the message really did come from the person he thought it came from.
Once you've confirmed that the digital signature attached to a file is valid, you already know that the message is authentic and it came from the person who knows the private key used to create that public key. I don't see any point of also having an additional MAC.