⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ciphersuite.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        // sorta look the same, so why not make them equivalent?        //        // There should be a seperate padding "TLS1Padding".        if (provider != null)          {            try              {                return Cipher.getInstance (name + "/CBC/SSL3Padding", provider);              }            catch (NoSuchProviderException nspe)              {                // Fall through. Try any available provider.              }          }        return Cipher.getInstance (name + "/CBC/SSL3Padding");      }  }  static IMac getMac(String macName)  {    if (macName.startsWith("SSLMAC-"))      {        return new SSLHMac(macName.substring(7));      }    else      {        return MacFactory.getInstance(macName);      }  }  static Mac getJCEMac (final String name)    throws NoSuchAlgorithmException  {    final String provider = Util.getSecurityProperty ("jessie.with.jce.provider");    if (provider != null)      {        try          {            return Mac.getInstance (name, provider);          }        catch (NoSuchProviderException nspe)          {            // Fall through. Try any available provider.          }      }    return Mac.getInstance (name);  }  // Intance methods.  // -------------------------------------------------------------------------  public void write(OutputStream out) throws IOException  {    out.write(id);  }  CipherSuite resolve(ProtocolVersion version)  {    if (version == ProtocolVersion.SSL_3)      {        if (id[0] == 0x00) switch (id[1])          {          case 0x00: return SSL_NULL_WITH_NULL_NULL;          case 0x01: return SSL_RSA_WITH_NULL_MD5;          case 0x02: return SSL_RSA_WITH_NULL_SHA;          case 0x03: return SSL_RSA_EXPORT_WITH_RC4_40_MD5;          case 0x04: return SSL_RSA_WITH_RC4_128_MD5;          case 0x05: return SSL_RSA_WITH_RC4_128_SHA;          case 0x08: return SSL_RSA_EXPORT_WITH_DES40_CBC_SHA;          case 0x09: return SSL_RSA_WITH_DES_CBC_SHA;          case 0x0A: return SSL_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x0B: return SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA;          case 0x0C: return SSL_DH_DSS_WITH_DES_CBC_SHA;          case 0x0D: return SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA;          case 0x0E: return SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA;          case 0x0F: return SSL_DH_RSA_WITH_DES_CBC_SHA;          case 0x10: return SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x11: return SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;          case 0x12: return SSL_DHE_DSS_WITH_DES_CBC_SHA;          case 0x13: return SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA;          case 0x14: return SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;          case 0x15: return SSL_DHE_RSA_WITH_DES_CBC_SHA;          case 0x16: return SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x2F: return SSL_RSA_WITH_AES_128_CBC_SHA;          case 0x30: return SSL_DH_DSS_WITH_AES_128_CBC_SHA;          case 0x31: return SSL_DH_RSA_WITH_AES_128_CBC_SHA;          case 0x32: return SSL_DHE_DSS_WITH_AES_128_CBC_SHA;          case 0x33: return SSL_DHE_RSA_WITH_AES_128_CBC_SHA;          case 0x35: return SSL_RSA_WITH_AES_256_CBC_SHA;          case 0x36: return SSL_DH_DSS_WITH_AES_256_CBC_SHA;          case 0x37: return SSL_DH_RSA_WITH_AES_256_CBC_SHA;          case 0x38: return SSL_DHE_DSS_WITH_AES_256_CBC_SHA;          case 0x39: return SSL_DHE_RSA_WITH_AES_256_CBC_SHA;          }      }    else if (version == ProtocolVersion.TLS_1 ||             version == ProtocolVersion.TLS_1_1)      {        if (id[0] == 0x00) switch (id[1])          {          case 0x00: return TLS_NULL_WITH_NULL_NULL;          case 0x01: return TLS_RSA_WITH_NULL_MD5;          case 0x02: return TLS_RSA_WITH_NULL_SHA;          case 0x03: return TLS_RSA_EXPORT_WITH_RC4_40_MD5;          case 0x04: return TLS_RSA_WITH_RC4_128_MD5;          case 0x05: return TLS_RSA_WITH_RC4_128_SHA;          case 0x08: return TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;          case 0x09: return TLS_RSA_WITH_DES_CBC_SHA;          case 0x0A: return TLS_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x0B: return TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA;          case 0x0C: return TLS_DH_DSS_WITH_DES_CBC_SHA;          case 0x0D: return TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA;          case 0x0E: return TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA;          case 0x0F: return TLS_DH_RSA_WITH_DES_CBC_SHA;          case 0x10: return TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x11: return TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;          case 0x12: return TLS_DHE_DSS_WITH_DES_CBC_SHA;          case 0x13: return TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA;          case 0x14: return TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;          case 0x15: return TLS_DHE_RSA_WITH_DES_CBC_SHA;          case 0x16: return TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x2F: return TLS_RSA_WITH_AES_128_CBC_SHA;          case 0x30: return TLS_DH_DSS_WITH_AES_128_CBC_SHA;          case 0x31: return TLS_DH_RSA_WITH_AES_128_CBC_SHA;          case 0x32: return TLS_DHE_DSS_WITH_AES_128_CBC_SHA;          case 0x33: return TLS_DHE_RSA_WITH_AES_128_CBC_SHA;          case 0x35: return TLS_RSA_WITH_AES_256_CBC_SHA;          case 0x36: return TLS_DH_DSS_WITH_AES_256_CBC_SHA;          case 0x37: return TLS_DH_RSA_WITH_AES_256_CBC_SHA;          case 0x38: return TLS_DHE_DSS_WITH_AES_256_CBC_SHA;          case 0x39: return TLS_DHE_RSA_WITH_AES_256_CBC_SHA;          case 0x50: return TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA;          case 0x51: return TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA;          case 0x52: return TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA;          case 0x53: return TLS_SRP_SHA_WITH_AES_128_CBC_SHA;          case 0x54: return TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA;          case 0x55: return TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA;          case 0x56: return TLS_SRP_SHA_WITH_AES_256_CBC_SHA;          case 0x57: return TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA;          case 0x58: return TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA;          case 0x70: return TLS_DHE_DSS_WITH_CAST_128_CBC_SHA;          case 0x71: return TLS_DHE_DSS_WITH_CAST_128_CBC_RMD;          case 0x72: return TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD;          case 0x73: return TLS_DHE_DSS_WITH_AES_128_CBC_RMD;          case 0x74: return TLS_DHE_DSS_WITH_AES_256_CBC_RMD;          case 0x75: return TLS_DHE_RSA_WITH_CAST_128_CBC_SHA;          case 0x76: return TLS_DHE_RSA_WITH_CAST_128_CBC_RMD;          case 0x77: return TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD;          case 0x78: return TLS_DHE_RSA_WITH_AES_128_CBC_RMD;          case 0x79: return TLS_DHE_RSA_WITH_AES_256_CBC_RMD;          case 0x7A: return TLS_RSA_WITH_CAST_128_CBC_SHA;          case 0x7B: return TLS_RSA_WITH_CAST_128_CBC_RMD;          case 0x7C: return TLS_RSA_WITH_3DES_EDE_CBC_RMD;          case 0x7D: return TLS_RSA_WITH_AES_128_CBC_RMD;          case 0x7E: return TLS_RSA_WITH_AES_256_CBC_RMD;          }      }    return this;  }  String getCipher()  {    return cipherName;  }  int getKeyLength()  {    return keyLength;  }  String getKeyExchange()  {    return kexName;  }  String getSignature()  {    return sigName;  }  String getMac()  {    return macName;  }  boolean isExportable()  {    return exportable;  }  boolean isStreamCipher()  {    return isStream;  }  String getAuthType()  {    if (kexName.equals("RSA"))      {        if (isExportable())          {            return "RSA_EXPORT";          }        return "RSA";      }    return kexName + "_" + sigName;  }  byte[] getId()  {    return id;  }  ProtocolVersion getVersion()  {    return version;  }  public boolean equals(Object o)  {    if (!(o instanceof CipherSuite))      {        return false;      }    if (o == this)      return true;    byte[] id = ((CipherSuite) o).getId();    return id[0] == this.id[0] &&           id[1] == this.id[1];  }  public int hashCode()  {    if (version == null)      {        return 0xFFFF0000 | (id[0] & 0xFF) << 8 | (id[1] & 0xFF);      }    return version.getMajor() << 24 | version.getMinor() << 16      | (id[0] & 0xFF) << 8 | (id[1] & 0xFF);  }  public String toString()  {    if (name == null)      {        return "UNKNOWN { " + (id[0] & 0xFF) + ", " + (id[1] & 0xFF) + " }";      }    return name;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -