aboutsummaryrefslogtreecommitdiff
path: root/networking/tls.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-11-05 00:18:18 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-11-05 00:19:15 +0100
commit084bac472b02f307a093f56a262312accd6fb014 (patch)
tree5af4382b03f5e832428f2715c2528d9c4947e587 /networking/tls.c
parent5df3b12241526af543c5acd2088ce22f3524de32 (diff)
downloadbusybox-084bac472b02f307a093f56a262312accd6fb014.tar.gz
tls: code shrink
function old new delta tls_handshake 1643 1619 -24 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/tls.c')
-rw-r--r--networking/tls.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/networking/tls.c b/networking/tls.c
index 7cd6a61ba..0f637a3d7 100644
--- a/networking/tls.c
+++ b/networking/tls.c
@@ -1115,8 +1115,6 @@ static void find_key_in_der_cert(tls_state_t *tls, uint8_t *der, int len)
* We need Certificate.tbsCertificate.subjectPublicKeyInfo.publicKey
*/
uint8_t *end = der + len;
- uint8_t tag_class, pc, tag_number;
- int version_present;
/* enter "Certificate" item: [der, end) will be only Cert */
der = enter_der_item(der, &end);
@@ -1133,13 +1131,11 @@ static void find_key_in_der_cert(tls_state_t *tls, uint8_t *der, int len)
* (constructed), and a tag number of 0 (see ITU-T X.690 sections 8.1.2
* and 8.14).
*/
- tag_class = der[0] >> 6; /* bits 8-7 */
- pc = (der[0] & 32) >> 5; /* bit 6 */
- tag_number = der[0] & 31; /* bits 5-1 */
- version_present = tag_class == 2 && pc == 1 && tag_number == 0;
- if (version_present) {
+ /* bits 7-6: 10 */
+ /* bit 5: 1 */
+ /* bits 4-0: 00000 */
+ if (der[0] == 0xa0)
der = skip_der_item(der, end); /* version */
- }
/* skip up to subjectPublicKeyInfo */
der = skip_der_item(der, end); /* serialNumber */