diff options
author | jsing <> | 2018-03-17 14:40:45 +0000 |
---|---|---|
committer | jsing <> | 2018-03-17 14:40:45 +0000 |
commit | e1a22b8c62b92cd313093f7abfeac785adc963e5 (patch) | |
tree | 6d4bf08e65211843db6a2d7d8335ac799b364e0e /src/lib/libssl/ssl_ciph.c | |
parent | 66eff36ef195a6a7a765636645756dca24d23c6b (diff) | |
download | openbsd-e1a22b8c62b92cd313093f7abfeac785adc963e5.tar.gz openbsd-e1a22b8c62b92cd313093f7abfeac785adc963e5.tar.bz2 openbsd-e1a22b8c62b92cd313093f7abfeac785adc963e5.zip |
Provide SSL_CIPHER_get_auth_nid(), SSL_CIPHER_get_cipher_nid(),
SSL_CIPHER_get_digest_nid(), SSL_CIPHER_get_kx_nid() and
SSL_CIPHER_is_aead().
Diffstat (limited to 'src/lib/libssl/ssl_ciph.c')
-rw-r--r-- | src/lib/libssl/ssl_ciph.c | 100 |
1 files changed, 99 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c index f30ffeaf2c..271d77f38b 100644 --- a/src/lib/libssl/ssl_ciph.c +++ b/src/lib/libssl/ssl_ciph.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_ciph.c,v 1.97 2017/08/28 16:37:04 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_ciph.c,v 1.98 2018/03/17 14:40:45 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -1720,6 +1720,104 @@ SSL_CIPHER_get_value(const SSL_CIPHER *c) | |||
1720 | return ssl3_cipher_get_value(c); | 1720 | return ssl3_cipher_get_value(c); |
1721 | } | 1721 | } |
1722 | 1722 | ||
1723 | int | ||
1724 | SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c) | ||
1725 | { | ||
1726 | switch (c->algorithm_enc) { | ||
1727 | case SSL_eNULL: | ||
1728 | return NID_undef; | ||
1729 | case SSL_3DES: | ||
1730 | return NID_des_ede3_cbc; | ||
1731 | case SSL_AES128: | ||
1732 | return NID_aes_128_cbc; | ||
1733 | case SSL_AES128GCM: | ||
1734 | return NID_aes_128_gcm; | ||
1735 | case SSL_AES256: | ||
1736 | return NID_aes_256_cbc; | ||
1737 | case SSL_AES256GCM: | ||
1738 | return NID_aes_256_gcm; | ||
1739 | case SSL_CAMELLIA128: | ||
1740 | return NID_camellia_128_cbc; | ||
1741 | case SSL_CAMELLIA256: | ||
1742 | return NID_camellia_256_cbc; | ||
1743 | case SSL_CHACHA20POLY1305: | ||
1744 | return NID_chacha20_poly1305; | ||
1745 | case SSL_DES: | ||
1746 | return NID_des_cbc; | ||
1747 | case SSL_RC4: | ||
1748 | return NID_rc4; | ||
1749 | case SSL_eGOST2814789CNT: | ||
1750 | return NID_gost89_cnt; | ||
1751 | default: | ||
1752 | return NID_undef; | ||
1753 | } | ||
1754 | } | ||
1755 | |||
1756 | int | ||
1757 | SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c) | ||
1758 | { | ||
1759 | switch (c->algorithm_mac) { | ||
1760 | case SSL_AEAD: | ||
1761 | return NID_undef; | ||
1762 | case SSL_GOST89MAC: | ||
1763 | return NID_id_Gost28147_89_MAC; | ||
1764 | case SSL_GOST94: | ||
1765 | return NID_id_GostR3411_94; | ||
1766 | case SSL_MD5: | ||
1767 | return NID_md5; | ||
1768 | case SSL_SHA1: | ||
1769 | return NID_sha1; | ||
1770 | case SSL_SHA256: | ||
1771 | return NID_sha256; | ||
1772 | case SSL_SHA384: | ||
1773 | return NID_sha384; | ||
1774 | case SSL_STREEBOG256: | ||
1775 | return NID_id_tc26_gost3411_2012_256; | ||
1776 | default: | ||
1777 | return NID_undef; | ||
1778 | } | ||
1779 | } | ||
1780 | |||
1781 | int | ||
1782 | SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c) | ||
1783 | { | ||
1784 | switch (c->algorithm_mkey) { | ||
1785 | case SSL_kDHE: | ||
1786 | return NID_kx_dhe; | ||
1787 | case SSL_kECDHE: | ||
1788 | return NID_kx_ecdhe; | ||
1789 | case SSL_kGOST: | ||
1790 | return NID_kx_gost; | ||
1791 | case SSL_kRSA: | ||
1792 | return NID_kx_rsa; | ||
1793 | default: | ||
1794 | return NID_undef; | ||
1795 | } | ||
1796 | } | ||
1797 | |||
1798 | int | ||
1799 | SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c) | ||
1800 | { | ||
1801 | switch (c->algorithm_auth) { | ||
1802 | case SSL_aNULL: | ||
1803 | return NID_auth_null; | ||
1804 | case SSL_aECDSA: | ||
1805 | return NID_auth_ecdsa; | ||
1806 | case SSL_aGOST01: | ||
1807 | return NID_auth_gost01; | ||
1808 | case SSL_aRSA: | ||
1809 | return NID_auth_rsa; | ||
1810 | default: | ||
1811 | return NID_undef; | ||
1812 | } | ||
1813 | } | ||
1814 | |||
1815 | int | ||
1816 | SSL_CIPHER_is_aead(const SSL_CIPHER *c) | ||
1817 | { | ||
1818 | return (c->algorithm_mac & SSL_AEAD) == SSL_AEAD; | ||
1819 | } | ||
1820 | |||
1723 | void * | 1821 | void * |
1724 | SSL_COMP_get_compression_methods(void) | 1822 | SSL_COMP_get_compression_methods(void) |
1725 | { | 1823 | { |