for Java Platform Standard Edition 7
AlgorithmParameterGenerator
AlgorithmsAlgorithmParameters
AlgorithmsCertificateFactory
TypesCertPathBuilder
AlgorithmsCertPathValidator
AlgorithmsCertStore
TypesCipher
(Encryption)
AlgorithmsConfiguration
TypesKeyAgreement
AlgorithmsKeyFactory
AlgorithmsKeyGenerator
AlgorithmsKeyManagerFactory
AlgorithmsKeyPairGenerator
AlgorithmsKeyStore
TypesMac
AlgorithmsMessageDigest
AlgorithmsPolicy
TypesSaslClient
MechanismsSaslServer
MechanismsSecretKeyFactory
AlgorithmsSecureRandom
Number
Generation (RNG) AlgorithmsSignature
AlgorithmsSSLContext
AlgorithmsTrustManagerFactory
AlgorithmsXMLSignatureFactory
/KeyInfoFactory
/TransformService)
MechanismsTransformService
) AlgorithmsNote: The Sun Provider Documentation contains specific provider and algorithm information.
The JDK Security API requires and uses a set of standard names for algorithms, certificate and keystore types. This specification establishes the following names as standard names.
In some cases naming conventions are given for forming names
that are not explicitly listed, to facilitate name consistency
across provider implementations. Items in angle brackets (such as
<digest>
and <encryption>
)
are placeholders to be replaced by a specific message digest,
encryption algorithm, or other name.
Note: Standard names are not case-sensitive.
This document includes corresponding lists of standard names relevant to the following security subareas:
AlgorithmParameterGenerator
AlgorithmsThe algorithm names in this section can be specified when
generating an instance of
AlgorithmParameterGenerator
.
| Algorithm Name | Description |
|---|---|
| DiffieHellman | Parameters for use with the Diffie-Hellman algorithm. |
| DSA | Parameters for use with the Digital Signature Algorithm. |
AlgorithmParameters
AlgorithmsThe algorithm names in this section can be specified when
generating an instance of AlgorithmParameters
.
| Algorithm Name | Description |
|---|---|
| AES | Parameters for use with the AES algorithm. |
| Blowfish | Parameters for use with the Blowfish algorithm. |
| DES | Parameters for use with the DES algorithm. |
| DESede | Parameters for use with the DESede algorithm. |
| DiffieHellman | Parameters for use with the DiffieHellman algorithm. |
| DSA | Parameters for use with the Digital Signature Algorithm. |
| OAEP | Parameters for use with the OAEP algorithm. |
| PBEWith<digest>And<encryption> | Parameters for use with the PBEWith<digest>And<encryption> algorithm. Examples: PBEWithMD5AndDES, and PBEWithHmacSHA1AndDESede. |
| PBE | Parameters for use with the PBE algorithm. This name should not be used, in preference to the more specific PBE-algorithm names previously listed. |
| RC2 | Parameters for use with the RC2 algorithm. |
CertificateFactory
TypesThe type in this section can be specified when generating an
instance of CertificateFactory
.
| Type | Description |
|---|---|
| X.509 | The certificate type defined in X.509, also available via RFC 3280 |
CertPathBuilder
AlgorithmsThe algorithm in this section can be specified when generating
an instance of CertPathBuilder
.
| Algorithm Name | Description |
|---|---|
| PKIX | The PKIX certification path validation algorithm as defined in
the ValidationAlgorithm service attribute.
The output of CertPathBuilder instances implementing
this algorithm is a certification path validated against the PKIX
validation algorithm. |
The following encodings may be passed to the
getEncoded
method of CertPath
or the
generateCertPath(InputStream inStream, String
encoding)
method of CertificateFactory
.
| Encoding | Description |
|---|---|
| PKCS7 | A PKCS#7 SignedData object, with the only significant field
being certificates. In particular, the signature and the contents
are ignored. If no certificates are present, a zero-length
CertPath is assumed. Warning: PKCS#7 does not maintain
the order of certificates in a certification path. This means that
if a CertPath is converted to PKCS#7 encoded bytes and
then converted back, the order of the certificates may change,
potentially rendering the CertPath invalid. Users
should be aware of this behavior. See RSA Security for
details on PKCS7. |
| PkiPath | an ASN.1 DER encoded sequence of certificates, defined as
follows:
PkiPath ::= SEQUENCE OF CertificateWithin the sequence, the order of certificates is such that the subject of the first certificate is the issuer of the second certificate, and so on. Each certificate in PkiPath
shall be unique. No certificate may appear more than once in a
value of Certificate in PkiPath . The
PkiPath format is defined in defect report 279 against
X.509 (2000) and is incorporated into Technical Corrigendum 1 (DTC
2) for the ITU-T Recommendation X.509 (2000). See the ITU website for
details. |
CertPathValidator
AlgorithmsThe algorithm in this section can be specified when generating
an instance of CertPathValidator
.
| Algorithm Name | Description |
|---|---|
| PKIX | The PKIX certification path validation algorithm as defined in the ValidationAlgorithm service attribute. |
CertStore
TypesThe type in this section can be specified when generating an
instance of CertStore
.
| Type | Description |
|---|---|
| Collection | A CertStore implementation that retrieves
certificates and CRLs from a Collection . This type of
CertStore is particularly useful in applications where
certificates or CRLs are received in a bag or some sort of
attachment, such as with a signed email message or in an SSL
negotiation. |
| LDAP | A CertStore implementation that fetches
certificates and CRLs from an LDAP directory using the schema
defined in the LDAPSchema service
attribute. |
Cipher
(Encryption) AlgorithmsThe following names can be specified as the algorithm
component in a transformation when requesting
an instance of Cipher
.
| Algorithm Name | Description |
|---|---|
| AES | Advanced Encryption Standard as specified by NIST in FIPS 197. Also known as the Rijndael algorithm by Joan Daemen and Vincent Rijmen, AES is a 128-bit block cipher supporting keys of 128, 192, and 256 bits. |
| AESWrap | The AES key wrapping algorithm as described in RFC 3394. |
| ARCFOUR | A stream cipher believed to be fully interoperable with the RC4 cipher developed by Ron Rivest. For more information, see K. Kaukonen and R. Thayer, "A Stream Cipher Encryption Algorithm 'Arcfour'", Internet Draft (expired), draft-kaukonen-cipher-arcfour-03.txt. |
| Blowfish | The Blowfish block cipher designed by Bruce Schneier. |
| CCM | Counter/CBC Mode, as defined in NIST Special Publication SP 800-38C. |
| DES | The Digital Encryption Standard as described in FIPS PUB 46-3. |
| DESede | Triple DES Encryption (also known as DES-EDE, 3DES, or Triple-DES). Data is encrypted using the DES algorithm three separate times. It is first encrypted using the first subkey, then decrypted with the second subkey, and encrypted with the third subkey. |
| DESedeWrap | The DESede key wrapping algorithm as described in RFC 3217 . |
| ECIES | Elliptic Curve Integrated Encryption Scheme |
| GCM | Galois/Counter Mode, as defined in NIST Special Publication SP 800-38D. |
| PBEWith<digest>And<encryption> PBEWith<prf>And<encryption> | The password-based encryption algorithm found in (PKCS5), using
the specified message digest (<digest>) or pseudo-random
function (<prf>) and encryption algorithm
(<encryption>). Examples:
|
| RC2 | Variable-key-size encryption algorithms developed by Ron Rivest for RSA Data Security, Inc. |
| RC4 | Variable-key-size encryption algorithms developed by Ron Rivest for RSA Data Security, Inc. (See note prior for ARCFOUR.) |
| RC5 | Variable-key-size encryption algorithms developed by Ron Rivest for RSA Data Security, Inc. |
| RSA | The RSA encryption algorithm as defined in PKCS #1 |
The following names can be specified as the mode
component in a transformation when requesting
an instance of Cipher
.
| Algorithm Name | Description |
|---|---|
| NONE | No mode. |
| CBC | Cipher Block Chaining Mode, as defined in FIPS PUB 81. |
| CFB, CFBx | Cipher Feedback Mode, as defined in FIPS PUB
81. Using modes such as CFB and OFB, block ciphers can encrypt data in units smaller than the cipher's actual block size. When requesting such a mode, you may optionally specify the number of bits to be processed at a time by appending this number to the mode name as shown in the "DES/CFB8/NoPadding" and "DES/OFB32/PKCS5Padding" transformations. If no such number is specified, a provider-specific default is used. (For example, the SunJCE provider uses a default of 64 bits for DES.) Thus, block ciphers can be turned into byte-oriented stream ciphers by using an 8-bit mode such as CFB8 or OFB8. |
| CTR | A simplification of OFB, Counter mode updates the input block as a counter. |
| CTS | Cipher Text Stealing, as described in Bruce Schneier's book Applied Cryptography-Second Edition, John Wiley and Sons, 1996. |
| ECB | Electronic Codebook Mode, as defined in FIPS PUB 81. |
| OFB, OFBx | Output Feedback Mode, as defined in FIPS PUB
81. Using modes such as CFB and OFB, block ciphers can encrypt data in units smaller than the cipher's actual block size. When requesting such a mode, you may optionally specify the number of bits to be processed at a time by appending this number to the mode name as shown in the "DES/CFB8/NoPadding" and "DES/OFB32/PKCS5Padding" transformations. If no such number is specified, a provider-specific default is used. (For example, the SunJCE provider uses a default of 64 bits for DES.) Thus, block ciphers can be turned into byte-oriented stream ciphers by using an 8-bit mode such as CFB8 or OFB8. |
| PCBC | Propagating Cipher Block Chaining, as defined by Kerberos V4. |
The following names can be specified as the padding
component in a transformation when requesting
an instance of Cipher
.
| Algorithm Name | Description |
|---|---|
| NoPadding | No padding. |
| ISO10126Padding | This padding for block ciphers is described in 5.2 Block Encryption Algorithms in the W3C's "XML Encryption Syntax and Processing" document. |
| OAEPPadding, OAEPWith<digest>And<mgf>Padding | Optimal Asymmetric Encryption Padding scheme defined in PKCS1,
where <digest> should be replaced by the message digest and
<mgf> by the mask generation function. Examples:
OAEPWithMD5AndMGF1Padding and
OAEPWithSHA-512AndMGF1Padding. If OAEPPadding is used, Cipher objects
are initialized with a
javax.crypto.spec.OAEPParameterSpec object to supply
values needed for OAEPPadding. |
| PKCS1Padding | The padding scheme described in PKCS #1, used with the RSA algorithm. |
| PKCS5Padding | The padding scheme described in RSA Laboratories, "PKCS #5: Password-Based Encryption Standard," version 1.5, November 1993. |
| SSL3Padding | The padding scheme defined in the SSL Protocol Version 3.0,
November 18, 1996, section <IP_ADDRESS> (CBC block cipher):
block-ciphered struct { opaque content[SSLCompressed.length]; opaque MAC[CipherSpec.hash_size]; uint8 padding[ GenericBlockCipher.padding_length]; uint8 padding_length; } GenericBlockCipher;The size of an instance of a GenericBlockCipher must be a multiple of the block cipher's block length. The padding length, which is always present, contributes to the padding, which implies that if: sizeof(content) + sizeof(MAC) % block_length = 0,padding has to be (block_length - 1) bytes long, because of the existence of padding_length .This makes the padding scheme similar (but not quite) to PKCS5Padding, where the padding length is encoded in the padding (and ranges from 1 to block_length). With the SSL scheme, the sizeof(padding) is encoded in the always present padding_length and therefore ranges from 0 to
block_length-1. |
Configuration
TypesThe type in this section can be specified when generating an
instance of
javax.security.auth.login.Configuration
.
| Type | Description |
|---|---|
| JavaLoginConfig | The default Configuration implementation from the SUN provider,
as described in the ConfigFile class
specification.
This type accepts java.security.URIParameter as a
valid Configuration.Parameter type. If this parameter
is not specified, then the configuration information is loaded from
the sources described in the ConfigFile class specification. If
this parameter is specified, the configuration information is
loaded solely from the specified URI. |
The following exemption mechanism names can be specified in the permission policy file that accompanies an application considered "exempt" from cryptographic restrictions.
| Algorithm Name | Description |
|---|---|
| KeyEscrow | An encryption system with a backup decryption capability that allows authorized persons (users, officers of an organization, and government officials), under certain prescribed conditions, to decrypt ciphertext with the help of information supplied by one or more trusted parties who hold special data recovery keys. |
| KeyRecovery | A method of obtaining the secret key used to lock encrypted data. One use is as a means of providing fail-safe access to a corporation's own encrypted information in times of disaster. |
| KeyWeakening | A method in which a part of the key can be escrowed or recovered. |
The following mechanisms can be specified when using GSSAPI. Note that Object Identifiers (OIDs) are specified instead of names to be consistent with the GSSAPI standard.
| Mechanism OID | Description |
|---|---|
| 1.2.840.1135<IP_ADDRESS> | The Kerberos v5 GSS-API mechanism defined in RFC 4121. |
| <IP_ADDRESS>.5.5.2 | The Simple and Protected GSS-API Negotiation (SPNEGO) mechanism defined in RFC 4178. |
KeyAgreement
AlgorithmsThe following algorithm names can be specified when requesting
an instance of KeyAgreement
.
| Algorithm Name | Description |
|---|---|
| DiffieHellman | Diffie-Hellman Key Agreement as defined in PKCS #3: Diffie-Hellman Key-Agreement Standard, RSA Laboratories, version 1.4, November 1993. |
| ECDH | Elliptic Curve Diffie-Hellman as defined in ANSI X9.63 and as described in RFC 3278: "Use of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic Message Syntax (CMS)." |
| ECMQV | Elliptic Curve Menezes-Qu-Vanstone as defined in "Elliptic Curve Cryptography" from www.secg.org. |
KeyFactory
Algorithms(Except as noted, these classes create keys for which
Key.getAlgorithm()
returns the standard algorithm name.)
The algorithm names in this section can be specified when
generating an instance of KeyFactory
.
| Algorithm Name | Description |
|---|---|
| DiffieHellman | Keys for the Diffie-Hellman KeyAgreement algorithm.
Note: |
| DSA | Keys for the Digital Signature Algorithm. |
| RSA | Keys for the RSA algorithm (Signature/Cipher). |
| EC | Keys for the Elliptic Curve algorithm. |
KeyGenerator
AlgorithmsThe following algorithm names can be specified when requesting
an instance of KeyGenerator
.
| Algorithm Name | Description |
|---|---|
| AES | Key generator for use with the AES algorithm. |
| ARCFOUR | Key generator for use with the ARCFOUR (RC4) algorithm. |
| Blowfish | Key generator for use with the Blowfish algorithm. |
| DES | Key generator for use with the DES algorithm. |
| DESede | Key generator for use with the DESede (triple-DES) algorithm. |
| HmacMD5 | Key generator for use with the HmacMD5 algorithm. |
| HmacSHA1 HmacSHA256 HmacSHA384 HmacSHA512 | Keys generator for use with the various flavors of the HmacSHA algorithms. |
| RC2 | Key generator for use with the RC2 algorithm. |
KeyManagerFactory
AlgorithmsThe algorithm name in this section can be specified when
generating an instance of KeyManagerFactory
.
| Algorithm Name | Description |
|---|---|
| PKIX | A factory for X509ExtendedKeyManager s that manage
X.509 certificate-based key pairs for local side authentication
according to the rules defined by the IETF PKIX working group in
RFC 3280 or its
successor. The KeyManagerFactory must support
initialization using the class
javax.net.ssl.KeyStoreBuilderParameters . |
KeyPairGenerator
Algorithms(Except as noted, these classes create keys for which
Key.getAlgorithm()
returns the standard algorithm name.)
The algorithm names in this section can be specified when
generating an instance of KeyPairGenerator
.
| Algorithm Name | Description |
|---|---|
| DiffieHellman | Generates keypairs for the Diffie-Hellman KeyAgreement
algorithm.
Note: |
| DSA | Generates keypairs for the Digital Signature Algorithm. |
| RSA | Generates keypairs for the RSA algorithm (Signature/Cipher). |
| EC | Generates keypairs for the Elliptic Curve algorithm. |
KeyStore
TypesThe types in this section can be specified when generating an
instance of KeyStore
.
| Type | Description |
|---|---|
| jceks | The proprietary keystore implementation provided by the SunJCE provider. |
| jks | The proprietary keystore implementation provided by the SUN provider. |
| pkcs12 | The transfer syntax for personal identity information as defined in PKCS #12. |
Mac
AlgorithmsThe following algorithm names can be specified when requesting
an instance of Mac
.
| Algorithm Name | Description |
|---|---|
| HmacMD5 | The HMAC-MD5 keyed-hashing algorithm as defined in RFC 2104 "HMAC: Keyed-Hashing for Message Authentication" (February 1997). |
| HmacSHA1 HmacSHA256 HmacSHA384 HmacSHA512 |
The HmacSHA* algorithms as defined in RFC 2104 "HMAC:
Keyed-Hashing for Message Authentication" (February 1997) with
SHA-* as the message digest algorithm. |
| PBEWith<mac> | Mac for use with the PKCS #5 v 2.0 password-based message authentication standard, where <mac> is a Message Authentication Code algorithm name. Example: PBEWithHmacSHA1. |
MessageDigest
AlgorithmsThe algorithm names in this section can be specified when
generating an instance of MessageDigest
.
| Algorithm Name | Description |
|---|---|
| MD2 | The MD2 message digest algorithm as defined in RFC 1319. |
| MD5 | The MD5 message digest algorithm as defined in RFC 1321. |
| SHA-1 SHA-256 SHA-384 SHA-512 |
Hash algorithms defined in the FIPS PUB
180-2. SHA-256 is a 256-bit hash function intended to provide 128 bits of security against collision attacks, while SHA-512 is a 512-bit hash function intended to provide 256 bits of security. A 384-bit hash may be obtained by truncating the SHA-512 output. |
Policy
TypesThe type in this section can be specified when generating an
instance of Policy
.
| Type | Description |
|---|---|
| JavaPolicy | The default Policy implementation from the SUN provider, as
described in the PolicyFile guide.
This type accepts java.security.URIParameter as a
valid Policy.Parameter type. If this parameter is not
specified, then the policy information is loaded from the sources
described in the Default
Policy File Locations section of the PolicyFile guide. If this
parameter is specified, the policy information is loaded solely
from the specified URI. |
SaslClient
MechanismsThe mechanisms in this section can be specified when generating
an instance of SaslClient
.
| Mechanism | Description |
|---|---|
| CRAM-MD5 | See RFC 2195. This mechanism supports a hashed username/password authentication scheme. |
| DIGEST-MD5 | See RFC 2831. This mechanism defines how HTTP Digest Authentication can be used as a SASL mechanism. |
| EXTERNAL | See RFC 2222. This mechanism obtains authentication information from an external channel (such as TLS or IPsec). |
| GSSAPI | See RFC 2222. This mechanism uses the GSSAPI for obtaining authentication information. It supports Kerberos v5 authentication. |
| PLAIN | See RFC 2595. This mechanism supports cleartext user name/password authentication. |
SaslServer
MechanismsThe mechanisms in this section can be specified when generating
an instance of SaslServer
.
| Mechanism | Description |
|---|---|
| CRAM-MD5 | See RFC 2195. This mechanism supports a hashed user name/password authentication scheme. |
| DIGEST-MD5 | See RFC 2831. This mechanism defines how HTTP Digest Authentication can be used as a SASL mechanism. |
| GSSAPI | See RFC 2222. This mechanism uses the GSSAPI for obtaining authentication information. It supports Kerberos v5 authentication. |
SecretKeyFactory
AlgorithmsThe following algorithm names can be specified when requesting
an instance of SecretKeyFactory
.
| Algorithm Name | Description |
|---|---|
| AES | Constructs secret keys for use with the AES algorithm. |
| ARCFOUR | Constructs secret keys for use with the ARCFOUR algorithm. |
| DES | Constructs secrets keys for use with the DES algorithm. |
| DESede | Constructs secrets keys for use with the DESede (Triple-DES) algorithm. |
| PBEWith<digest>And<encryption> PBEWith<prf>And<encryption> |
Secret-key factory for use with PKCS5 password-based
encryption, where <digest> is a message digest, <prf>
is a pseudo-random function, and <encryption> is an
encryption algorithm.
Examples:
|
| PBKDF2WithHmacSHA1 | Constructs secret keys using the Password-Based Key Derivation Function function found in PKCS #5 v2.0. |
SecureRandom
Number Generation (RNG)
AlgorithmsThe algorithm name in this section can be specified when
generating an instance of SecureRandom
.
| Algorithm Name | Description |
|---|---|
| SHA1PRNG | The name of the pseudo-random number generation (PRNG) algorithm supplied by the SUN provider. This algorithm uses SHA-1 as the foundation of the PRNG. It computes the SHA-1 hash over a true-random seed value concatenated with a 64-bit counter which is incremented by 1 for each operation. From the 160-bit SHA-1 output, only 64 bits are used. |
A cryptographic service is always associated with a particular
algorithm or type. For example, a digital signature service is
always associated with a particular algorithm (for example, DSA),
and a CertificateFactory
service is always associated
with a particular certificate type (for example, X.509).
The attributes in this section are for cryptographic services. The service attributes can be used as filters for selecting providers.
Both the attribute name and value are case-insensitive.
| Attribute | Description |
|---|---|
| KeySize | The maximum key size that the provider supports for the cryptographic service. |
| ImplementedIn | Whether the implementation for the cryptographic service is done by software or hardware. The value of this attribute is "software" or "hardware". |
| ValidationAlgorithm | The name of the specification that defines the certification
path validation algorithm that an implementation of
CertPathBuilder or CertPathValidator
supports. RFCs should be specified as "RFC#" (ex: "RFC3280") and
Internet Drafts as the name of the draft (ex:
"draft-ietf-pkix-rfc2560bis-01.txt"). Values for this attribute
that are specified as selection criteria to the
Security.getProviders method will be compared using
the String.equalsIgnoreCase method. All PKIX
implementations of CertPathBuilder and
CertPathValidator should provide a value for this
attribute. |
| LDAPSchema | The name of the specification that defines the LDAP schema that
an implementation of an LDAP CertStore uses to
retrieve certificates and CRLs. The format and semantics of this
attribute is the same as described for the ValidationAlgorithm
attribute. All LDAP implementations of CertStore
should provide a value for this attribute. |
For example:
map.put("KeyPairGenerator.DSA", "sun.security.provider.DSAKeyPairGenerator"); map.put("KeyPairGenerator.DSA KeySize", "1024"); map.put("KeyPairGenerator.DSA ImplementedIn", "Software");
Signature
AlgorithmsThe algorithm names in this section can be specified when
generating an instance of Signature
.
| Algorithm Name | Description |
|---|---|
| NONEwithRSA | The RSA signature algorithm, which does not use a digesting algorithm (for example, MD5/SHA1) before performing the RSA operation. For more information about the RSA Signature algorithms, see PKCS #1. |
| MD2withRSA MD5withRSA |
The MD2/MD5 with RSA Encryption signature algorithm, which uses the MD2/MD5 digest algorithm and RSA to create and verify RSA digital signatures as defined in PKCS #1. |
| SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA |
The signature algorithm with SHA-* and the RSA encryption algorithm as defined in the OSI Interoperability Workshop, using the padding conventions described in PKCS #1. |
| NONEwithDSA | The Digital Signature Algorithm as defined in FIPS PUB 186-2. The data must be exactly 20 bytes in length. This algorithm is also known as rawDSA. |
| SHA1withDSA | The DSA with SHA-1 signature algorithm, which uses the SHA-1 digest algorithm and DSA to create and verify DSA digital signatures as defined in FIPS PUB 186. |
| NONEwithECDSA SHA1withECDSA SHA256withECDSA SHA384withECDSA SHA512withECDSA (ECDSA) |
The ECDSA signature algorithms as defined in ANSI
X9.62.
Note:"ECDSA" is an ambiguous name for the "SHA1withECDSA" algorithm and should not be used. The formal name "SHA1withECDSA" should be used instead. |
| <digest>with<encryption> | Use this to form a name for a signature algorithm with a
particular message digest (such as MD2 or MD5) and algorithm (such
as RSA or DSA), just as was done for the explicitly defined
standard names in this section (MD2withRSA, and so on).
For the new signature schemes defined in PKCS #1 v 2.0, for which the <digest>with<encryption> form is insufficient, <digest>with<encryption>and<mgf> can be used to form a name. Here, <mgf> should be replaced by a mask generation function such as MGF1. Example: MD5withRSAandMGF1. |
SSLContext
AlgorithmsThe algorithm names in this section can be specified when
generating an instance of SSLContext
.
| Algorithm Name | Description |
|---|---|
| SSL | Supports some version of SSL; may support other versions |
| SSLv2 | Supports SSL version 2 or later; may support other versions |
| SSLv3 | Supports SSL version 3; may support other versions |
| TLS | Supports some version of TLS; may support other versions |
| TLSv1 | Supports RFC 2246: TLS version 1.0 ; may support other versions |
| TLSv1.1 | Supports RFC 4346: TLS version 1.1 ; may support other versions |
| TLSv1.2 | Supports RFC 5246: TLS version 1.2 ; may support other versions |
TrustManagerFactory
AlgorithmsThe algorithm name in this section can be specified when
generating an instance of TrustManagerFactory
.
| Algorithm Name | Description |
|---|---|
| PKIX | A factory for X509ExtendedTrustManager objects
that validate certificate chains according to the rules defined by
the IETF PKIX working group in RFC 3280 or its
successor. The TrustManagerFactory must support
initialization using the class
javax.net.ssl.CertPathTrustManagerParameters . |
XMLSignatureFactory
/KeyInfoFactory
/TransformService
)
MechanismsThe mechanism in this section can be specified when generating
an instance of XMLSignatureFactory
,
KeyInfoFactory
, or TransformService
. The
mechanism identifies the XML processing mechanism that an
implementation uses internally to parse and generate XML signature
and KeyInfo structures. Also, note that each
TransformService
instance supports a specific
transform algorithm in addition to a mechanism. The standard names
for the transform algorithms are defined in the next section.
| Mechanism | Description |
|---|---|
| DOM | The Document Object Model. See DOM Mechanism Requirements for additional requirements for DOM implementations. |
TransformService
)
AlgorithmsThe algorithms in this section can be specified when generating
an instance of TransformService
. Note that URIs are
specified instead of names to be consistent with the XML Signature
standard. API constants have been defined for each of these URIs,
and these are listed in parentheses after each URI in the table
that follows.
| Algorithm URI | Description |
|---|---|
http://www.w3.org/TR/2001/REC-xml-c14n-20010315
(CanonicalizationMethod.INCLUSIVE ) |
The Canonical XML (without comments) canonicalization algorithm. |
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
(CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS ) |
The Canonical XML with comments canonicalization algorithm. |
http://www.w3.org/2001/10/xml-exc-c14n#
(CanonicalizationMethod.EXCLUSIVE ) |
The Exclusive Canonical XML (without comments) canonicalization algorithm. |
http://www.w3.org/2001/10/xml-exc-c14n#WithComments
(CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS ) |
The Exclusive Canonical XML with comments canonicalization algorithm. |
http://www.w3.org/2000/09/xmldsig#base64
(Transform.BASE64 ) |
The Base64 transform algorithm. |
http://www.w3.org/2000/09/xmldsig#enveloped-signature
(Transform.ENVELOPED ) |
The Enveloped Signature transform algorithm. |
http://www.w3.org/TR/1999/REC-xpath-19991116
(Transform.XPATH ) |
The XPath transform algorithm. |
http://www.w3.org/2002/06/xmldsig-filter2
(Transform.XPATH2 ) |
The XPath Filter 2 transform algorithm. |
http://www.w3.org/TR/1999/REC-xslt-19991116
(Transform.XSLT ) |
The XSLT transform algorithm. |
The following list contains the standard JSSE cipher suite
names. Over time, various groups have added additional cipher
suites to the SSL/TLS namespace. Some JSSE cipher suite names were
defined before TLSv1.0 was finalized, and were therefore given the
SSL_
prefix. The names mentioned in the TLS RFCs
prefixed with TLS_
are functionally equivalent to the
JSSE cipher suites prefixed with SSL_
.
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA |
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 |
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA |
TLS_DH_anon_WITH_AES_128_CBC_SHA |
TLS_DH_anon_WITH_AES_128_CBC_SHA256 |
TLS_DH_anon_WITH_AES_128_GCM_SHA256 |
TLS_DH_anon_WITH_AES_256_CBC_SHA |
TLS_DH_anon_WITH_AES_256_CBC_SHA256 |
TLS_DH_anon_WITH_AES_256_GCM_SHA384 |
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA |
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA |
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DH_anon_WITH_DES_CBC_SHA |
SSL_DH_anon_WITH_RC4_128_MD5 |
TLS_DH_anon_WITH_SEED_CBC_SHA |
SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA |
SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA |
TLS_DH_DSS_WITH_AES_128_CBC_SHA |
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 |
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 |
TLS_DH_DSS_WITH_AES_256_CBC_SHA |
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 |
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 |
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA |
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA |
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DH_DSS_WITH_DES_CBC_SHA |
TLS_DH_DSS_WITH_SEED_CBC_SHA |
SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA |
SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_DH_RSA_WITH_AES_128_CBC_SHA |
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 |
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 |
TLS_DH_RSA_WITH_AES_256_CBC_SHA |
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 |
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 |
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA |
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA |
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DH_RSA_WITH_DES_CBC_SHA |
TLS_DH_RSA_WITH_SEED_CBC_SHA |
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA |
SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA |
SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA |
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 |
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 |
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DHE_DSS_WITH_DES_CBC_SHA |
SSL_DHE_DSS_WITH_RC4_128_SHA |
TLS_DHE_DSS_WITH_SEED_CBC_SHA |
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_DHE_PSK_WITH_AES_128_CBC_SHA |
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 |
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 |
TLS_DHE_PSK_WITH_AES_256_CBC_SHA |
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 |
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 |
TLS_DHE_PSK_WITH_NULL_SHA |
TLS_DHE_PSK_WITH_NULL_SHA256 |
TLS_DHE_PSK_WITH_NULL_SHA384 |
TLS_DHE_PSK_WITH_RC4_128_SHA |
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA |
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DHE_RSA_WITH_DES_CBC_SHA |
TLS_DHE_RSA_WITH_SEED_CBC_SHA |
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA |
TLS_ECDH_anon_WITH_AES_128_CBC_SHA |
TLS_ECDH_anon_WITH_AES_256_CBC_SHA |
TLS_ECDH_anon_WITH_NULL_SHA |
TLS_ECDH_anon_WITH_RC4_128_SHA |
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDH_ECDSA_WITH_NULL_SHA |
TLS_ECDH_ECDSA_WITH_RC4_128_SHA |
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDH_RSA_WITH_NULL_SHA |
TLS_ECDH_RSA_WITH_RC4_128_SHA |
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDHE_ECDSA_WITH_NULL_SHA |
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA |
TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA |
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 |
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA |
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 |
TLS_ECDHE_PSK_WITH_NULL_SHA |
TLS_ECDHE_PSK_WITH_NULL_SHA256 |
TLS_ECDHE_PSK_WITH_NULL_SHA384 |
TLS_ECDHE_PSK_WITH_RC4_128_SHA |
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDHE_RSA_WITH_NULL_SHA |
TLS_ECDHE_RSA_WITH_RC4_128_SHA |
TLS_EMPTY_RENEGOTIATION_INFO_SCSV * |
SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA |
SSL_FORTEZZA_DMS_WITH_NULL_SHA |
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 |
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA |
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 |
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA |
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 |
TLS_KRB5_EXPORT_WITH_RC4_40_SHA |
TLS_KRB5_WITH_3DES_EDE_CBC_MD5 |
TLS_KRB5_WITH_3DES_EDE_CBC_SHA |
TLS_KRB5_WITH_DES_CBC_MD5 |
TLS_KRB5_WITH_DES_CBC_SHA |
TLS_KRB5_WITH_IDEA_CBC_MD5 |
TLS_KRB5_WITH_IDEA_CBC_SHA |
TLS_KRB5_WITH_RC4_128_MD5 |
TLS_KRB5_WITH_RC4_128_SHA |
TLS_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_PSK_WITH_AES_128_CBC_SHA |
TLS_PSK_WITH_AES_128_CBC_SHA256 |
TLS_PSK_WITH_AES_128_GCM_SHA256 |
TLS_PSK_WITH_AES_256_CBC_SHA |
TLS_PSK_WITH_AES_256_CBC_SHA384 |
TLS_PSK_WITH_AES_256_GCM_SHA384 |
TLS_PSK_WITH_NULL_SHA |
TLS_PSK_WITH_NULL_SHA256 |
TLS_PSK_WITH_NULL_SHA384 |
TLS_PSK_WITH_RC4_128_SHA |
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA |
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 |
SSL_RSA_EXPORT_WITH_RC4_40_MD5 |
SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA |
SSL_RSA_EXPORT1024_WITH_RC4_56_SHA |
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA |
SSL_RSA_FIPS_WITH_DES_CBC_SHA |
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_RSA_PSK_WITH_AES_128_CBC_SHA |
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 |
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 |
TLS_RSA_PSK_WITH_AES_256_CBC_SHA |
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 |
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 |
TLS_RSA_PSK_WITH_NULL_SHA |
TLS_RSA_PSK_WITH_NULL_SHA256 |
TLS_RSA_PSK_WITH_NULL_SHA384 |
TLS_RSA_PSK_WITH_RC4_128_SHA |
SSL_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_RSA_WITH_AES_128_CBC_SHA |
TLS_RSA_WITH_AES_128_CBC_SHA256 |
TLS_RSA_WITH_AES_128_GCM_SHA256 |
TLS_RSA_WITH_AES_256_CBC_SHA |
TLS_RSA_WITH_AES_256_CBC_SHA256 |
TLS_RSA_WITH_AES_256_GCM_SHA384 |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_RSA_WITH_DES_CBC_SHA |
SSL_RSA_WITH_IDEA_CBC_SHA |
SSL_RSA_WITH_NULL_MD5 |
SSL_RSA_WITH_NULL_SHA |
TLS_RSA_WITH_NULL_SHA256 |
SSL_RSA_WITH_RC4_128_MD5 |
SSL_RSA_WITH_RC4_128_SHA |
TLS_RSA_WITH_SEED_CBC_SHA |
TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA |
TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA |
TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA |
TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA |
TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA |
TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA |
TLS_SRP_SHA_WITH_AES_128_CBC_SHA |
TLS_SRP_SHA_WITH_AES_256_CBC_SHA |
*
TLS_EMPTY_RENEGOTIATION_INFO_SCSV
is a new
pseudo-cipher suite to support RFC 5746. Read the Transport
Layer Security (TLS) Renegotiation Issue section of the JSEE
Reference Guide for more information.
The keyType
parameter passed to the
chooseClientAlias
, chooseServerAlias
,
getClientAliases
, and getServerAliases
methods of X509KeyManager
specifies the public key
types. Each row of the table that follows lists the standard name
that should be used for keyType
, given the specified
certificate type.
| Name | Certificate Type |
|---|---|
| RSA | RSA |
| DSA | DSA |
| DH_RSA | Diffie-Hellman with RSA signature |
| DH_DSA | Diffie-Hellman with DSA signature |
| EC | Elliptic Curve |
| EC_EC | Elliptic Curve with ECDSA signature |
| EC_RSA | Elliptic Curve with RSA signature |
The protocols
parameter passed to the
setEnabledProtocols
method of SSLSocket
specifies the protocol versions to be enabled for use on the
connection. The table that follows lists the standard names that
can be passed to setEnabledProtocols
or that may be
returned by the SSLSocket getSupportedProtocols
and
getEnabledProtocols
methods.
| Name | Protocol |
|---|---|
| SSLv2 | SSL version 2 protocol |
| SSLv3 | SSL version 3 protocol |
| TLSv1 | TLS version 1.0 protocol (defined in RFC 2246) |
| TLSv1.1 | TLS version 1.1 protocol (defined in RFC 4346) |
| TLSv1.2 | TLS version 1.2 protocol (defined in RFC 5246) |
| SSLv2Hello | Currently, the SSLv3, TLSv1, and TLSv1.1 protocols allow you to
send SSLv3, TLSv1, and TLSv1.1 hellos encapsulated in an SSLv2
format hello. For more details on the reasons for allowing this
compatibility in these protocols, see Appendix E in the appropriate
RFCs (previously listed). Note that some SSL/TLS servers do not support the v2 hello format and require that client hellos conform to the SSLv3 or TLSv1 client hello formats. The SSLv2Hello option controls the SSLv2 encapsulation. If SSLv2Hello is disabled on the client, then all outgoing messages will conform to the SSLv3/TLSv1 client hello format. If SSLv2Hello is disabled on the server, then all incoming messages must conform to the SSLv3/TLSv1 client hello format. |
The authType
parameter passed to the
checkClientTrusted
and checkServerTrusted
methods of X509TrustManager
indicates the
authentication type. The table that follows specifies what standard
names should be used for the client or server certificate
chains.
| Client or Server Certificate Chain | Authentication Type Standard Name |
|---|---|
| Client | Determined by the actual certificate used. For instance, if
RSAPublicKey is used, the authType should be
"RSA". |
| Server | The key exchange algorithm portion of the cipher suites
represented as a String, such as "RSA" or "DHE_DSS". Note: For some
exportable cipher suites, the key exchange algorithm is determined
at runtime during the handshake. For instance, for
TLS_RSA_EXPORT_WITH_RC4_40_MD5, the authType should be
"RSA_EXPORT" when an ephemeral RSA key is used for the key
exchange, and "RSA" when the key from the server certificate is
used. Or it can take the value "UNKNOWN". |
The Java SE 7 release supports endpoint identification
algorithms for TLS 1.2. The algorithm name can be passed to the
setEndpointIdentificationAlgorithm()
method of
javax.net.ssl.SSLParameters
. The following table shows
the currently recognized names.
| Endpoint Identification Algorithm Name |
Specification |
|---|---|
| HTTPS | http://www.ietf.org/rfc/rfc2818.txt |
| LDAPS | http://www.ietf.org/rfc/rfc2830.txt |
This section specifies details concerning some of the algorithms defined in this document. Any provider supplying an implementation of the listed algorithms must comply with the specifications in this section.
To add a new algorithm not specified here, you should first survey other people or companies supplying provider packages to see if they have already added that algorithm, and, if so, use the definitions they published, if available. Otherwise, you should create and make available a template, similar to those found in this section, with the specifications for the algorithm you provide.
The following table shows the fields of the algorithm specifications.
| Field | Description |
|---|---|
| Name | The name by which the algorithm is known. This is
the name passed to the getInstance method (when
requesting the algorithm), and returned by the
getAlgorithm method to determine the name of an
existing algorithm object. These methods are in the relevant engine
classes: Signature ,
MessageDigest ,
KeyPairGenerator , and
AlgorithmParameterGenerator
. |
| Type | The type of algorithm: Signature ,
MessageDigest , KeyPairGenerator , or
ParameterGenerator . |
| Description | General notes about the algorithm, including any standards implemented by the algorithm, applicable patents, and so on. |
KeyPair Algorithm
(optional) |
The keypair algorithm for this algorithm. |
| Keysize (optional) | For a keyed algorithm or key generation algorithm: the valid keysizes. |
|
Size (optional) |
For an algorithm parameter generation algorithm: the valid "sizes" for algorithm parameter generation. |
|
Parameter Defaults (optional) |
For a key generation algorithm: the default parameter values. |
|
|
For a Signature algorithm, the format
of the signature, that is, the input and output of the verify and
sign methods, respectively. |
| Field | Description | |
|---|---|---|
| Name | SHA-1 | |
| Type | MessageDigest |
|
| Description | The message digest algorithm as defined in NIST's FIPS 180-2. The output of this algorithm is a 160-bit digest. |
| Field | Description | |
|---|---|---|
| Name | MD2 | |
| Type | MessageDigest |
|
| Description | The message digest algorithm as defined in RFC 1319. The output of this algorithm is a 128-bit (16 byte) digest. |
| Field | Description | |
|---|---|---|
| Name | MD5 | |
| Type | MessageDigest |
|
| Description | The message digest algorithm as defined in RFC 1321. The output of this algorithm is a 128-bit (16 byte) digest. |
| Field | Description | |
|---|---|---|
| Name | SHA1withDSA | |
| Type | Signature |
|
| Description | This algorithm is the signature algorithm described in NIST FIPS 186, using DSA with the SHA-1 message digest algorithm. | |
KeyPair Algorithm |
DSA | |
| Signature Format | ASN.1 sequence of two INTEGER values:
r and s , in that order:SEQUENCE ::= { r INTEGER, s INTEGER } |
| Field | Description | |
|---|---|---|
| Names | MD2withRSA, MD5withRSA and SHA1withRSA | |
| Type | Signature |
|
| Description | These are the signature algorithms that use the MD2, MD5, and SHA-1 message digest algorithms (respectively) with RSA encryption. | |
KeyPair Algorithm |
RSA | |
| Signature Format | DER-encoded PKCS1 block as defined in RSA Laboratories, PKCS #1. The data encrypted is the digest of the data signed. |
| Field | Description | |
|---|---|---|
| Name | DSA | |
| Type | KeyPairGenerator |
|
| Description | This algorithm is the key pair generation algorithm described NIST FIPS 186 for DSA. | |
| Keysize | The length, in bits, of the modulus
p . This must range from 512 to 1024, and must be a
multiple of 64. The default keysize is 1024. |
|
| Parameter Defaults |
The following default parameter values are used for keysizes of 512, 768, and 1024 bits: 512-bit Key ParametersSEED = b869c82b 35d70e1b 1ff91b28 e37a62ec dc34409b counter = 123 p = fca682ce 8e12caba 26efccf7 110e526d b078b05e decbcd1e b4a208f3 ae1617ae 01f35b91 a47e6df6 3413c5e1 2ed0899b cd132acd 50d99151 bdc43ee7 37592e17 q = 962eddcc 369cba8e bb260ee6 b6a126d9 346e38c5 g = 678471b2 7a9cf44e e91a49c5 147db1a9 aaf244f0 5a434d64 86931d2d 14271b9e 35030b71 fd73da17 9069b32e 2935630e 1c206235 4d0da20a 6c416e50 be794ca4 768-bit key parametersSEED = 77d0f8c4 dad15eb8 c4f2f8d6 726cefd9 6d5bb399 counter = 263 p = e9e64259 9d355f37 c97ffd35 67120b8e 25c9cd43 e927b3a9 670fbec5 d8901419 22d2c3b3 ad248009 3799869d 1e846aab 49fab0ad 26d2ce6a 22219d47 0bce7d77 7d4a21fb e9c270b5 7f607002 f3cef839 3694cf45 ee3688c1 1a8c56ab 127a3daf q = 9cdbd84c 9f1ac2f3 8d0f80f4 2ab952e7 338bf511 g = 30470ad5 a005fb14 ce2d9dcd 87e38bc7 d1b1c5fa cbaecbe9 5f190aa7 a31d23c4 dbbcbe06 17454440 1a5b2c02 0965d8c2 bd2171d3 66844577 1f74ba08 4d2029d8 3c1c1585 47f3a9f1 a2715be2 3d51ae4d 3e5a1f6a 7064f316 933a346d 3f529252 1024-bit key parametersSEED = 8d515589 4229d5e6 89ee01e6 018a237e 2cae64cd counter = 92 p = fd7f5381 1d751229 52df4a9c 2eece4e7 f611b752 3cef4400 c31e3f80 b6512669 455d4022 51fb593d 8d58fabf c5f5ba30 f6cb9b55 6cd7813b 801d346f f26660b7 6b9950a5 a49f9fe8 047b1022 c24fbba9 d7feb7c6 1bf83b57 e7c6a8a6 150f04fb 83f6d3c5 1ec30235 54135a16 9132f675 f3ae2b61 d72aeff2 2203199d d14801c7 q = 9760508f 15230bcc b292b982 a2eb840b f0581cf5 g = f7e1a085 d69b3dde cbbcab5c 36b857b9 7994afbb fa3aea82 f9574c0b 3d078267 5159578e bad4594f e6710710 8180b449 167123e8 4c281613 b7cf0932 8cc8a6e1 3c167a8b 547c8d28 e0a3ae1e 2bb3a675 916ea37f 0bfa2135 62f1fb62 7a01243b cca4f1be a8519089 a883dfe1 5ae59f06 928b665e 807b5525 64014c3b fecf492a |
| Field | Description | |
|---|---|---|
| Names | RSA | |
| Type | KeyPairGenerator |
|
| Description | This algorithm is the key pair generation algorithm described in PKCS #1. | |
| Strength | Any integer that is a multiple of 8, greater than or equal to 512. |
| Field | Description | |
|---|---|---|
| Names | DSA | |
| Type | ParameterGenerator |
|
| Description | This algorithm is the parameter generation algorithm described in NIST FIPS 186 for DSA. | |
| Strength | The length, in bits, of the modulus p .
This must range from 512 to 1024, and must be a multiple of 64. The
default size is 1024. |
This section defines the security algorithm requirements for Java SE 7 implementations. These requirements are intended to improve the interoperability of Java SE 7 implementations and applications that use these algorithms.
Note that the requirements in this section are not a measure of the strength or security of the algorithm. For example, recent advances in cryptanalysis have found weaknesses in the strength of the MD5 MessageDigest algorithm. It is your responsibility to determine whether the algorithm meets the security requirements of your application.
Every implementation of the Java SE 7 platform must support the specified algorithms in the table that follows. These requirements do not apply to 3rd party providers. Consult the release documentation for your implementation to see if any other algorithms are supported.
| Class | Algorithm Name(s) |
|---|---|
AlgorithmParameterGenerator Implementations must support the key sizes in parentheses. |
DiffieHellman (1024) DSA (1024) |
AlgorithmParameters |
AES DES DESede DiffieHellman DSA |
CertificateFactory |
X.509 |
CertPath Encodings |
PKCS7 PkiPath |
CertPathBuilder |
PKIX |
CertPathValidator |
PKIX |
CertStore |
Collection |
Cipher The algorithms are specified as transformations. Implementations must support the key sizes in parentheses. |
AES/CBC/NoPadding (128) AES/CBC/PKCS5Padding (128) AES/ECB/NoPadding (128) AES/ECB/PKCS5Padding (128) DES/CBC/NoPadding (56) DES/CBC/PKCS5Padding (56) DES/ECB/NoPadding (56) DES/ECB/PKCS5Padding (56) DESede/CBC/NoPadding (168) DESede/CBC/PKCS5Padding (168) DESede/ECB/NoPadding (168) DESede/ECB/PKCS5Padding (168) RSA/ECB/PKCS1Padding (1024, 2048) RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024, 2048) RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024, 2048) |
Configuration [1] |
|
KeyAgreement |
DiffieHellman |
KeyFactory |
DiffieHellman DSA RSA |
KeyGenerator Implementations must support the key sizes in parentheses. |
AES (128) DES (56) DESede (168) HmacSHA1 HmacSHA256 |
KeyPairGenerator Implementations must support the key sizes in parentheses. |
DiffieHellman (1024) DSA (1024) RSA (1024, 2048) |
KeyStore |
PKCS12 |
Mac |
HmacMD5 HmacSHA1 HmacSHA256 |
MessageDigest |
MD5 SHA-1 SHA-256 |
Policy [1] |
|
SecretKeyFactory |
DES DESede |
SecureRandom [1] |
|
Signature |
SHA1withDSA SHA1withRSA SHA256withRSA |
SSLContext |
TLSv1 [2] |
[1] No specific Configuration
type, Policy
type or SecureRandom
algorithm is required; however, an implementation-specific default
must be provided.
[2] A TLSv1 implementation must support the cipher suite SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA as defined in RFC 2246 and the special signaling cipher suite TLS_EMPTY_RENEGOTIATION_INFO_SCSV for safe renegotiation as defined in RFC 5746.
Every implementation of the Java SE 7 platform must support the specified XML Signature algorithms in the table that follows. These requirements do not apply to 3rd party providers. Consult the release documentation for your implementation to see if any other algorithms are supported.
| Class | Algorithm Name(s) |
|---|---|
TransformService |
http://www.w3.org/2001/10/xml-exc-c14n#
(CanonicalizationMethod.EXCLUSIVE )http://www.w3.org/TR/2001/REC-xml-c14n-20010315 ( CanonicalizationMethod.INCLUSIVE )http://www.w3.org/2000/09/xmldsig#base64 ( Transform.BASE64 )http://www.w3.org/2000/09/xmldsig#enveloped-signature ( Transform.ENVELOPED ) |
XMLSignatureFactory |
DOM |


Hello, world!
here's some more text added in atom. here's a link
this text was added in vi, and pushed via the command line
and now here's something more from Atom
here's today's change


Editorial cartoons for Monday, Dec. 9 09 Dec 2019, 09:30 A sketchy look at the day in politics. Gallery


Sorry, we don't yet support build analyzer for this type of build.
Currently we support apps which build with
@angular-devkit/build-angular:browser
Click the run button to start building your application. When the build
completes you can analyze your bundle here.
Click the Run button to start.


Please enter the following information: First Name: Last Name: Email: Your Location: Canada Mexico United States United Kingdom France Germany Language: English French Spanish German Russian Comments:


Note that Fields Marked * are Required.
{{ 2500 - reqtemp.custome_requirement.requirement.length + " Chars left" }}


Section 3 Extraction
3.1 Web Scraping
Web scraping is the process of fetching and extracting information or data from a webpage. It is very useful if you want to create a dynamic database that updates itself based on the content of a specific website without having to return and manually update the data repeatedly.
To scrape a webpage, we first need to know how to get to the webpage. It can be helpful to retrieve a url that you can use to directly access the content. For example, to obtain the Google search results for “data science”, you can copy and paste this url to your browser: https://www.google.com/search?q=data+science . Using this url allows you to access results without having to type “data science” on a Google search web page. While this example is rather trivial, website scraping is a critical tool for more complicated or extensive data pages. Some websites like Twitter or Facebook will require to you to use an API for authentification in order to access their data. API stands for Application Programming Interface. It is a computing interface which connects interactions between intermediaries and gives the user a set of conventions to follow for the extraction process.
For this example, we are going to use The Weather Channel’s website, which does not require authentification. We will extract the 10-day forecast for a specific location and store the data in a dataframe in R for later usage.
After inspecting the website and its url, you will notice that you can view the weather data by zip code using this url pattern:
https://weather.com/weather/
+ forecast type
+ /l/
+ zip_code
+ :4:US
If we want to view the 10-day forecast for New Haven, we can go to: https://weather.com/weather/tenday/l/06511:4:US.
And if we want to access data for today’s forecast: https://weather.com/weather/today/l/06511:4:US
Once we have the webpage url, we can read it into R and extract the data using rvest
from the tidyverse
collection. We will use the same process of loading from library to get this working. If you are confused by what was just said or if this is not working for you, return to the previous chapter on reading in documents to acquaint yourself with package loading in R.
The New Haven 10-day forecast webpage looks like this:
What we want now is a table that has comprehensive coverage of the weather information for our selected criteria and time window. In order to extract these values, we have to know where in the source code they are located. For example, in the “DAY” column, we want to extract the exact date
instead of the days of the week
. And we can do that by:
- Inspecting the tag or class of exact date from the website.
- Moving the cursor to the exact date, right-clicking, then choosing
Inspect
When a window opens, it will point directly to the location of the exact date
in the source code. Take notes of the css (tag or class name) and use it to get the exact date
value using the html_nodes()
function. Since this is complicated, we highly recommend following along with this example before trying to apply these steps to your own procedure. Look at the below image to understand what we mean:
Here is how we extract the dates:
## Loading required package: xml2
# Get the webpage url and store it for access
url = 'https://weather.com/weather/tenday/l/06511:4:US'
# Load the webpage using the url
webpage <- read_html(url)
# Getting the exact date #######################################################
# Filtering the relevant css / location
# This line comes from our inspection of the webpage as described above
date_locations <- html_nodes(webpage, "span.day-detail.clearfix")
# Extracting the exact value
raw_date <- html_text(date_locations)
print(raw_date)
## character(0)
# Because the value are formatted like "NOV 21" we have to convert to a date format
exact_date <- as.Date(raw_date, format="%b %d") # b = month, d = day
print(exact_date)
## Date of length 0
You will see in the code above that we used a function called as.Date() and gave an argument ‘format= "%b %d’ to it. This means we want to reformat the date to have month listed first, and day listed second.
Here is the full code that extracts the complete table:
library(rvest)
# Get the webpage url
url = 'https://weather.com/weather/tenday/l/06511:4:US'
# Load the webpage using the url
webpage <- read_html(url)
# Getting the exact date #######################################################
# Filtering the relevant css / location
date_locations <- html_nodes(webpage, "span.day-detail.clearfix")
# Extracting the exact value
raw_date <- html_text(date_locations)
# Because the value are formatted like "Nov 21" we have to convert to a date format
exact_date <- as.Date(raw_date, format="%b %d") # b = month, d = day
# Getting the weather description
desc_loc <- html_nodes(webpage, "td.description")
desc <- html_text(desc_loc)
# Getting the temperature
temp_loc <- html_nodes(webpage, "td.temp")
temp <- html_text(temp_loc)
# High and Low temperature values
high_temp <- rep(NA, length(temp))
low_temp <- rep(NA, length(temp))
for (i in 1:length(temp)){
all <- unlist(strsplit(temp[i], "°"))
if (length(all) > 1){
high_temp[i] <- all[1]
low_temp[i] <- all[2]
} else {
low_temp[i] <- 38
}
}
# Getting the precipitation
precip_loc <- html_nodes(webpage, "td.precip")
precip <- as.numeric(sub("%", "", html_text(precip_loc))) / 100
# Getting the wind
wind_loc <- html_nodes(webpage, "td.wind")
wind <- html_text(wind_loc)
# Wind direction and speed
wind_dir <- rep(NA, length(wind))
wind_speed <- rep(NA, length(wind))
for (i in 1:length(wind)){
all <- unlist(strsplit(wind[i], " "))
wind_dir[i] <- all[1]
wind_speed[i] <- all[2]
}
# Getting the humidity
humidity_loc <- html_nodes(webpage, "td.humidity")
humidity <- as.numeric(sub("%", "", html_text(humidity_loc))) / 100
# Save the data in tibble
library(tibble)
new_haven_forecast <- tibble('day' = exact_date, 'description' = desc,
'high_temp' = high_temp, 'low_temp' = low_temp,
'precip' = precip, 'wind_dir' = wind_dir,
'wind_speed' = wind_speed, 'himidity' = humidity)
new_haven_forecast
## # A tibble: 0 x 8
## # … with 8 variables: day <date>, description <chr>, high_temp <lgl>,
## # low_temp <dbl>, precip <dbl>, wind_dir <chr>, wind_speed <chr>,
## # himidity <dbl>
This can take some trial and error, so do not be dissuaded if your first attempt at extraction does not work out exactly as you had anticipated. Sometimes the computer will read in the lines that you want, but not in the format that you need them in, at which point you’ll need to directly manipulate the data. To learn some common ways of doing that, go to the next chapter on Structuring Data.


Epic Sues Another Fortnite Tester For Leaking Chapter 2
Watch out, leakers
by Liam DoolanEpic Games still hasn't recovered from the Fortnite Chapter 2 leak, as it continues to hunt down and sue every leaker it can.
Following on from a lawsuit Epic filed at a North Carolina court last month against a user experience tester who allegedly broke a non-disclosure agreement, it has now taken aim at a play tester within Montreal's Keywords Studios, by the name of Lucas Johnston.
According to The Canadian Press, a claim was filed against Johnston in the Quebec Superior Court, accusing him of publishing "highly confidential information" about Fortnite Chapter 2.
Johnston was supposedly caught on security camera footage taking a screenshot of the new playing environment and reportedly told the court he had emailed it to himself but did not know how it surfaced online.
This follows an internal investigation at Keywords Studios, which resulted in Johnston being sacked after it was discovered he was associated with the poster who leaked the image on the Fortnite Competitions' official forum.
Like the previous tester, Epic is now claiming Johnston spoilt the surprise of Chapter 2 and violated the non-disclosure agreement.
As a result, the video game giant is seeking unspecified damages exceeding $85k.
[via eurogamer.net]


These release notes cover new developer and user-facing incompatibilities, features, and major improvements.
SQL Standard authorization will disable the udfs reflect, reflect2 and java_method by automatically setting the udf blacklist config parameter (hive.server2.builtin.udf.blacklist). However, if HiveServer2 admin chooses to set the config param to a specific value, it will not be altered.
SimpleFetchOptimizer for limited fetches without filters
HIVE-9249: Vectorization: Join involving CHAR/VARCHAR fails during execution. (Matt McCline, reviewed by Gopal V)
Don't do compaction on the current delta if it has a file in bucket pattern but not compactable
Fixed in 1.0
Introduces a new hive-site.xml parameter : "hive.metastore.orm.retrieveMapNullsAsEmptyStrings" that defaults to false. For operation with oracle, or any other datastore that converts empty strings to nulls, users should set this to true.
If this parameter is set to true, ObjectStore will transform any null map values it finds in any of the parameters maps to "". If this parameter is set to false, ObjectStore will prune any map entry where the value is null.


Info
Error
Simple Car marketplace App where you can buy or sell used cars
Please login or register in order to buy or sell car (invoke a smart contract).
List of Cars for sale from sellers.
Filter your results here
Sellers:
SOLD
0
- Loading ...
Login
Username:
Password:
Register
Username:
Password:
Buyer/Seller:
List your car for sale
VIN:
Make:
Model:
Year:
Price: (in WEI)
Type:
Upload Car image:
List of cars you have purchased
- Loading ...


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.mit.csail.sdg.alloy4.OurTabbedSyntaxWidget
public final class OurTabbedSyntaxWidget
Graphical multi-tabbed syntax-highlighting editor.
Thread Safety: Can be called only by the AWT event thread.
Invariant: each tab has distinct file name.
| Field Summary | |
|---|---|
Listeners |
listeners
The current list of listeners; possible events are { STATUS_CHANGE, FOCUSED, CARET_MOVED }. |
| Constructor Summary | |
|---|---|
OurTabbedSyntaxWidget(java.lang.String fontName,
int fontSize,
int tabSize)
Constructs a tabbed editor pane. |
| Method Summary | |
|---|---|
void |
addTo(javax.swing.JComponent newParent,
java.lang.Object constraint)
Add this object into the given container. |
void |
clearShade()
Removes all highlights from every text buffer, then adjust the TAB LABEL COLOR if necessary. |
void |
close()
Close the current tab (then create a new empty tab if there were no tabs remaining) |
boolean |
closeAll()
Close every tab then create a new empty tab; returns true iff success. |
int |
count()
Returns the number of tabs. |
void |
enableSyntax(boolean flag)
Enables or disables syntax highlighting. |
OurSyntaxWidget |
get()
Returns the JTextArea of the current text buffer. |
java.util.List<java.lang.String> |
getFilenames()
Returns the list of filenames corresponding to each text buffer. |
boolean |
modified(int i)
True if the i-th text buffer has been modified since it was last loaded/saved |
boolean |
newtab(java.lang.String filename)
Create a new tab with the given filename (if filename==null, we'll create a blank tab instead) |
void |
next()
Switches to the next tab. |
void |
prev()
Switches to the previous tab. |
void |
reloadAll()
Refresh all tabs. |
java.lang.String |
save(boolean alwaysPickNewName)
Save the current tab content to the file system. |
void |
setFont(java.lang.String name,
int size,
int tabSize)
Changes the font name, font size, and tabsize of every text buffer. |
void |
shade(java.lang.Iterable<Pos> set,
java.awt.Color color,
boolean clearOldHighlightsFirst)
Highlights the text editor, based on the location information in the set of Pos objects. |
void |
shade(Pos pos)
Highlights the text editor, based on the location information in the Pos object. |
java.util.Map<java.lang.String,java.lang.String> |
takeSnapshot()
Return a modifiable map from each filename to its text content (Note: changes to the map does NOT affect this object) |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final Listeners listeners
| Constructor Detail |
|---|
public OurTabbedSyntaxWidget(java.lang.String fontName, int fontSize, int tabSize)
| Method Detail |
|---|
public void addTo(javax.swing.JComponent newParent, java.lang.Object constraint)
public void clearShade()
public void reloadAll()
public java.lang.String save(boolean alwaysPickNewName)
alwaysPickNewName
- - if true, it will always pop up a File Selection dialog box to ask for the filename
public void close()
public boolean closeAll()
public int count()
public java.util.Map<java.lang.String,java.lang.String> takeSnapshot()
public java.util.List<java.lang.String> getFilenames()
public void setFont(java.lang.String name, int size, int tabSize)
public void enableSyntax(boolean flag)
public OurSyntaxWidget get()
public boolean modified(int i)
public void prev()
public void next()
public boolean newtab(java.lang.String filename)
If a text buffer with that filename already exists, we will just switch to it; else we'll read that file into a new tab.
public void shade(java.lang.Iterable<Pos> set, java.awt.Color color, boolean clearOldHighlightsFirst)
public void shade(Pos pos)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Biography
photo1
- Submitted by: Hawkeye
- Shutter Speed: 1/500 sec.
- Focal Length: 23 mm.
- F-Stop Number: F/8
photo2
- Submitted by: Gabbers
- Shutter Speed: 1/40 sec.
- Focal Length: 6 mm.
- F-Stop Number: F/3.5
photo3
- Submitted by: Puma12
- Shutter Speed: 1/400 sec.
- Focal Length: 25 mm.
- F-Stop Number: F/7


The Akan people of Ghana frequently name their children after the day of the week they were born and the order in which they were born. Most Ghanaians have at least one name from this system, even if they also have an English or Christian name.A good reference examples are like Ghana's first president Kwame Nkrumah. And the former United Nations Secretary-General Kofi Annan.


|
|
||||||
Data Fields | |
| TeleoInterface | t |
| TI_InterfaceType | interfaceType |
| the device type | |
| char * | name |
| the name of the device | |
| int | deviceHandle |
| the device handle | |
| bool | blocking |
| whether it's blocking or not | |
| termios | terminalSettings |
| linux data structure | |
| termios | terminalSettingsOld |
| linux data structure | |
| char * | name |
| the name of the device | |
| termios | terminalSettings |
| linux data structure | |
| termios | terminalSettingsOld |
| linux data structure | |
| char * | name |
| the name of the device | |
| HANDLE | deviceHandle |
| the device handle |
Definition at line 29 of file TeleoInterfaceLinux.c.
|
|
whether it's blocking or not
Definition at line 28 of file TeleoInterfaceWin32.c. Referenced by TI_blockingSet(), TI_Create(), TI_get(), and TI_open(). |
|
|
the device handle
Definition at line 26 of file TeleoInterfaceWin32.c. |
|
|
the device handle
Definition at line 45 of file TeleoInterfaceMacOSX.c. Referenced by TI_close(), TI_get(), TI_open(), and TI_put(). |
|
|
the device type
Definition at line 23 of file TeleoInterfaceWin32.c. Referenced by TI_Create(), and TI_typeGet(). |
|
|
the name of the device
Definition at line 24 of file TeleoInterfaceWin32.c. |
|
|
the name of the device
Definition at line 43 of file TeleoInterfaceMacOSX.c. |
|
|
the name of the device
Definition at line 34 of file TeleoInterfaceLinux.c. Referenced by TI_Create(), TI_destroy(), TI_nameGet(), and TI_open(). |
|
|
Definition at line 21 of file TeleoInterfaceWin32.c. |
|
|
linux data structure
Definition at line 50 of file TeleoInterfaceMacOSX.c. |
|
|
linux data structure
Definition at line 41 of file TeleoInterfaceLinux.c. Referenced by TI_open(). |
|
|
linux data structure
Definition at line 51 of file TeleoInterfaceMacOSX.c. |
|
|
linux data structure
Definition at line 42 of file TeleoInterfaceLinux.c. Referenced by TI_close(), and TI_open(). |
|
copyright © 2002, 2003 MakingThings LLC |


This video project was edited in adobe premiere. I split the rgb channels and offset them slightly to create the retro vhs look. The theme of the video covers the potential of college life to become reptitive and disorienting. The audio clips that repeat along with the video form a rythm as the video progresses. I drew inspiration from retro VHS tapes for the aesthetic and my own college experience for the concept.


cin and cout (Basic Input Output in c++)
Mostly cin and cout are used for printing and taking data. These two are the most basic methods of taking input and printing output in C++. To use cin and cout in C++ one must include the header file iostream in the program. On most program environments, the standard output by default is the screen, and the C++ stream object defined to access it is cout.
How to use cout
For formatted output operations, cout is used together with the insertion operator, which is written as << (i.e., two "less than" signs).keywords are case sensitive in c++
cout << "hello world"; //print hello world
cout << name; //print the value stored in name
cout << 100; //print hello world
if the data is enclosed by " " it is considered as string literal.
In the above example
First line denotes that hello world is string literal and it is printed in console
Second line says that name is already declared and the value stored in it is displayed
Third line shows 100 in output as 100 is integer
Second line says that name is already declared and the value stored in it is displayed
Third line shows 100 in output as 100 is integer
how to use cin
For formatted input operations, cin is used together with the extraction operator, which is written as >> (i.e., two "greater than" signs). This operator is then followed by the variable where the extracted data is stored.
cin >> name;
cin >> x;
First line takes input and store it in name ( where name can be of any data type)
Second line takes input and store it in x
Second line takes input and store it in x


Latest update on Coronavirus(COVID-19)
Welcome to Corona-virus-tracker page, now the world deal with a new pandemic which is Covonavirus. The virus itself is not only destroy our daily activities, but It's also hit hard on global economy by the rapid speading all around the world
Join with us to support the community by helping local business, share your thought, pray with us or donate to help people who is suffer by the pandemic.


1.0.0
Change listener functions
Type: Array
Compare two objects
boolean
:
Is the objects equal
Fetch the current central schedule from cloudantReady
Array
:
Central Schedule
Register schedule change listener functions
(Function)
Listener callback function
Add job to central schedule
(Object)
Search for documents matchin given query
Promise<Object>
:
Get all sources with indexed articles
Array<Object>
:
Check urls if they are already indexed
(Arrray<string>)
Promise<Array<string>>
:
Count number of indexed urls
number
:
Get all the hosts indexed
Promise<Array>
:
Get all sources for webscraper
Promise<Array>
:
Update a host
(Object)
Promise<Error?>
:
Get all urls from a news source
Array<string>
:
Get the words for the wordcloud
Array<Object>
:
Cloud Foundry enviroment
Type: Object
Service parameters for cloudant, NLU, NewsAPI
Type: Object
Credentials for NLU
Type: Object
NLU instance
Type: NLU
Load exclude and analyze provided data
Is cloudant connected
Type: Boolean
Cloudant conntection instance
Type: Cloudant
NewsAPI instance
Type: NP
Get the current cloudant instance
(boolean)
Cloudant
:
Cloudant instance if initialized
Check if user is whitelisted
(Object)
boolean
:
Clone the provided object
(Object)
Object
:
Get value from object pattern
any
:
Scheduler
Update interval for flushing and printing
Type: Number
Central schedule
Type: Array
Currently running jobs
Type: Array
IDs for removal from central schedule
Type: Array
Self invoked jobs
Type: Array
Stopped jobs for local running
Type: Array
Output toggle
Type: Object
(number)
Number of milliseconds
string
:
Wrapper for standard js timeout
Ends execution
(Object)
number
:
ms to item run
(Object)
Function
:
execute run and callback
Run every interval for updating arrays
(boolean)
if it is an extra run
Process cmd input
(Buffer)
Start the scheduler and cmd tool
(Function)
Express application
Type: express-server
The server object for export to test suite
Type: HTTPServer
Scrape the provided URLs
Exclude types
Type: Array
Get the exclude types from database
(Function)
Analyze provided URL data
Host index
Type: Object
Load index from databse
(Function)
Scrape the givven url (path)


var id = dataFromServerTemplate.id; var dose = dataFromServerTemplate.dose; var url = dataFromServerTemplate.url; ?>
Complete Your Consent Form for the COVID Vaccine
To complete the consent for for your appointment,
use this link
. This must be completed before you may receive the vaccine.
ID: =id?>
} else {?> ID: =id?> }?>
If you have any futher questions, please email
=HELP_EMAIL?>
or call
=HELP_PHONE_NUMBER?>


×
Close
Are sure you want quit ?
Shutdown
Suspend
Restart
Quit
Xdmcp
This is an error!
This is an timed!
Password
OK


Dodgy Brakes Car Rental
Toll Free:<PHONE_NUMBER>2
Monday – Friday 8:00am – 5:00pm
Now is:
Enter the client Last name
Car Rental Form
Compact $15/day
Mid-size $20/day
Luxury $15/day
Van/Truck $15/day
Roof Rack or Bicycle Rack
extra $5/day
GPS
extra $10
Child Seat
free
Rent Period
(between 1 and 30):
Calculate Price
Order Information
will be shown below


Bowling Scorecard
Frame number:
Roll number:
Frame score:
Total score:
Please enter the number of pins knocked down:


Gaebrielle has two siblings. Her sister's name is Brynn and her brother's name is Alec.
Brynn attends the Univeristy of Southern California, but Alec is still in high school.
O O /\ /\ | | | |Learn about Gaebrielle's:
Early Life Interests Favorite Music Favorite Movies Favorite Art Favorite Foods Current Life Cool Talent
or Return to the Homepage


Trim Factor Trim fields to this long divided by # of rows
Add Hyperlink Column Add a column that will contain hyperlinks to access another resources such as URLs.
Link Column Header
Display Links as Icons
Column for Links
Display Images Display images in column(s) that contain URLs to images.
Image Field(s) Comma separated list of fields that contain image URL.
Image Width For examples: auto, 85px, or 50%
Image Height For examples: auto, 85px, or 50%
Enable Couchbase Lookup Look up a field value from Couchbase. You have to specify which Couchbase bucket, document, and view to be used for the lookup.


helib::ThinRecryptData Class Reference
Same as above, but for "thin" bootstrapping, where the slots are assumed to contain constants. More...
#include <recryption.h>
Inheritance diagram for helib::ThinRecryptData:
Public Member Functions | |
| void | init (const Context &context, const NTL::Vec< long > &mvec_, bool alsoThick, long t=0, bool build_cache=false, bool minimal=false) |
| Initialize the recryption data in the context. More... | |
| Public Member Functions inherited from helib::RecryptData | |
| RecryptData () | |
| void | init (const Context &context, const NTL::Vec< long > &mvec_, bool enableThick, long t=0, bool build_cache=false, bool minimal=false) |
| Initialize the recryption data in the context. More... | |
| bool | operator== (const RecryptData &other) const |
| bool | operator!= (const RecryptData &other) const |
Public Attributes | |
| std::shared_ptr< const ThinEvalMap > | coeffToSlot |
| linear maps More... | |
| std::shared_ptr< const ThinEvalMap > | slotToCoeff |
| Public Attributes inherited from helib::RecryptData | |
| NTL::Vec< long > | mvec |
| Some data members that are only used for I/O. More... | |
| long | e |
| partition of m into co-prime factors More... | |
| long | ePrime |
| long | skHwt |
| Hamming weight of recryption secret key. More... | |
| std::shared_ptr< const PAlgebraMod > | alMod |
| for plaintext space p^{e-e'+r} More... | |
| std::shared_ptr< const EncryptedArray > | ea |
| for plaintext space p^{e-e'+r} More... | |
| bool | build_cache |
| std::shared_ptr< const EvalMap > | firstMap |
| linear maps More... | |
| std::shared_ptr< const EvalMap > | secondMap |
| std::shared_ptr< const PowerfulDCRT > | p2dConv |
| conversion between ZZX and Powerful More... | |
| std::vector< NTL::ZZX > | unpackSlotEncoding |
| linPolys for unpacking the slots More... | |
Additional Inherited Members | |
| Static Public Member Functions inherited from helib::RecryptData | |
| static long | setAE (long &e, long &ePrime, const Context &context, long t=0) |
| Helper function for computing the recryption parameters. More... | |
| Static Public Attributes inherited from helib::RecryptData | |
| static constexpr long | defSkHwt = 100 |
| default Hamming weight of recryption key More... | |
Detailed Description
Same as above, but for "thin" bootstrapping, where the slots are assumed to contain constants.
Member Function Documentation
◆ init()
| void helib::ThinRecryptData::init | ( | const Context & | context, |
| const NTL::Vec< long > & | mvec_, | ||
| bool | alsoThick, | ||
| long | t = 0 , |
||
| bool | build_cache = false , |
||
| bool | minimal = false |
||
| ) |
Initialize the recryption data in the context.
Member Data Documentation
◆ coeffToSlot
| std::shared_ptr<const ThinEvalMap> helib::ThinRecryptData::coeffToSlot |
linear maps
◆ slotToCoeff
| std::shared_ptr<const ThinEvalMap> helib::ThinRecryptData::slotToCoeff |
The documentation for this class was generated from the following files:
- /HElib/include/helib/recryption.h
- /HElib/src/recryption.cpp


Habitat
The natural habitat of the Ivysaur is the plains, always open to sunlight and with access to water. But they can also be found in the forests and in the jungle. This is a rare species, as many have already been caught. Mostly found in Kanto. When its flower is about to bloom, a strong, sweet smell appears. In preparation for evolution, the Ivysaur lies in the sun. Thanks to the plant, Ivysaur can photosynthesize.


| com.google.android.youtube.player.YouTubeThumbnailLoader |
A YouTubeThumbnailLoader
provides methods for loading YouTube thumbnails into a
YouTubeThumbnailView
. Get an instance of this class by calling
initialize
on a YouTubeThumbnailView
.
Video and playlist IDs required by setVideo(String)
and setPlaylist(String)
methods are provided by the YouTube Data API. To learn more about this API, visit https://developers.google.com/youtube/v3/.
Note that you must call release()
when you are finished
with the YouTubeThumbnailLoader
.
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| YouTubeThumbnailLoader.ErrorReason | Describes the reasons for an error in a YouTubeThumbnailView . |
||||||||||
| YouTubeThumbnailLoader.OnThumbnailLoadedListener | Interface definition for a listener that is invoked when a thumbnail has been loaded. |
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Show the thumbnail of the first video in the playlist.
| |||||||||||
Determines whether the currently loaded playlist has a next video.
| |||||||||||
Determines whether the currently loaded playlist has a previous video.
| |||||||||||
Show the thumbnail of the next video in the playlist.
| |||||||||||
Show the thumbnail of the previous video in the playlist.
| |||||||||||
Releases system resources used by this
YouTubeThumbnailLoader . | |||||||||||
Set a
YouTubeThumbnailLoader.OnThumbnailLoadedListener which is invoked whenever a new
thumbnail has finished loading and has been displayed in this YouTube thumbnail view. | |||||||||||
Set this view to show thumbnail images for the given YouTube playlist ID, initially showing
the thumbnail for the video at the index specified in the
skipTo parameter. | |||||||||||
Set this view to show thumbnail images for the given YouTube playlist ID, initially showing
the thumbnail for the first video in the playlist.
| |||||||||||
Set this view to show the thumbnail image for the given YouTube video ID.
|
Show the thumbnail of the first video in the playlist.
Determines whether the currently loaded playlist has a next video.
true
if there is a next video in the playlist; otherwise returns false
.
Determines whether the currently loaded playlist has a previous video.
true
if there is a previous video in the playlist; otherwise returns
false
.
Show the thumbnail of the next video in the playlist.
Note that a second call to next()
or previous()
, before the first call
has finished (as indicated by
onThumbnailLoaded(YouTubeThumbnailView, String)
), might be
ignored.
| NoSuchElementException | This exception is thrown if the method is called at the end of the playlist. |
|---|
Show the thumbnail of the previous video in the playlist.
Note that a second call to next()
or previous()
, before the first call
has finished (as indicated by
onThumbnailLoaded(YouTubeThumbnailView, String)
), might be
ignored.
| NoSuchElementException | This exception is thrown if the method is called at the start of the playlist. |
|---|
Releases system resources used by this YouTubeThumbnailLoader
.
Note that after calling this method any further interaction with this
YouTubeThumbnailLoader
is forbidden. A new instance must be created to load thumbnails
into a YouTubeThumbnailView
.
Set a YouTubeThumbnailLoader.OnThumbnailLoadedListener
which is invoked whenever a new
thumbnail has finished loading and has been displayed in this YouTube thumbnail view.
| listener | The listener to register. |
|---|
Set this view to show thumbnail images for the given YouTube playlist ID, initially showing
the thumbnail for the video at the index specified in the skipTo
parameter.
| playlistId | The ID for the playlist to show thumbnail images from, as returned from the YouTube Data API. |
|---|---|
| skipTo | The video in the playlist to skip to. |
Set this view to show thumbnail images for the given YouTube playlist ID, initially showing the thumbnail for the first video in the playlist.
| playlistId | The ID of the playlist to show thumbnail images from, as returned from the YouTube Data API. |
|---|
Set this view to show the thumbnail image for the given YouTube video ID.
| videoId | The ID of the video for which the thumbnail image is being shown, as returned from the YouTube Data API. |
|---|


darken
Toggle darkmode
This is a demo for darken a javascript library that makes dark-mode easy, check it on
Github
or
NPM


Test Container Automation scripts can contain functions that
handle events generated by controls on the form.
Any VBScript Sub whose name is of the form controlname_eventname
will automatically handle the eventname event of
controlname control. This automatic association is
created when the script is loaded. This means that any controls for which the
script has event handlers must already exist on the form with the proper name
when the script is loaded.
The easiest way to do this is to place all of the desired controls on the form,
set each controlís name using the Extended page on its property sheet, and then
load the script that contains the event handlers. To avoid repeating these
steps, you can then save the session to a file. Loading a session loads all of
the controls on the form, and then loads all of the scripts that were saved in
that session.


safer-buffer
Modern Buffer API polyfill without footguns, working on Node.js from 0.8 to current.
How to use?
First, port all Buffer()
and new Buffer()
calls to Buffer.alloc()
and Buffer.from()
API.
Then, to achieve compatibility with outdated Node.js versions (<4.5.0
and 5.x <5.9.0
), use
const Buffer = require('safer-buffer').Buffer
in all files where you make calls to the new
Buffer API. Use var
instead of const
if you need that for your Node.js version range support.
Also, see the porting Buffer guide.
Do I need it?
Hopefully, not — dropping support for outdated Node.js versions should be fine nowdays, and that
is the recommended path forward. You do need to port to the Buffer.alloc()
and Buffer.from()
though.
See the porting guide for a better description.
Why not safe-buffer?
In short: while safe-buffer
serves as a polyfill for the new API, it allows old API usage and
itself contains footguns.
safe-buffer
could be used safely to get the new API while still keeping support for older
Node.js versions (like this module), but while analyzing ecosystem usage of the old Buffer API
I found out that safe-buffer
is itself causing problems in some cases.
For example, consider the following snippet:
$ cat example.unsafe.js
console.log(Buffer(20))
$ ./node-v6.13.0-linux-x64/bin/node example.unsafe.js
<Buffer 0a 00 00 00 00 00 00 00 28 13 de 02 00 00 00 00 05 00 00 00>
$ standard example.unsafe.js
standard: Use JavaScript Standard Style (https://standardjs.com)
/home/chalker/repo/safer-buffer/example.unsafe.js:2:13: 'Buffer()' was deprecated since v6. Use 'Buffer.alloc()' or 'Buffer.from()' (use 'https://www.npmjs.com/package/safe-buffer' for '<4.5.0') instead.
This is allocates and writes to console an uninitialized chunk of memory. standard linter (among others) catch that and warn people to avoid using unsafe API.
Let’s now throw in safe-buffer
!
$ cat example.safe-buffer.js
const Buffer = require('safe-buffer').Buffer
console.log(Buffer(20))
$ standard example.safe-buffer.js
$ ./node-v6.13.0-linux-x64/bin/node example.safe-buffer.js
<Buffer 08 00 00 00 00 00 00 00 28 58 01 82 fe 7f 00 00 00 00 00 00>
See the problem? Adding in safe-buffer
magically removes the lint warning, but the behavior
remains identiсal to what we had before, and when launched on Node.js 6.x LTS — this dumps out
chunks of uninitialized memory.
And this code will still emit runtime warnings on Node.js 10.x and above.
That was done by design. I first considered changing safe-buffer
, prohibiting old API usage or
emitting warnings on it, but that significantly diverges from safe-buffer
design. After some
discussion, it was decided to move my approach into a separate package, and this is that separate
package.
This footgun is not imaginary — I observed top-downloaded packages doing that kind of thing,
«fixing» the lint warning by blindly including safe-buffer
without any actual changes.
Also in some cases, even if the API was migrated to use of safe Buffer API — a random pull request can bring unsafe Buffer API usage back to the codebase by adding new calls — and that could go unnoticed even if you have a linter prohibiting that (becase of the reason stated above), and even pass CI. I also observed that being done in popular packages.
Some examples:
- webdriverio (a module with 548 759 downloads/month),
- websocket-stream (218 288 d/m, fix in maxogden/websocket-stream#142),
- node-serialport (113 138 d/m, fix in node-serialport/node-serialport#1510),
- karma (3 973 193 d/m, fix in karma-runner/karma#2947),
- spdy-transport (5 970 727 d/m, fix in spdy-http2/spdy-transport#53).
- And there are a lot more over the ecosystem.
I filed a PR at mysticatea/eslint-plugin-node#110 to partially fix that (for cases when that lint rule is used), but it is a semver-major change for linter rules and presets, so it would take significant time for that to reach actual setups. It also hasn’t been released yet (2018-03-20).
Also, safer-buffer
discourages the usage of .allocUnsafe()
, which is often done by a mistake.
It still supports it with an explicit concern barier, by placing it under
require('safer-buffer/dangereous')
.
But isn’t throwing bad?
Not really. It’s an error that could be noticed and fixed early, instead of causing havoc later like
unguarded new Buffer()
calls that end up receiving user input can do.
This package affects only the files where var Buffer = require('safer-buffer').Buffer
was done, so
it is really simple to keep track of things and make sure that you don’t mix old API usage with that.
Also, CI should hint anything that you might have missed.
New commits, if tested, won’t land new usage of unsafe Buffer API this way. Node.js 10.x also deals with that by printing a runtime depecation warning.
Would it affect third-party modules?
No, unless you explicitly do an awful thing like monkey-patching or overriding the built-in Buffer
.
Don’t do that.
But I don’t want throwing…
That is also fine!
Also, it could be better in some cases when you don’t comprehensive enough test coverage.
In that case — just don’t override Buffer
and use
var SaferBuffer = require('safer-buffer').Buffer
instead.
That way, everything using Buffer
natively would still work, but there would be two drawbacks:
Buffer.from
/Buffer.alloc
won’t be polyfilled — useSaferBuffer.from
andSaferBuffer.alloc
instead.- You are still open to accidentally using the insecure deprecated API — use a linter to catch that.
Note that using a linter to catch accidential Buffer
constructor usage in this case is strongly
recommended. Buffer
is not overriden in this usecase, so linters won’t get confused.
«Without footguns»?
Well, it is still possible to do some things with Buffer
API, e.g. accessing .buffer
property
on older versions and duping things from there. You shouldn’t do that in your code, probabably.
The intention is to remove the most significant footguns that affect lots of packages in the ecosystem, and to do it in the proper way.
Also, this package doesn’t protect against security issues affecting some Node.js versions, so for usage in your own production code, it is still recommended to update to a Node.js version supported by upstream.


Id: 174
Name: Jerry 5-126
Status: Alive
Species: Human
Type:
Gender: Male
OriginName: Earth (5-126)
OriginUrl: https://rickandmortyapi.com/api/location/17
LocationName: Jerryboree
LocationUrl: https://rickandmortyapi.com/api/location/44
Image: https://rickandmortyapi.com/api/character/avatar/174.jpeg
Episode: ['https://rickandmortyapi.com/api/episode/13']
Url: https://rickandmortyapi.com/api/character/174
Created: 2017-12-29T17:50:19.991Z


From the 'Bachelor SA' to 'Life with Kelly': 6 exciting announcements from Multichoice
Johannesburg – The Multichoice Group held its second annual media showcase in Sandton on Thursday, themed Africa's most-loved storyteller.
In her opening address Yolisa Phahle, MultiChoice Group CEO of General Entertainment said, "Local content is a key differentiator for us, and we intend to continue producing more of it for our various markets."
"Our latest set of half-year results showed a 12% increase year-on-year in the number of hours of local content production, and our local content library now exceeds 54 000 hours. We will continue to shift a greater percentage of spend towards local content," she added.
The pay-TV broadcaster also made some other exciting content announcements - here are the highlights.
MORE LOCAL DRAMA
Still Breathing a new relationship drama is currently in production and will air M-Net (DStv 101) in February 2020.
MORE LOCAL REALITY SHOWS
In the love department: The Bachelor season two will air in February 2020 on M-Net (DStv 101) with promises that there will be even more drama and an exciting new reality dating series Single Wives will be launching in June 2020 on M-Net (DStv 101).
1Magic (DStv 101) will give viewers a closer looking into the lives of two of South Africa's beloved celebrities. I am Khanyi featuring Khanyi Mabu and Life with Kelly featuring Kelly Khumalo will air in April 2020.
Everyone has been wondering what happened to The Real Housewives of Johannesburg mother-daughter pair Evodia and Mercy. Well, the ladies are getting their spin-off show on Mzansi Magic (DStv 161) titled, Madam and Mercy.
MORE INTERNATIONAL SERIES
On M-Net (DStv 101) 911: Lone Star starring Rob Lowe, Why Women Kill starring Lucy Liu, Noughts and Crosses with Bonnie Mbuli, and Prodigal Son starring Michael Sheen and Tom Payne.
On 1Magic (DStv 103): Mixed-ish the spin-off of Black-ish, LA's Finest the spin-off from the Bad Boys movie franchise starring Jessica Alba and Gabrielle Union, Kids Say the Darndest Things with Tiffany Haddish, and the sitcom Bob Hearts Abishola.
MORE POP-UP CHANNELS
Pop-up channels have become a firm favourite with M-Net viewers who can look forward to Blackout and Tom Cruise in 2020.
MORE SPORT
For the Olympics, SuperSport will be upping its game. For Tokyo 2020 the channel will broadcast every medal event live. There will be several channels on offer 24/7 with top experts and commentators on each sports discipline. Ad-hoc events will be broadcast on additional channels with two dedicated channels for Paralympic sports.
The 'Match in Africa' showdown will be the first to be played on the continent and will bring together two of the greatest players in tennis history-Federer and Nadal. SuperSport will produce the broadcast feed for the international audience and tennis fans who can't watch the game live, will be able to watch the iconic match from their couch.
MORE SHOWMAX
The company's video-on-demand service is launching a new product designed specifically for Africa featuring African content and live sport as well as TV series, movies and kids' shows.
Showmax's new mobile plan costs 50% (R49/ N1450 /KSh 375) of the standard Showmax package but still features 100% of the same video content.
The new plan is specifically aimed at consumers who only use smartphones and tablets to watch video content. Video resolution peaks at standard definition to help reduce data consumption, and as a product for the individual, one concurrent stream is included in the plan.
Compiled by Leandra Engelbrecht.


U.S. FAA head says will be tougher on the certification of the Boeing 777x
by ReutersDUBAI (Reuters) - The head of the U.S. Federal Aviation Administration (FAA) said the FAA will be tougher on the certification of the Boeing (N:BA) 777x, speaking at the Dubai Airshow on Wednesday.
FAA Administrator Steve Dickson also repeated the message that the FAA was not following any timeline for the return to service of the grounded 737 MAX model and said time pressure cannot influence the FAA's regulatory process.


To activate, click button "SHOW GRID" at bottom right of your screen
Legend
Containers are Blue
Columns are Red
Rows are Green


The Scream by Edvard Munch. Painted in 1893.
For 50 years, WWF has been protecting the future of nature. The world's leading conservation organization, WWF works in 100 countries and is supported by 1.2 million members in the United States and close to 5 millionglobally.
Paragraf albastru
Paragraf cu alt font
Paragraf mai mare
This is i10 and this is ipow 27. Cool, huh?
This text is emphasized.
This text is strongThe correct answer is not Washington
My favorite color is red.
H2O is the scientific term for water.
The WHO was founded in 1948.
What a beautiful day!This is some text in a div element.


The reverse geocoder matches political entities (countries, provinces, cities and neighborhoods), street addresses, and postal codes.
Here is a reference link with details and examples about Geocoding options, on
Google Maps JavaScrip API. There you can see the full list of addresses returned by the previous query.
Below, is the json returned, according to all formatted addresses found:
Click "Reverse Geocode" to see the json here.


Welcome to Travel Invasion - your alternative travel guide.
Are you going to travel and would like to read interesting articles about your destination? Are you bored with typical travel guides which only mention mainstream tourist attractions?
 You can think of it as a search engine for travel blogs which allows you to search by destination; directly on the map.  All we want is to give you an easier access to those resources.


MOVE AROUND YOUR MOUSE!
You can adjust the options by modifying lines 11 to 29 of the JavaScript code
Please note that upon resizing the page, it will have to reload


Guidance
Finger-block baseline designs for a 1,200 place 11 to 16 secondary school with a typical curriculum.
PDF , 746KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 802KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 706KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 411KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 2.69MB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 2.49MB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 418KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 361KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 2.08MB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
The design shown is a 2 or 3 storey building for 1,200 pupils aged 11 to 16. The school is devised as a ‘kit of parts’ based on the suites of spaces in the Schedule of Accommodation (SoA).
Such an approach allows:
Other key features of the design are: