WHAt
This commit is contained in:
parent
a71aa786d5
commit
fbe96f6469
37621
javascript/classes.js
37621
javascript/classes.js
File diff suppressed because one or more lines are too long
|
@ -185,7 +185,7 @@ public class CryptManager
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Cipher var3 = Cipher.getInstance(par1Str);
|
Cipher var3 = Cipher.getInstance(par1Str);
|
||||||
var3.init(par0, par2Key);
|
var3.init(par0, (java.security.Key) par2Key);
|
||||||
return var3;
|
return var3;
|
||||||
}
|
}
|
||||||
catch (InvalidKeyException var4)
|
catch (InvalidKeyException var4)
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
package me.ayunami2000.ayuncraft;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
|
public class ParseRSAPublicKey {
|
||||||
|
private static final int SEQUENCE = 0x30;
|
||||||
|
private static final int INTEGER = 0x02;
|
||||||
|
private final ByteBuffer derBuf;
|
||||||
|
|
||||||
|
public ParseRSAPublicKey(byte[] der) {
|
||||||
|
derBuf = ByteBuffer.wrap(der);
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte get() {
|
||||||
|
return derBuf.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the next byte of the buffer as an int
|
||||||
|
*/
|
||||||
|
public int getAsInt() {
|
||||||
|
return get() & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getArray(int len) {
|
||||||
|
byte [] arr = new byte[len];
|
||||||
|
derBuf.get(arr);
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int parseId() {
|
||||||
|
// Only the low-tag form is legal.
|
||||||
|
int idOctect = getAsInt();
|
||||||
|
if (idOctect >= 0x31) {
|
||||||
|
throw new RuntimeException("Invalid identifier octets");
|
||||||
|
}
|
||||||
|
return idOctect;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long parseLength() {
|
||||||
|
int octet1 = getAsInt();
|
||||||
|
if (octet1 < 128) {
|
||||||
|
// short form of length
|
||||||
|
return octet1;
|
||||||
|
} else {
|
||||||
|
// long form of length
|
||||||
|
int lengthOfLength = octet1 & 0x7f;
|
||||||
|
BigInteger bigLen = new BigInteger(1, getArray(lengthOfLength));
|
||||||
|
|
||||||
|
if (bigLen.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0){
|
||||||
|
throw new RuntimeException("Length is too long");
|
||||||
|
}
|
||||||
|
return bigLen.longValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigInteger parseInteger() {
|
||||||
|
if (parseId() != INTEGER) {
|
||||||
|
throw new RuntimeException("expected SEQUENCE tag");
|
||||||
|
}
|
||||||
|
|
||||||
|
long length = parseLength();
|
||||||
|
if (length > Integer.MAX_VALUE){
|
||||||
|
throw new RuntimeException("Length is too long");
|
||||||
|
}
|
||||||
|
return new BigInteger(1, getArray((int) length));
|
||||||
|
}
|
||||||
|
public BigInteger[] parse() {
|
||||||
|
// Parse SEQUENCE header
|
||||||
|
if (parseId() != SEQUENCE) {
|
||||||
|
throw new RuntimeException("expected SEQUENCE tag");
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
long seqLength = parseLength(); // We ignore this
|
||||||
|
|
||||||
|
// Parse INTEGER modulus
|
||||||
|
BigInteger n = parseInteger();
|
||||||
|
BigInteger e = parseInteger();
|
||||||
|
return new BigInteger[] {n, e};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -61,6 +61,11 @@ public class CryptManager
|
||||||
b[i] = (byte) (a.get(i) & 0xFF);
|
b[i] = (byte) (a.get(i) & 0xFF);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//ParseRSAPublicKey parser = new ParseRSAPublicKey(par0ArrayOfByte);
|
||||||
|
//BigInteger[] results = parser.parse();
|
||||||
|
|
||||||
|
//return new RSAPublicKeySpec(results[0],results[1]);
|
||||||
return new ModifiablePublicKey("RSA","X.509",par0ArrayOfByte);
|
return new ModifiablePublicKey("RSA","X.509",par0ArrayOfByte);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package me.ayunami2000.ayuncraft.java.security.spec;
|
||||||
|
|
||||||
|
public interface AlgorithmParameterSpec { }
|
|
@ -23,24 +23,10 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package java.security.spec;
|
package me.ayunami2000.ayuncraft.java.security.spec;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
|
||||||
/**
|
|
||||||
* This class specifies an RSA public key.
|
|
||||||
*
|
|
||||||
* @author Jan Luehe
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @see java.security.Key
|
|
||||||
* @see java.security.KeyFactory
|
|
||||||
* @see KeySpec
|
|
||||||
* @see X509EncodedKeySpec
|
|
||||||
* @see RSAPrivateKeySpec
|
|
||||||
* @see RSAPrivateCrtKeySpec
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class RSAPublicKeySpec implements KeySpec {
|
public class RSAPublicKeySpec implements KeySpec {
|
||||||
|
|
||||||
private final BigInteger modulus;
|
private final BigInteger modulus;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user