Part of the IPv6 specification are two mechanism to support for
authentication and encryption. I quote "The first mechanism, called the
"IPng Authentication Header", is an extension header which provides
authentication and integrity (without confidentiality) to IPng
datagrams. ... The second security extension header provided with IPng
is the "IPng Encapsulating Security Header" [15]. This mechanism
provides integrity and confidentiality to IPng datagrams"
In dotnet, these mechanisms seem to be supported by way of two protocol
types: IPSecAuthenticationHeader and IPSecEncapsulatingSecurityPayload.
The problem is: I have no idea how I'm supposed to use them.
The following line:
Socket listenSocket = new Socket (AddressFamily.InterNetworkV6,
SocketType.Stream, ProtocolType.IPSecEncapsulatingSecurityPayload);
throws an exception with the description "An address incompatible with
the requested protocol was used".
Any idea anyone?