Many developers are now starting to think about IPv6 and what implications this will have on existing and future projects. IPv6 is becoming increasingly widespread and adoption will further continue to increase into the future.
As a developer, project manager, or curious individual, you may be faced with finding an SSL library which is compatible with IPv6. If so, rest assured! The wolfSSL embedded SSL library is compatible with both IPv4 and IPv6! The library itself has been designed to be IP neutral and work with either protocol version. In addition, we provide an easy-to-use build option to IPv6-enable our example applications for testing purposes.
To turn on IPv6 support when compiling wolfSSL and our example applications, use the “–enable-ipv6” build option:
Addresses beginning with fe80:: are link-local only. These addresses require an interface or scopeid suffix. For example, if ifconfig shows something similar to this:
inet6 fe80::62c5:47ff:fe97:ac2c%en1 prefixlen 64 scopeid 0x6
You could ping this address by doing either:
ping6 -I en1 fe80::62c5:47ff:fe97:ac2c
To start the wolfSSL example server using IPv6, remember to use the “-b” option to bind the server to any interface (unless localhost only is desired):
If an example wolfSSL example server was running on another link-local host (started with the “-b” option), a wolfSSL client could connect to it by doing something similar to:
./examples/client/client -h fe80::20c:29ff:fedc:e701%en1
Curious about how widespread IPv6 currently is? Google currently tracks IPv6 adoption here: http://www.google.com/ipv6/statistics.html, and you can see how many IPv6 hits/second Akamai is getting here: http://www.akamai.com/ipv6.
If you have any questions about how to use wolfSSL with IPv6, or general questions about using wolfSSL embedded SSL or CTaoCrypt in areas such as the Internet of Things, smart energy, home automation, M2M communication, or cloud services, please get in touch with us at email@example.com.