📄 keyinfofactory.java
字号:
} /** * Returns the type of the XML processing mechanism and representation * supported by this <code>KeyInfoFactory</code> (ex: "DOM") * * @return the XML processing mechanism type supported by this * <code>KeyInfoFactory</code> */ public final String getMechanismType() { return mechanismType; } /** * Returns the provider of this <code>KeyInfoFactory</code>. * * @return the provider of this <code>KeyInfoFactory</code> */ public final Provider getProvider() { return provider; } /** * Creates a <code>KeyInfo</code> containing the specified list of * key information types. * * @param content a list of one or more {@link XMLStructure}s representing * key information types. The list is defensively copied to protect * against subsequent modification. * @return a <code>KeyInfo</code> * @throws NullPointerException if <code>content</code> is <code>null</code> * @throws IllegalArgumentException if <code>content</code> is empty * @throws ClassCastException if <code>content</code> contains any entries * that are not of type {@link XMLStructure} */ public abstract KeyInfo newKeyInfo(List content); /** * Creates a <code>KeyInfo</code> containing the specified list of key * information types and optional id. The * <code>id</code> parameter represents the value of an XML * <code>ID</code> attribute and is useful for referencing * the <code>KeyInfo</code> from other XML structures. * * @param content a list of one or more {@link XMLStructure}s representing * key information types. The list is defensively copied to protect * against subsequent modification. * @param id the value of an XML <code>ID</code> (may be <code>null</code>) * @return a <code>KeyInfo</code> * @throws NullPointerException if <code>content</code> is <code>null</code> * @throws IllegalArgumentException if <code>content</code> is empty * @throws ClassCastException if <code>content</code> contains any entries * that are not of type {@link XMLStructure} */ public abstract KeyInfo newKeyInfo(List content, String id); /** * Creates a <code>KeyName</code> from the specified name. * * @param name the name that identifies the key * @return a <code>KeyName</code> * @throws NullPointerException if <code>name</code> is <code>null</code> */ public abstract KeyName newKeyName(String name); /** * Creates a <code>KeyValue</code> from the specified public key. * * @param key the public key * @return a <code>KeyValue</code> * @throws KeyException if the <code>key</code>'s algorithm is not * recognized or supported by this <code>KeyInfoFactory</code> * @throws NullPointerException if <code>key</code> is <code>null</code> */ public abstract KeyValue newKeyValue(PublicKey key) throws KeyException; /** * Creates a <code>PGPData</code> from the specified PGP public key * identifier. * * @param keyId a PGP public key identifier as defined in <a href= * "http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>, section 11.2. * The array is cloned to protect against subsequent modification. * @return a <code>PGPData</code> * @throws NullPointerException if <code>keyId</code> is <code>null</code> * @throws IllegalArgumentException if the key id is not in the correct * format */ public abstract PGPData newPGPData(byte[] keyId); /** * Creates a <code>PGPData</code> from the specified PGP public key * identifier, and optional key material packet and list of external * elements. * * @param keyId a PGP public key identifier as defined in <a href= * "http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>, section 11.2. * The array is cloned to protect against subsequent modification. * @param keyPacket a PGP key material packet as defined in <a href= * "http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>, section 5.5. * The array is cloned to protect against subsequent modification. May * be <code>null</code>. * @param other a list of {@link XMLStructure}s representing elements from * an external namespace. The list is defensively copied to protect * against subsequent modification. May be <code>null</code> or empty. * @return a <code>PGPData</code> * @throws NullPointerException if <code>keyId</code> is <code>null</code> * @throws IllegalArgumentException if the <code>keyId</code> or * <code>keyPacket</code> is not in the correct format. For * <code>keyPacket</code>, the format of the packet header is * checked and the tag is verified that it is of type key material. The * contents and format of the packet body are not checked. * @throws ClassCastException if <code>other</code> contains any * entries that are not of type {@link XMLStructure} */ public abstract PGPData newPGPData(byte[] keyId, byte[] keyPacket, List other); /** * Creates a <code>PGPData</code> from the specified PGP key material * packet and optional list of external elements. * * @param keyPacket a PGP key material packet as defined in <a href= * "http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>, section 5.5. * The array is cloned to protect against subsequent modification. * @param other a list of {@link XMLStructure}s representing elements from * an external namespace. The list is defensively copied to protect * against subsequent modification. May be <code>null</code> or empty. * @return a <code>PGPData</code> * @throws NullPointerException if <code>keyPacket</code> is * <code>null</code> * @throws IllegalArgumentException if <code>keyPacket</code> is not in the * correct format. For <code>keyPacket</code>, the format of the packet * header is checked and the tag is verified that it is of type key * material. The contents and format of the packet body are not checked. * @throws ClassCastException if <code>other</code> contains any * entries that are not of type {@link XMLStructure} */ public abstract PGPData newPGPData(byte[] keyPacket, List other); /** * Creates a <code>RetrievalMethod</code> from the specified URI. * * @param uri the URI that identifies the <code>KeyInfo</code> information * to be retrieved * @return a <code>RetrievalMethod</code> * @throws NullPointerException if <code>uri</code> is <code>null</code> * @throws IllegalArgumentException if <code>uri</code> is not RFC 2396 * compliant */ public abstract RetrievalMethod newRetrievalMethod(String uri); /** * Creates a <code>RetrievalMethod</code> from the specified parameters. * * @param uri the URI that identifies the <code>KeyInfo</code> information * to be retrieved * @param type a URI that identifies the type of <code>KeyInfo</code> * information to be retrieved (may be <code>null</code>) * @param transforms a list of {@link Transform}s. The list is defensively * copied to protect against subsequent modification. May be * <code>null</code> or empty. * @return a <code>RetrievalMethod</code> * @throws NullPointerException if <code>uri</code> is <code>null</code> * @throws IllegalArgumentException if <code>uri</code> is not RFC 2396 * compliant * @throws ClassCastException if <code>transforms</code> contains any * entries that are not of type {@link Transform} */ public abstract RetrievalMethod newRetrievalMethod(String uri, String type, List transforms); /** * Creates a <code>X509Data</code> containing the specified list of * X.509 content. * * @param content a list of one or more X.509 content types. Valid types are * {@link String} (subject names), <code>byte[]</code> (subject key ids), * {@link java.security.cert.X509Certificate}, {@link X509CRL}, * or {@link XMLStructure} ({@link X509IssuerSerial} * objects or elements from an external namespace). Subject names are * distinguished names in RFC 2253 String format. Implementations MUST * support the attribute type keywords defined in RFC 2253 (CN, L, ST, * O, OU, C, STREET, DC and UID). Implementations MAY support additional * keywords. The list is defensively copied to protect against * subsequent modification. * @return a <code>X509Data</code> * @throws NullPointerException if <code>content</code> is <code>null</code> * @throws IllegalArgumentException if <code>content</code> is empty, or * if a subject name is not RFC 2253 compliant or one of the attribute * type keywords is not recognized. * @throws ClassCastException if <code>content</code> contains any entries * that are not of one of the valid types mentioned above */ public abstract X509Data newX509Data(List content); /** * Creates an <code>X509IssuerSerial</code> from the specified X.500 issuer * distinguished name and serial number. * * @param issuerName the issuer's distinguished name in RFC 2253 String * format. Implementations MUST support the attribute type keywords * defined in RFC 2253 (CN, L, ST, O, OU, C, STREET, DC and UID). * Implementations MAY support additional keywords. * @param serialNumber the serial number * @return an <code>X509IssuerSerial</code> * @throws NullPointerException if <code>issuerName</code> or * <code>serialNumber</code> are <code>null</code> * @throws IllegalArgumentException if the issuer name is not RFC 2253 * compliant or one of the attribute type keywords is not recognized. */ public abstract X509IssuerSerial newX509IssuerSerial (String issuerName, BigInteger serialNumber); /** * Indicates whether a specified feature is supported. * * @param feature the feature name (as an absolute URI) * @return <code>true</code> if the specified feature is supported, * <code>false</code> otherwise * @throws NullPointerException if <code>feature</code> is <code>null</code> */ public abstract boolean isFeatureSupported(String feature); /** * Returns a reference to the <code>URIDereferencer</code> that is used by * default to dereference URIs in {@link RetrievalMethod} objects. * * @return a reference to the default <code>URIDereferencer</code> */ public abstract URIDereferencer getURIDereferencer(); /** * Unmarshals a new <code>KeyInfo</code> instance from a * mechanism-specific <code>XMLStructure</code> (ex: {@link DOMStructure}) * instance. * * @param xmlStructure a mechanism-specific XML structure from which to * unmarshal the keyinfo from * @return the <code>KeyInfo</code> * @throws NullPointerException if <code>xmlStructure</code> is * <code>null</code> * @throws ClassCastException if the type of <code>xmlStructure</code> is * inappropriate for this factory * @throws MarshalException if an unrecoverable exception occurs during * unmarshalling */ public abstract KeyInfo unmarshalKeyInfo(XMLStructure xmlStructure) throws MarshalException;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -