下面列出了java.security.Key#getFormat ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void addOpeningTag(Key key, StringBuilder sb) {
String format = key.getFormat();
if (key instanceof PrivateKey) {
if (format.equals("PKCS#1")) {
sb.append(PEM.PKCS_1_PRIVATE_KEY_PREFIX).append("\n");
} else if (format.equals("PKCS#8")) {
sb.append(PEM.PKCS_8_PRIVATE_KEY_PREFIX).append("\n");
} else {
throw new PEMEncoderException(
new InvalidParameterException("Unexpected Private Key format, expecting PKCS#1 or PKCS#8 but found " + format + "."));
}
} else {
if (format.equals("X.509")) {
sb.append(PEM.X509_PUBLIC_KEY_PREFIX).append("\n");
} else {
throw new PEMEncoderException(
new InvalidParameterException("Unexpected Public Key format, expecting X.509 but found " + format + "."));
}
}
}
public SignatureKeyImpl(Key publicKey) {
this(publicKey.getEncoded(), publicKey.getAlgorithm(), publicKey.getFormat());
}
public void execute(Object... args) {
// let's not care about init since we are hooking
// the key class already
// BUT it can be useful to get a state of the mode
// if needed later
if (_resources != null) {
try {
_lastCipher = (Cipher) _resources;
// get the mode
Integer mode = _lastMode = (Integer) args[0];
String smode;
switch (mode) {
case Cipher.DECRYPT_MODE:
smode = "DECRYPT_MODE";
break;
case Cipher.ENCRYPT_MODE:
smode = "ENCRYPT_MODE";
break;
default:
smode = "???";
}
_logBasicInfo();
String out = "-> Mode: " + smode;
// get the key
Key key = (Key) args[1];
String skey = "";
if (key != null) {
skey = _getReadableByteArr(key.getEncoded());
out += ", Key format: " + key.getFormat() +
", Key: [" + skey + "]";
}
_logParameter("Mode", smode);
_logParameter("Key", skey);
_logParameter("Key Format", key.getFormat());
_logFlush_I(out);
} catch (Exception e) {
Log.w(_TAG_ERROR, "Error in Intro_CRYPTO: " + e);
}
}
}