How Well Do Large Language Models Serve as End-to-End Secure Code Producers?