aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--include/otputil.h2
-rw-r--r--lib/libotputil/lrfc1760-skey.c7
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 *
448otputil_skey_str( 448otputil_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 *
161otputil_skey_str( 161otputil_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}