http://wiki.wireshark.org/SSL
It mentions "..This only works for RSA key exchange if the RSA keys can be provided."
That's fine. But why?
The short answer is that if you were to use a certificate signed with a DSA signature, generally speaking, the SSL session will also use Diffie Hellman ephemeral mode for key exchange, (which incidently will grant you perfect forward secrecy), and therefore the private key of the certificate won't help you to decrypt traffic.
That is fair enough but not really a satisfying technical answer.
Here we'll talk about specifically why this is true.
In order to do so, first we will investigate why specifically we are able to eventually decrypt SSL connections when using an RSA key exchange.
To do so first let's review what happens in SSL secure communications between a Web server and a web browser.
During the initial handshake phase of SSL, the client issues a ClientHello record, and within this initial record (among other things) is a random integer presented to the server for use later on:

The server responds with a ServerHello and also sends to the client a random integer, also for use later on.

The Web Server also sends its SSL certificate in a Certificate record, and within this certificate is contained the public key of the Web server.
After the client has has verified the signature of the Certificate Authority within the SSL certificate, one of the steps it needs to perform is to generate something called the pre-master secret, which is a random integer that will also be used later on to derive the secret encryption key(s).
Specifically the client encrypts this pre-master secret using the RSA public key of the Web server. The Web server takes this value and decrypts the pre-master secret using its corresponding private key.
At this point the client and the server both know three values:
The client random value, the server random value and the client's generated pre-master secret.
The first two are known publicly and have not been transmitted in encrypted format. The only piece of information at this point that has been transmitted encrypted is the pre-master secret.
At this point both client and server take the pre-master secret, client random, and server random, and use them to run through a key derivation function, first to derive a master secret for the session, and then once again to derive the encryption keys, mac keys and other values that they may need.
The encryption key that we just derived is the key used for bulk data encryption. So as you can see this is not the private key that we use with Wireshark.
So if you have been capturing an SSL session with a tool like Wireshark or tcpdump, at key exchange time, it will be able to recover the initial client random and server random values, just like anyone who was listening to the network at that time.
The additional detail that Wireshark provides the user to input is the RSA private key of the Web server. Recall that this private key is the counterpart of the public-key (that was used to encrypt the pre-master secret by the client).
So now Wireshark has enough information to derive the master secret, and the other keys for the session, including the bulk encryption key(s), since it can decrypt the pre-master secret using the RSA private key. Thus we are now able to decrypt SSL traffic that has been encrypted when using an RSA key exchange.
If we talk now about a DSA based certificate, we need to remember that DSA technology is used for digital signature and verification, but not encryption, or key exchange.
We won't be able to encrypt the pre-master secret with a DSA public key in a key exchange like we did with the RSA key above, because again it can only be used for signatures and verifications.
In SSL, DSA technologies are generally coupled with Diffie-Hellman for key exchange, the full details you can read about in RFC 2631 or read a lighter version.
On a very, very, high abstract level, each party generates a Diffie-Hellman public and private key, and then exchanges its public key with the other side, and then uses its own private key, the other party's public-key and some other integers and numbers to eventually derive a shared secret value, that both parties know about.
Suffice it to say once the Diffie-Hellman key exchange has been performed each side is aware of a secret. This secret is the pre-master secret as we saw above. Both client and server go ahead and derive both the master secret and the eventual encryption keys for the connection.
So now what does Wireshark have to use if it was listening to that traffic? It doesn't have enough information to derive the pre-master secret. It doesn't know about the secret keys of either party, as those are never sent across the network, only the public keys, and other Diffie-Hellman parameters have been sent across the wire. So again, it can't derive the pre-master secret and ultimately derive the encryption key(s).
Also, those private keys are considered ephemeral, that is they are not stored anywhere, so after the key exchange and the session is over they will likely (hopefully) be destroyed never to be used again, and, in this case you'll gain Perfect Forward Secrecy.
Keep in mind now that even if you had the DSA private key of the Web server, Wireshark still could not decrypt this traffic.
Although it was used in signing the Diffie-Hellman parameters that have been sent to the other side, that private key doesn't factor in the computation of the Diffie- Hellman key exchange at all.
A great reference for anyone interested in learning more about SSL is Eric Rescorla's book, SSL and TLS: Designing and Building Secure Systems. I highly recommend it as it is an extremely detailed, complete view of SSL.
Also, check out the RFCs for:
TLS
http://www.ietf.org/rfc/rfc2246.txt
Diffie-Hellman Key Agreement Method
http://www.ietf.org/rfc/rfc2631.txt









