mirror of https://github.com/wolfSSL/wolfssh.git
commit
0b1e0345c4
Binary file not shown.
|
@ -0,0 +1,11 @@
|
|||
ASN1 OID: secp384r1
|
||||
NIST CURVE: P-384
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BgUrgQQAIg==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MIGkAgEBBDCbJgFByjzObZPIsdeDWJhousjR4dS+RusTeuAWvz1nJjKEn6jmnMMf
|
||||
Lnl7MK7+AkmgBwYFK4EEACKhZANiAAQMx2lasNsBTgRRynJDNpYRIiT9o9w8P/zv
|
||||
XyHehhIJtNp50R4sSqJOWcLHxqNoqLXzLz2HSLQ0rhi+bS8anYDnOhaP9FI4KDuU
|
||||
0gRlIukRBK3pbRWPxf+t6YLOH9P0xPo=
|
||||
-----END EC PRIVATE KEY-----
|
|
@ -0,0 +1 @@
|
|||
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBAzHaVqw2wFOBFHKckM2lhEiJP2j3Dw//O9fId6GEgm02nnRHixKok5ZwsfGo2iotfMvPYdItDSuGL5tLxqdgOc6Fo/0UjgoO5TSBGUi6REEreltFY/F/63pgs4f0/TE+g== gretel
|
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
ASN1 OID: secp521r1
|
||||
NIST CURVE: P-521
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BgUrgQQAIw==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MIHcAgEBBEIAFwRmxnrUpSzry9y1gD32Ahr6Vxm1NK7gJUFgmftir37yftsyucaz
|
||||
vLGcpBEEYmtylCFHKa95Fcy0VNxAAaUfVyOgBwYFK4EEACOhgYkDgYYABAD3gANm
|
||||
zvkxOBN8MYwRBYO6B//7TTCtA2vwG/W5bqiVVxznXWj0xiFrgayApvH7FDpLHiJ8
|
||||
+c1vUsRVEa8PY5QPsgFow+xv0P2WSrRkn4/UUquftPs1ZHPhdr06LjS19ObvWM8x
|
||||
FZYU6n0i28UWCUR5qE+BCTzZDWYT8V24YD8UhpaYIw==
|
||||
-----END EC PRIVATE KEY-----
|
|
@ -0,0 +1 @@
|
|||
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAD3gANmzvkxOBN8MYwRBYO6B//7TTCtA2vwG/W5bqiVVxznXWj0xiFrgayApvH7FDpLHiJ8+c1vUsRVEa8PY5QPsgFow+xv0P2WSrRkn4/UUquftPs1ZHPhdr06LjS19ObvWM8xFZYU6n0i28UWCUR5qE+BCTzZDWYT8V24YD8UhpaYIw== gretel
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKAtH8cqaDbtJFjtviLobHBmjCtG56DMkP6A4M2H9zX2/YCg1h9bYS7WHd9UQDwXO1HhIZzRYecXh7SG9P4GhRY= gretel
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqDwRVTRVk/wjPhoo66+Mztrc31KsxDZ+kAV0139PHQ+wsueNpba6jNn5o6mUTEOrxrz0LMsDJOBM7CmG0983kF4gRIihECpQ0rcjOP6BSfbVTE9mfIK5IsUiZGd8SoE9kSV2pJ2FvZeBQENoAxEFk0zZL9tchPS+OCUGbK4SDjzuNZl/30Mczs73N3MBzi6J1oPo7sFlqzB6ecBjK2Kpjus4Y1rYFphJnUxtKvB0s+hoaadrubiE57dK6BrH5iZwVLTQKux31uCJLPhiktI3iLbdlGZEctJkTasfVSsUizwVIyRjhVKmbdIRGwkU38D043AR1h0mUoGCPIKuqcFMf gretel
|
Binary file not shown.
|
@ -0,0 +1,11 @@
|
|||
ASN1 OID: secp384r1
|
||||
NIST CURVE: P-384
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BgUrgQQAIg==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MIGkAgEBBDBaxq6RECDqdn+EP6FkoasL0cnBs4c/e+nevuWzIelR6tAGDL1gUt9T
|
||||
YkK4nVa3wrWgBwYFK4EEACKhZANiAAQr2YmeotiM8dBVvP17oO88LGoaBHKjBI5S
|
||||
DxTcEaN/OR6UcNJsbW1dc2WJ4bROtxrwFhoK4Q+Vrk0RwwdcdI6SHHN122h4+KKR
|
||||
4T3OG4pKcsy9dMNLQ6P0TMXm6kluUcI=
|
||||
-----END EC PRIVATE KEY-----
|
|
@ -0,0 +1 @@
|
|||
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBCvZiZ6i2Izx0FW8/Xug7zwsahoEcqMEjlIPFNwRo385HpRw0mxtbV1zZYnhtE63GvAWGgrhD5WuTRHDB1x0jpIcc3XbaHj4opHhPc4bikpyzL10w0tDo/RMxebqSW5Rwg== hansel
|
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
ASN1 OID: secp521r1
|
||||
NIST CURVE: P-521
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BgUrgQQAIw==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MIHcAgEBBEIBeUC4M+VTW5797b58aOS2w1AADTlkBfZaXUGrs9mnyxx9NEZcLVYm
|
||||
oGrHPU94WBRmbPyGPItbVCmJk0jZVIu+nZGgBwYFK4EEACOhgYkDgYYABAET/BOz
|
||||
Bb9Jx9b52VIHFP4g/uk5KceDpz2M+/Ln9WiDjsMfb4NgNCAB+EMNJUX/TNBLFFmq
|
||||
r7c6+zUH+QAo2qstvQDsReyFkETRB2vZD//nCZfcAe0RMtKZmgtQLKXzSlimUjXB
|
||||
M4/zE5lwE05aXADp88h8nuaT/X4bll9cWJlH0fUykA==
|
||||
-----END EC PRIVATE KEY-----
|
|
@ -0,0 +1 @@
|
|||
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAET/BOzBb9Jx9b52VIHFP4g/uk5KceDpz2M+/Ln9WiDjsMfb4NgNCAB+EMNJUX/TNBLFFmqr7c6+zUH+QAo2qstvQDsReyFkETRB2vZD//nCZfcAe0RMtKZmgtQLKXzSlimUjXBM4/zE5lwE05aXADp88h8nuaT/X4bll9cWJlH0fUykA== hansel
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNkI5JTP6D0lF42tbxX19cE87hztUS6FSDoGvPfiU0CgeNSbI+aFdKIzTP5CQEJSvm25qUzgDtH7oyaQROUnNvk= hansel
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9P3ZFowOsONXHD5MwWiCciXytBRZGhoMNiisWSgUs5HdHcACuHYPi2W6Z1PBFmBWT9odOrGRjoZXJfDDoPi+j8SSfDGsc/hsCmc3Gp2yEhUZUEkDhtOXyqjns1ickC9Gh4u80aSVtwHRnJZh9xPhSq5tLOhId4eP61s+a5pwjTjnEhBaIPUJO2C/M0pFnnbZxKgJlX7t1Doy7h5eXxviymOIvaCZKU+x5OopfzM/wFkey0EPWNmzI5y/+pzU5afsdeEWdiQDIQc80H6Pz8fsoFPvYSG+s4/wz0duu7yeeV1Ypoho65Zr+pEnIf7dO0B8EblgWt+ud+JI8wrAhfE4x hansel
|
|
@ -4,18 +4,17 @@
|
|||
|
||||
|
||||
EXTRA_DIST+= \
|
||||
keys/server-key-ecc.der \
|
||||
keys/server-key-ecc.pem \
|
||||
keys/server-key-ecc-384.der \
|
||||
keys/server-key-ecc-384.pem \
|
||||
keys/server-key-ecc-521.der \
|
||||
keys/server-key-ecc-521.pem \
|
||||
keys/server-key-rsa.der \
|
||||
keys/server-key-rsa.pem \
|
||||
keys/hansel-key-ecc.pem \
|
||||
keys/hansel-key-rsa.pem \
|
||||
keys/gretel-key-ecc.pem \
|
||||
keys/gretel-key-rsa.pem \
|
||||
keys/pubkeys-ecc.txt \
|
||||
keys/pubkeys-rsa.txt \
|
||||
keys/passwd.txt
|
||||
keys/server-key-ecc.der keys/server-key-ecc.pem \
|
||||
keys/server-key-ecc-384.der keys/server-key-ecc-384.pem \
|
||||
keys/server-key-ecc-521.der keys/server-key-ecc-521.pem \
|
||||
keys/server-key-rsa.der keys/server-key-rsa.pem \
|
||||
keys/hansel-key-ecc.der keys/hansel-key-ecc.pem keys/hansel-key-ecc.pub \
|
||||
keys/hansel-key-ecc-384.der keys/hansel-key-ecc-384.pem keys/hansel-key-ecc-384.pub \
|
||||
keys/hansel-key-ecc-521.der keys/hansel-key-ecc-521.pem keys/hansel-key-ecc-521.pub \
|
||||
keys/hansel-key-rsa.der keys/hansel-key-rsa.pem keys/hansel-key-rsa.pub \
|
||||
keys/gretel-key-ecc.der keys/gretel-key-ecc.pem keys/gretel-key-ecc.pub \
|
||||
keys/gretel-key-ecc-384.der keys/gretel-key-ecc-384.pem keys/gretel-key-ecc-384.pub \
|
||||
keys/gretel-key-ecc-521.der keys/gretel-key-ecc-521.pem keys/gretel-key-ecc-521.pub \
|
||||
keys/gretel-key-rsa.der keys/gretel-key-rsa.pem keys/gretel-key-rsa.pub \
|
||||
keys/pubkeys-ecc.txt keys/pubkeys-ecc-384.txt keys/pubkeys-ecc-521.txt \
|
||||
keys/pubkeys-rsa.txt keys/passwd.txt
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBCvZiZ6i2Izx0FW8/Xug7zwsahoEcqMEjlIPFNwRo385HpRw0mxtbV1zZYnhtE63GvAWGgrhD5WuTRHDB1x0jpIcc3XbaHj4opHhPc4bikpyzL10w0tDo/RMxebqSW5Rwg== hansel
|
||||
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBAzHaVqw2wFOBFHKckM2lhEiJP2j3Dw//O9fId6GEgm02nnRHixKok5ZwsfGo2iotfMvPYdItDSuGL5tLxqdgOc6Fo/0UjgoO5TSBGUi6REEreltFY/F/63pgs4f0/TE+g== gretel
|
|
@ -0,0 +1,2 @@
|
|||
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAET/BOzBb9Jx9b52VIHFP4g/uk5KceDpz2M+/Ln9WiDjsMfb4NgNCAB+EMNJUX/TNBLFFmqr7c6+zUH+QAo2qstvQDsReyFkETRB2vZD//nCZfcAe0RMtKZmgtQLKXzSlimUjXBM4/zE5lwE05aXADp88h8nuaT/X4bll9cWJlH0fUykA== hansel
|
||||
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAD3gANmzvkxOBN8MYwRBYO6B//7TTCtA2vwG/W5bqiVVxznXWj0xiFrgayApvH7FDpLHiJ8+c1vUsRVEa8PY5QPsgFow+xv0P2WSrRkn4/UUquftPs1ZHPhdr06LjS19ObvWM8xFZYU6n0i28UWCUR5qE+BCTzZDWYT8V24YD8UhpaYIw== gretel
|
|
@ -7653,7 +7653,7 @@ static int BuildUserAuthRequestEcc(WOLFSSH* ssh,
|
|||
int ret = WS_SUCCESS;
|
||||
byte* r;
|
||||
byte* s;
|
||||
byte sig[72]; /* wc_ecc_sig_size() for a prime256 key. */
|
||||
byte sig[139]; /* wc_ecc_sig_size() for a prime521 key. */
|
||||
word32 sigSz = sizeof(sig), rSz, sSz;
|
||||
byte* checkData = NULL;
|
||||
word32 checkDataSz = 0;
|
||||
|
|
34
src/ssh.c
34
src/ssh.c
|
@ -1413,24 +1413,13 @@ int wolfSSH_ReadKey_buffer(const byte* in, word32 inSz, int format,
|
|||
if (type != NULL && key != NULL) {
|
||||
const char* name;
|
||||
word32 typeSz;
|
||||
byte nameId;
|
||||
|
||||
typeSz = (word32)WSTRLEN(type);
|
||||
|
||||
name = IdToName(ID_SSH_RSA);
|
||||
if (WSTRNCMP(type, name, typeSz) == 0) {
|
||||
*outType = (const byte*)name;
|
||||
}
|
||||
else {
|
||||
name = IdToName(ID_ECDSA_SHA2_NISTP256);
|
||||
if (WSTRNCMP(type, name, typeSz) == 0) {
|
||||
*outType = (const byte*)name;
|
||||
}
|
||||
else {
|
||||
name = IdToName(ID_UNKNOWN);
|
||||
*outType = (const byte*)name;
|
||||
typeSz = (word32)WSTRLEN(name);
|
||||
}
|
||||
}
|
||||
nameId = NameToId(type, typeSz);
|
||||
name = IdToName(nameId);
|
||||
*outType = (const byte*)name;
|
||||
*outTypeSz = typeSz;
|
||||
|
||||
ret = Base64_Decode((byte*)key, (word32)WSTRLEN(key), *out, outSz);
|
||||
|
@ -1480,6 +1469,8 @@ int wolfSSH_ReadKey_buffer(const byte* in, word32 inSz, int format,
|
|||
}
|
||||
else {
|
||||
#endif
|
||||
byte curveId = ID_UNKNOWN;
|
||||
|
||||
/* Couldn't decode as RSA testKey. Try decoding as ECC testKey. */
|
||||
scratch = 0;
|
||||
if (wc_ecc_init_ex(&testKey.ecc, heap, INVALID_DEVID) != 0)
|
||||
|
@ -1487,10 +1478,21 @@ int wolfSSH_ReadKey_buffer(const byte* in, word32 inSz, int format,
|
|||
|
||||
ret = wc_EccPrivateKeyDecode(in, &scratch,
|
||||
&testKey.ecc, inSz);
|
||||
switch (wc_ecc_get_curve_id(testKey.ecc.idx)) {
|
||||
case ECC_SECP256R1:
|
||||
curveId = ID_ECDSA_SHA2_NISTP256;
|
||||
break;
|
||||
case ECC_SECP384R1:
|
||||
curveId = ID_ECDSA_SHA2_NISTP384;
|
||||
break;
|
||||
case ECC_SECP521R1:
|
||||
curveId = ID_ECDSA_SHA2_NISTP521;
|
||||
break;
|
||||
}
|
||||
wc_ecc_free(&testKey.ecc);
|
||||
|
||||
if (ret == 0) {
|
||||
*outType = (const byte*)IdToName(ID_ECDH_SHA2_NISTP256);
|
||||
*outType = (const byte*)IdToName(curveId);
|
||||
*outTypeSz = (word32)WSTRLEN((const char*)*outType);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue