Cipher suite priority I've been tasked with defining a list of cipher suites to use.

The requirements for the cipher suites are the following:


Symmetric Algorithm: AES-256  
Key Exchange: ECDH P-384, DH 3072-bit, RSA 3072-bit  
Key Authentication: ECDSA P-384, RSA 3072-bit  
Hash Algorithm: SHA-384  


Here is the list I've come up with (in prioritized order):


TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0x00C02C)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0x00C024)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0x00C030)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0x00C028)
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x00009F)
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (0x00C02E)
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0x00C026)
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (0x00C032)
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0x00C02A)
TLS_RSA_WITH_AES_256_GCM_SHA384 (0x00009D)
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 (0x0000A1)


Would you say I've made the correct prioritization of the cipher suites? Are any of these ciphers considered weak?
These are all fine and the order seems reasonable as well. It is a judgement call which part you think is most likely to fail. I would use your order of preference for the elliptic curve algorithms. GCM vs. CBC is a case of which you find more likely to be badly implemented.

If the requirements are not enforced upon you, I would consider adding in P-256. It should be as strong as 3072-bit RSA, and it at least used to be slightly more widely supported than P-384 – I have not seen recent numbers though.