diff options
| -rw-r--r-- | include/otputil.h | 2 | ||||
| -rw-r--r-- | lib/libotputil/lrfc1760-skey.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/otputil.h b/include/otputil.h index 933f3e1..2d4a774 100644 --- a/include/otputil.h +++ b/include/otputil.h | |||
| @@ -448,6 +448,8 @@ _OTPUTIL_F char * | |||
| 448 | otputil_skey_str( | 448 | otputil_skey_str( |
| 449 | const char * skey_pass, | 449 | const char * skey_pass, |
| 450 | int skey_seq, | 450 | int skey_seq, |
| 451 | int skey_hash, | ||
| 452 | int skey_encoding, | ||
| 451 | char * dst, | 453 | char * dst, |
| 452 | size_t dstlen ); | 454 | size_t dstlen ); |
| 453 | 455 | ||
diff --git a/lib/libotputil/lrfc1760-skey.c b/lib/libotputil/lrfc1760-skey.c index 44216e8..1a6e9fa 100644 --- a/lib/libotputil/lrfc1760-skey.c +++ b/lib/libotputil/lrfc1760-skey.c | |||
| @@ -161,6 +161,8 @@ char * | |||
| 161 | otputil_skey_str( | 161 | otputil_skey_str( |
| 162 | const char * skey_pass, | 162 | const char * skey_pass, |
| 163 | int skey_seq, | 163 | int skey_seq, |
| 164 | int skey_hash, | ||
| 165 | int skey_encoding, | ||
| 164 | char * dst, | 166 | char * dst, |
| 165 | size_t dstlen ) | 167 | size_t dstlen ) |
| 166 | { | 168 | { |
| @@ -171,10 +173,11 @@ otputil_skey_str( | |||
| 171 | 173 | ||
| 172 | dstlen = ((dst)) ? dstlen : sizeof(buff); | 174 | dstlen = ((dst)) ? dstlen : sizeof(buff); |
| 173 | dst = ((dst)) ? dst : buff; | 175 | dst = ((dst)) ? dst : buff; |
| 176 | skey_encoding = ((skey_encoding)) ? skey_encoding : otputil_defaults.skey_encoding; | ||
| 174 | res.bv_val = bv_val; | 177 | res.bv_val = bv_val; |
| 175 | res.bv_len = sizeof(bv_val); | 178 | res.bv_len = sizeof(bv_val); |
| 176 | 179 | ||
| 177 | if (otputil_skey_code(skey_pass, skey_seq, 0, &val) == -1) | 180 | if (otputil_skey_code(skey_pass, skey_seq, skey_hash, &val) == -1) |
| 178 | return(NULL); | 181 | return(NULL); |
| 179 | 182 | ||
| 180 | bv_val[0] = (val >> 56) & 0xff; | 183 | bv_val[0] = (val >> 56) & 0xff; |
| @@ -185,7 +188,7 @@ otputil_skey_str( | |||
| 185 | bv_val[5] = (val >> 16) & 0xff; | 188 | bv_val[5] = (val >> 16) & 0xff; |
| 186 | bv_val[6] = (val >> 8) & 0xff; | 189 | bv_val[6] = (val >> 8) & 0xff; |
| 187 | bv_val[7] = (val >> 0) & 0xff; | 190 | bv_val[7] = (val >> 0) & 0xff; |
| 188 | otputil_otp_encode(&res, dst, dstlen, OTPUTIL_ENC_SIXWORD); | 191 | otputil_otp_encode(&res, dst, dstlen, skey_encoding); |
| 189 | 192 | ||
| 190 | return(dst); | 193 | return(dst); |
| 191 | } | 194 | } |
