]> git.meshlink.io Git - meshlink/blobdiff - src/openssl/rsa.c
Merge branch 'master' into 1.1
[meshlink] / src / openssl / rsa.c
index 9c880e6931212fba375fd60331bd68085ee95c0b..efd63d53bb1d02d72b2fb0e71f9f92b229ef9ce0 100644 (file)
 
 bool rsa_set_hex_public_key(rsa_t *rsa, char *n, char *e) {
        *rsa = RSA_new();
-       BN_hex2bn(&(*rsa)->n, n);
-       BN_hex2bn(&(*rsa)->e, e);
+       if(BN_hex2bn(&(*rsa)->n, n) != strlen(n))
+               return false;
+       if(BN_hex2bn(&(*rsa)->e, e) != strlen(e))
+               return false;
        return true;
 }
 
 bool rsa_set_hex_private_key(rsa_t *rsa, char *n, char *e, char *d) {
        *rsa = RSA_new();
-       BN_hex2bn(&(*rsa)->n, n);
-       BN_hex2bn(&(*rsa)->e, e);
-       BN_hex2bn(&(*rsa)->d, d);
+       if(BN_hex2bn(&(*rsa)->n, n) != strlen(n))
+               return false;
+       if(BN_hex2bn(&(*rsa)->e, e) != strlen(e))
+               return false;
+       if(BN_hex2bn(&(*rsa)->d, d) != strlen(d))
+               return false;
        return true;
 }