设为首页 加入收藏

TOP

JSSE和GnuTLS配合来实现Java和C的安全通信(二)
2014-11-24 02:29:37 来源: 作者: 【 】 浏览:1
Tags:JSSE GnuTLS 配合 实现 Java 安全 通信
.sin_port));


gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);


do
{
ret = gnutls_handshake (session);
}
while (ret < 0 && gnutls_error_is_fatal (ret) == 0);


if (ret < 0)
{
close (sd);
gnutls_deinit (session);
fprintf (stderr, "*** Handshake has failed (%s)\n\n",
gnutls_strerror (ret));
continue;
}
printf ("- Handshake was completed\n");


/* see the Getting peer's information example */
/* print_info(session); */


for (;;)
{
memset (buffer, 0, MAX_BUF + 1);
ret = gnutls_record_recv (session, buffer, MAX_BUF);


if (ret == 0)
{
printf ("\n- Peer has closed the GnuTLS connection\n");
break;
}
else if (ret < 0)
{
fprintf (stderr, "\n*** Received corrupted "
"data(%d). Closing the connection.\n\n", ret);
break;
}
else if (ret > 0)
{
/* echo data back to the client
*/
printf("Server receives a packet with content:%s\n", buffer);
gnutls_record_send (session, buffer, strlen (buffer));
}
}
printf ("\n");
/* do not wait for the peer to close the connection.
*/
gnutls_bye (session, GNUTLS_SHUT_WR);


close (sd);
gnutls_deinit (session);


}
close (listen_sd);


gnutls_certificate_free_credentials (x509_cred);
gnutls_priority_deinit (priority_cache);


gnutls_global_deinit ();


return 0;


}


相关阅读


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Spring 3 调度器示例 —— JDK 定.. 下一篇JSSE和GnuTLS配合的时候证书的生成

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: