java에서 SSLEngine과의 클라이언트/서버 연결을 생성하려고합니다. SSLEngine.getHandshakeStatus()
과 SSLEngineResults.getHandshakeStatus().
의 차이점을 묻습니다. Nuno Santos의 샘플 코드는 SSLEngine
이고 NIO API와 멀티플렉싱됩니다.SSLEngine의 getHandShakeStatus()와 java의 SSLEngineResults의 차이점
코드 난에 참조는 다음과 같습니다
//some code here
SSLEngineResult.HandshakeStatus hs = engine.getHandshakeStatus();
String clientString = "";
while (hs != SSLEngineResult.HandshakeStatus.FINISHED && hs != SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING)
{
switch (hs)
{
case NEED_UNWRAP:
if (socketChannel.read(peerNetData)< 0)
{
engine.closeInbound();
}
peerNetData.flip();
SSLEngineResult res = engine.unwrap(peerNetData, peerAppData);
peerNetData.compact();
hs = res.getHandshakeStatus();
switch (res.getStatus())
{
case OK:
//TODO something
break;
case BUFFER_UNDERFLOW:
//TODO something
break;
case BUFFER_OVERFLOW:
//TODO something
break;
case CLOSED:
//TODO something
engine.closeInbound();
break;
}
break;
//more code here
내가 찾은 코드와 링크는 다음과 같습니다 http://onjava.com/pub/a/onjava/2004/11/03/ssl-nio.html?page=last&x-order=date
샘플 코드는 참고 자료 섹션에
미리 감사드립니다!
'SSLEngine.getHandshakeStatus()'가 필요할 지 모르지만 그들은 동일해야합니다. – irreputable