wolfSSH

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
wolfSSH
DeveloperJohn Safranek
Initial releaseJuly 20, 2016 (2016-07-20)[1]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC language
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemMulti-platform
    TypeSecurity library
    LicenseGPL-3.0-or-later or proprietary license
    Websitewww.wolfssl.com/products/wolfssh/

    wolfSSH is a small, portable, embedded SSH library targeted for use by embedded systems developers. It is an open-source implementation of SSH written in the C language. It includes SSH client libraries and an SSH server implementation. It allows for password and public key authentication.

    Platforms

    [edit | edit source]

    wolfSSH is currently available for Win32/64, Linux, macOS, Solaris, Threadx, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, WinCE, Haiku, OpenWrt, iPhone (iOS), Android, Wii and GameCube through DevKitPro support, QNX, MontaVista, TRON variants (TRON/ITRON/μITRON), NonStop OS, OpenCL, Micrium's MicroC/OS-II, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, TI-RTOS, HP-UX, uTasker, embOS, PIC32, PikeOS, and Green Hills INTEGRITY.

    Protocols

    [edit | edit source]

    The wolfSSH SSH library implements the SSHv2 protocol for both client and server. It also includes support for Secure Copy (SCP), SSH File Transfer Protocol (SFTP), remote command execution, and port forwarding. X509 certificate support RFC 6187.[2]

    Algorithms

    [edit | edit source]

    wolfSSH uses the cryptographic services provided by wolfCrypt.[3] wolfCrypt Provides RSA, ECC, Diffie–Hellman, AES (CBC, GCM), Random Number Generation, Large Integer support, and base 16/64 encoding/decoding, and SHA-1, SHA-2, AES (GCM, CTR, CBC), X25519 and Ed25519, X448 and Ed448.

    Key exchange

    [edit | edit source]
    • diffie-hellman-group1-sha1
    • diffie-hellman-group14-sha1
    • diffie-hellman-group-exchange-sha256
    • ecdh-sha2-nistp256
    • ecdh-sha2-nistp384
    • ecdh-sha2-nistp521
    • diffie-hellman-group14-sha256
    • curve25519-sha256

    Public key

    [edit | edit source]
    • ssh-rsa
    • ecdsa-sha2-nistp256
    • ecdsa-sha2-nistp384
    • ecdsa-sha2-nistp521
    • ssh-ed25519
    • x509v3-ssh-rsa
    • x509v3-ecdsa-sha2-nistp256
    • x509v3-ecdsa-sha2-nistp384
    • x509v3-ecdsa-sha2-nistp521

    Integrity

    [edit | edit source]
    • hmac-sha1
    • hmac-sha1-96
    • hmac-sha2-256

    Encryption

    [edit | edit source]
    • aes128-cbc
    • aes192-cbc
    • aes256-cbc
    • aes128-ctr
    • aes192-ctr
    • aes256-ctr
    • aes128-gcm (OpenSSH compatible)

    Post-Quantum

    [edit | edit source]
    • Supports hybrid post-quantum use with ML-KEM

    Licensing

    [edit | edit source]

    wolfSSH is open source and dual licensed under both the GNU GPL-3.0-or-later[4] and commercial licensing.

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ wolfCrypt Usage Reference
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]