Expand oid_get_sig_alg() for ECDSA-based algs
diff --git a/include/polarssl/oid.h b/include/polarssl/oid.h
index a39055b..0c3dab2 100644
--- a/include/polarssl/oid.h
+++ b/include/polarssl/oid.h
@@ -276,6 +276,36 @@
  *   iso(1) identified-organization(3) certicom(132) curve(0) 35 } */
 #define OID_EC_GRP_SECP521R1        OID_CERTICOM "\x00\x23"
 
+/*
+ * ECDSA signature identifers, from RFC 5480
+ */
+#define OID_ANSI_X9_62_SIG          OID_ANSI_X9_62 "\x04" /* signatures(4) */
+#define OID_ANSI_X9_62_SIG_SHA2     OID_ANSI_X9_62_SIG "\x03" /* ecdsa-with-SHA2(3) */
+
+/* ecdsa-with-SHA1 OBJECT IDENTIFIER ::= {
+ *   iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 1 } */
+#define OID_ECDSA_SHA1              OID_ANSI_X9_62_SIG "\x01"
+
+/* ecdsa-with-SHA224 OBJECT IDENTIFIER ::= {
+ *   iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ *   ecdsa-with-SHA2(3) 1 } */
+#define OID_ECDSA_SHA224            OID_ANSI_X9_62_SIG_SHA2 "\x01"
+
+/* ecdsa-with-SHA256 OBJECT IDENTIFIER ::= {
+ *   iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ *   ecdsa-with-SHA2(3) 2 } */
+#define OID_ECDSA_SHA256            OID_ANSI_X9_62_SIG_SHA2 "\x02"
+
+/* ecdsa-with-SHA384 OBJECT IDENTIFIER ::= {
+ *   iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ *   ecdsa-with-SHA2(3) 3 } */
+#define OID_ECDSA_SHA384            OID_ANSI_X9_62_SIG_SHA2 "\x03"
+
+/* ecdsa-with-SHA512 OBJECT IDENTIFIER ::= {
+ *   iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ *   ecdsa-with-SHA2(3) 4 } */
+#define OID_ECDSA_SHA512            OID_ANSI_X9_62_SIG_SHA2 "\x04"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/include/polarssl/pk.h b/include/polarssl/pk.h
index 4e52a75..29aec30 100644
--- a/include/polarssl/pk.h
+++ b/include/polarssl/pk.h
@@ -52,6 +52,9 @@
     POLARSSL_PK_ECKEY,
     POLARSSL_PK_ECKEY_DH,
 #endif
+#if defined(POLARSSL_ECDSA_C)
+    POLARSSL_PK_ECDSA,
+#endif
 } pk_type_t;
 
 /**
diff --git a/library/oid.c b/library/oid.c
index 449b3e1..366720e 100644
--- a/library/oid.c
+++ b/library/oid.c
@@ -299,6 +299,26 @@
         POLARSSL_MD_SHA1,     POLARSSL_PK_RSA,
     },
     {
+        { OID_ECDSA_SHA1,       "ecdsa-with-SHA1",      "ECDSA with SHA1" },
+        POLARSSL_MD_SHA1,     POLARSSL_PK_ECDSA,
+    },
+    {
+        { OID_ECDSA_SHA224,     "ecdsa-with-SHA224",    "ECDSA with SHA224" },
+        POLARSSL_MD_SHA224,   POLARSSL_PK_ECDSA,
+    },
+    {
+        { OID_ECDSA_SHA256,     "ecdsa-with-SHA256",    "ECDSA with SHA256" },
+        POLARSSL_MD_SHA256,   POLARSSL_PK_ECDSA,
+    },
+    {
+        { OID_ECDSA_SHA384,     "ecdsa-with-SHA384",    "ECDSA with SHA384" },
+        POLARSSL_MD_SHA384,   POLARSSL_PK_ECDSA,
+    },
+    {
+        { OID_ECDSA_SHA512,     "ecdsa-with-SHA512",    "ECDSA with SHA512" },
+        POLARSSL_MD_SHA512,   POLARSSL_PK_ECDSA,
+    },
+    {
         { NULL, NULL, NULL },
         0, 0,
     },