/** Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.*********************/package java.security.spec;/*** This class represents a public or private key in encoded format.** @author Jan Luehe*** @see java.security.Key* @see java.security.KeyFactory* @see KeySpec* @see X509EncodedKeySpec* @see PKCS8EncodedKeySpec** @since 1.2*/public abstract class EncodedKeySpec implements KeySpec {private byte[] encodedKey;private String algorithmName;/*** Creates a new {@code EncodedKeySpec} with the given encoded key.** @param encodedKey the encoded key. The contents of the* array are copied to protect against subsequent modification.* @throws NullPointerException if {@code encodedKey}* is null.*/public EncodedKeySpec(byte[] encodedKey) {this.encodedKey = encodedKey.clone();}/*** Creates a new {@code EncodedKeySpec} with the given encoded key.* This constructor is useful when subsequent callers of the* {@code EncodedKeySpec} object might not know the algorithm* of the key.** @param encodedKey the encoded key. The contents of the* array are copied to protect against subsequent modification.* @param algorithm the algorithm name of the encoded key* See the KeyFactory section in the <a href=* "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms">* Java Security Standard Algorithm Names Specification</a>* for information about standard algorithm names.* @throws NullPointerException if {@code encodedKey}* or {@code algorithm} is null.* @throws IllegalArgumentException if {@code algorithm} is* the empty string {@code ""}* @since 9*/protected EncodedKeySpec(byte[] encodedKey, String algorithm) {if (algorithm == null) {throw new NullPointerException("algorithm name may not be null");}if (algorithm.isEmpty()) {throw new IllegalArgumentException("algorithm name "+ "may not be empty");}this.encodedKey = encodedKey.clone();this.algorithmName = algorithm;}/*** Returns the name of the algorithm of the encoded key.** @return the name of the algorithm, or null if not specified* @since 9*/public String getAlgorithm() {return algorithmName;}/*** Returns the encoded key.** @return the encoded key. Returns a new array each time* this method is called.*/public byte[] getEncoded() {return this.encodedKey.clone();}/*** Returns the name of the encoding format associated with this* key specification.** <p>If the opaque representation of a key* (see {@link java.security.Key Key}) can be transformed* (see {@link java.security.KeyFactory KeyFactory})* into this key specification (or a subclass of it),* {@code getFormat} called* on the opaque key returns the same value as the* {@code getFormat} method* of this key specification.** @return a string representation of the encoding format.*/public abstract String getFormat();}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。