Both of these depend on nobody listening when you first.
Why leave such a design flaw?
- AP sends encryption key to client, keeps secret decryption key
---> Hax0r listening in also gets encryption key
- Client encrypts a new key (for symmetric encryption) and sends to AP
---> Hax0r listening in can not decrypt the message, since they lack the decryption key
- AP and client communicate with symmetric encryption using the newly agreed on key
Even if Hax0r tries to spoof a message (since he knows the original encryption key), it won't easily work since client can't decrypt the spoofed message, only the AP.