]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: Add Tls configuration related define
authorYi Li <yi1.li@intel.com>
Sat, 7 May 2022 07:37:32 +0000 (15:37 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 10 Oct 2022 06:29:51 +0000 (06:29 +0000)
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3892

Consumed by TlsSetEcCurve and TlsSetSignatureAlgoList.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Yi Li <yi1.li@intel.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
MdePkg/Include/IndustryStandard/Tls1.h

index cf67428b1129268d51cbfd3b9e59636c868bfe6b..f1ba0af7dcc6fff18347d298db0514f53d673368 100644 (file)
 #pragma pack(1)\r
 \r
 ///\r
-/// TLS Cipher Suite, refers to A.5 of rfc-2246, rfc-4346 and rfc-5246.\r
+/// TLS Cipher Suite, refers to A.5 of rfc-2246, rfc-4346, rfc-5246, rfc-5288 and rfc-5289.\r
 ///\r
-#define TLS_RSA_WITH_NULL_MD5                {0x00, 0x01}\r
-#define TLS_RSA_WITH_NULL_SHA                {0x00, 0x02}\r
-#define TLS_RSA_WITH_RC4_128_MD5             {0x00, 0x04}\r
-#define TLS_RSA_WITH_RC4_128_SHA             {0x00, 0x05}\r
-#define TLS_RSA_WITH_IDEA_CBC_SHA            {0x00, 0x07}\r
-#define TLS_RSA_WITH_DES_CBC_SHA             {0x00, 0x09}\r
-#define TLS_RSA_WITH_3DES_EDE_CBC_SHA        {0x00, 0x0A}\r
-#define TLS_DH_DSS_WITH_DES_CBC_SHA          {0x00, 0x0C}\r
-#define TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA     {0x00, 0x0D}\r
-#define TLS_DH_RSA_WITH_DES_CBC_SHA          {0x00, 0x0F}\r
-#define TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA     {0x00, 0x10}\r
-#define TLS_DHE_DSS_WITH_DES_CBC_SHA         {0x00, 0x12}\r
-#define TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA    {0x00, 0x13}\r
-#define TLS_DHE_RSA_WITH_DES_CBC_SHA         {0x00, 0x15}\r
-#define TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA    {0x00, 0x16}\r
-#define TLS_RSA_WITH_AES_128_CBC_SHA         {0x00, 0x2F}\r
-#define TLS_DH_DSS_WITH_AES_128_CBC_SHA      {0x00, 0x30}\r
-#define TLS_DH_RSA_WITH_AES_128_CBC_SHA      {0x00, 0x31}\r
-#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA     {0x00, 0x32}\r
-#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA     {0x00, 0x33}\r
-#define TLS_RSA_WITH_AES_256_CBC_SHA         {0x00, 0x35}\r
-#define TLS_DH_DSS_WITH_AES_256_CBC_SHA      {0x00, 0x36}\r
-#define TLS_DH_RSA_WITH_AES_256_CBC_SHA      {0x00, 0x37}\r
-#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA     {0x00, 0x38}\r
-#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA     {0x00, 0x39}\r
-#define TLS_RSA_WITH_NULL_SHA256             {0x00, 0x3B}\r
-#define TLS_RSA_WITH_AES_128_CBC_SHA256      {0x00, 0x3C}\r
-#define TLS_RSA_WITH_AES_256_CBC_SHA256      {0x00, 0x3D}\r
-#define TLS_DH_DSS_WITH_AES_128_CBC_SHA256   {0x00, 0x3E}\r
-#define TLS_DH_RSA_WITH_AES_128_CBC_SHA256   {0x00, 0x3F}\r
-#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA256  {0x00, 0x40}\r
-#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA256  {0x00, 0x67}\r
-#define TLS_DH_DSS_WITH_AES_256_CBC_SHA256   {0x00, 0x68}\r
-#define TLS_DH_RSA_WITH_AES_256_CBC_SHA256   {0x00, 0x69}\r
-#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA256  {0x00, 0x6A}\r
-#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA256  {0x00, 0x6B}\r
+#define TLS_RSA_WITH_NULL_MD5                    {0x00, 0x01}\r
+#define TLS_RSA_WITH_NULL_SHA                    {0x00, 0x02}\r
+#define TLS_RSA_WITH_RC4_128_MD5                 {0x00, 0x04}\r
+#define TLS_RSA_WITH_RC4_128_SHA                 {0x00, 0x05}\r
+#define TLS_RSA_WITH_IDEA_CBC_SHA                {0x00, 0x07}\r
+#define TLS_RSA_WITH_DES_CBC_SHA                 {0x00, 0x09}\r
+#define TLS_RSA_WITH_3DES_EDE_CBC_SHA            {0x00, 0x0A}\r
+#define TLS_DH_DSS_WITH_DES_CBC_SHA              {0x00, 0x0C}\r
+#define TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA         {0x00, 0x0D}\r
+#define TLS_DH_RSA_WITH_DES_CBC_SHA              {0x00, 0x0F}\r
+#define TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA         {0x00, 0x10}\r
+#define TLS_DHE_DSS_WITH_DES_CBC_SHA             {0x00, 0x12}\r
+#define TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA        {0x00, 0x13}\r
+#define TLS_DHE_RSA_WITH_DES_CBC_SHA             {0x00, 0x15}\r
+#define TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA        {0x00, 0x16}\r
+#define TLS_RSA_WITH_AES_128_CBC_SHA             {0x00, 0x2F}\r
+#define TLS_DH_DSS_WITH_AES_128_CBC_SHA          {0x00, 0x30}\r
+#define TLS_DH_RSA_WITH_AES_128_CBC_SHA          {0x00, 0x31}\r
+#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA         {0x00, 0x32}\r
+#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA         {0x00, 0x33}\r
+#define TLS_RSA_WITH_AES_256_CBC_SHA             {0x00, 0x35}\r
+#define TLS_DH_DSS_WITH_AES_256_CBC_SHA          {0x00, 0x36}\r
+#define TLS_DH_RSA_WITH_AES_256_CBC_SHA          {0x00, 0x37}\r
+#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA         {0x00, 0x38}\r
+#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA         {0x00, 0x39}\r
+#define TLS_RSA_WITH_NULL_SHA256                 {0x00, 0x3B}\r
+#define TLS_RSA_WITH_AES_128_CBC_SHA256          {0x00, 0x3C}\r
+#define TLS_RSA_WITH_AES_256_CBC_SHA256          {0x00, 0x3D}\r
+#define TLS_DH_DSS_WITH_AES_128_CBC_SHA256       {0x00, 0x3E}\r
+#define TLS_DH_RSA_WITH_AES_128_CBC_SHA256       {0x00, 0x3F}\r
+#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA256      {0x00, 0x40}\r
+#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA256      {0x00, 0x67}\r
+#define TLS_DH_DSS_WITH_AES_256_CBC_SHA256       {0x00, 0x68}\r
+#define TLS_DH_RSA_WITH_AES_256_CBC_SHA256       {0x00, 0x69}\r
+#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA256      {0x00, 0x6A}\r
+#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA256      {0x00, 0x6B}\r
+#define TLS_DHE_RSA_WITH_AES_256_GCM_SHA384      {0x00, 0x9F}\r
+#define TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256  {0xC0, 0x2B}\r
+#define TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384  {0xC0, 0x2C}\r
+#define TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384    {0xC0, 0x30}\r
 \r
 ///\r
 /// TLS Version, refers to A.1 of rfc-2246, rfc-4346 and rfc-5246.\r
@@ -95,6 +99,40 @@ typedef struct {
 //\r
 #define TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH  18432\r
 \r
+///\r
+/// TLS Hash algorithm, refers to section 7.4.1.4.1. of rfc-5246.\r
+///\r
+typedef enum {\r
+  TlsHashAlgoNone   = 0,\r
+  TlsHashAlgoMd5    = 1,\r
+  TlsHashAlgoSha1   = 2,\r
+  TlsHashAlgoSha224 = 3,\r
+  TlsHashAlgoSha256 = 4,\r
+  TlsHashAlgoSha384 = 5,\r
+  TlsHashAlgoSha512 = 6,\r
+} TLS_HASH_ALGO;\r
+\r
+///\r
+/// TLS Signature algorithm, refers to section 7.4.1.4.1. of rfc-5246.\r
+///\r
+typedef enum {\r
+  TlsSignatureAlgoAnonymous = 0,\r
+  TlsSignatureAlgoRsa       = 1,\r
+  TlsSignatureAlgoDsa       = 2,\r
+  TlsSignatureAlgoEcdsa     = 3,\r
+} TLS_SIGNATURE_ALGO;\r
+\r
+///\r
+/// TLS Supported Elliptic Curves Extensions, refers to section 5.1.1 of rfc-8422.\r
+///\r
+typedef enum {\r
+  TlsEcNamedCurveSecp256r1 = 23,\r
+  TlsEcNamedCurveSecp384r1 = 24,\r
+  TlsEcNamedCurveSecp521r1 = 25,\r
+  TlsEcNamedCurveX25519    = 29,\r
+  TlsEcNamedCurveX448      = 30,\r
+} TLS_EC_NAMED_CURVE;\r
+\r
 #pragma pack()\r
 \r
 #endif\r