當前位置: 首頁>>代碼示例>>C#>>正文


C# Session.getSessionId方法代碼示例

本文整理匯總了C#中Tamir.SharpSsh.jsch.Session.getSessionId方法的典型用法代碼示例。如果您正苦於以下問題:C# Session.getSessionId方法的具體用法?C# Session.getSessionId怎麽用?C# Session.getSessionId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Tamir.SharpSsh.jsch.Session的用法示例。


在下文中一共展示了Session.getSessionId方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: start


//.........這裏部分代碼省略.........
                    count--;
                    if(count==0)break;
                }

                //System.out.println("UserAuthPublicKey: identity.isEncrypted()="+identity.isEncrypted());

                if(identity.isEncrypted()) continue;
                if(pubkeyblob==null) pubkeyblob=identity.getPublicKeyBlob();

                //System.out.println("UserAuthPublicKey: pubkeyblob="+pubkeyblob);

                if(pubkeyblob==null) continue;

                // send
                // byte      SSH_MSG_USERAUTH_REQUEST(50)
                // string    user name
                // string    service name ("ssh-connection")
                // string    "publickey"
                // boolen    TRUE
                // string    plaintext password (ISO-10646 UTF-8)
                packet.reset();
                buf.WriteByte((byte)Session.SSH_MSG_USERAUTH_REQUEST);
                buf.WriteString(_username);
                buf.WriteString(Util.getBytes("ssh-connection"));
                buf.WriteString(Util.getBytes("publickey"));
                buf.WriteByte((byte)1);
                buf.WriteString(Util.getBytes(identity.getAlgName()));
                buf.WriteString(pubkeyblob);

                //      byte[] tmp=new byte[buf.index-5];
                //      System.arraycopy(buf.buffer, 5, tmp, 0, tmp.length);
                //      buf.putString(signature);

                byte[] sid=session.getSessionId();
                uint sidlen=(uint)sid.Length;
                byte[] tmp=new byte[4+sidlen+buf.index-5];
                tmp[0]=(byte)(sidlen>>24);
                tmp[1]=(byte)(sidlen>>16);
                tmp[2]=(byte)(sidlen>>8);
                tmp[3]=(byte)(sidlen);
                Array.Copy(sid, 0, tmp, 4, sidlen);
                Array.Copy(buf.buffer, 5, tmp, 4+sidlen, buf.index-5);

                byte[] signature=identity.getSignature(session, tmp);
                if(signature==null)
                {  // for example, too long key length.
                    break;
                }
                buf.WriteString(signature);

                session.write(packet);

            loop2:
                while(true)
                {
                    // receive
                    // byte      SSH_MSG_USERAUTH_SUCCESS(52)
                    // string    service name
                    buf=session.read(buf);
                    //System.out.println("read: 52 ? "+    buf.buffer[5]);
                    if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_SUCCESS)
                    {
                        return true;
                    }
                    else if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_BANNER)
                    {
開發者ID:yash0924,項目名稱:csharputils,代碼行數:67,代碼來源:UserAuthPublicKey.cs


注:本文中的Tamir.SharpSsh.jsch.Session.getSessionId方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。