postsuper -d ALL
postsuper -d ALL deferred
postsuper -d ALL deferred
function certParser(cert){
var lines = cert.split('\n');
var read = false;
var b64 = false;
var end = false;
var flag = '';
var retObj = {};
retObj.info = '';
retObj.salt = '';
retObj.iv;
retObj.b64 = '';
retObj.aes = false;
retObj.mode = '';
retObj.bits = 0;
for(var i=0; i< lines.length; i++){
flag = lines[i].substr(0,9);
if(i==1 && flag != 'Proc-Type' && flag.indexOf('M') == 0)//unencrypted cert?
b64 = true;
switch(flag){
case '-----BEGI':
read = true;
break;
case 'Proc-Type':
if(read)
retObj.info = lines[i];
break;
case 'DEK-Info:':
if(read){
var tmp = lines[i].split(',');
var dek = tmp[0].split(': ');
var aes = dek[1].split('-');
retObj.aes = (aes[0] == 'AES')?true:false;
retObj.mode = aes[2];
retObj.bits = parseInt(aes[1]);
retObj.salt = tmp[1].substr(0,16);
retObj.iv = tmp[1];
}
break;
case '':
if(read)
b64 = true;
break;
case '-----END ':
if(read){
b64 = false;
read = false;
}
break;
default:
if(read && b64)
retObj.b64 += pidCryptUtil.stripLineFeeds(lines[i]);
}
}
return retObj;
}
Cipher decryptRSACipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC")
decryptRSACipher.init(Cipher.DECRYPT_MODE, privateKey)
new String(decryptRSACipher.doFinal(hash.decodeBase64()).decodeBase64(), StandardCharsets.UTF_8)
static KeyPair getKeyPair(String pk, char [] password) {
PEMParser pemParser = new PEMParser(new CharArrayReader(pk.toCharArray()))
Object object = pemParser.readObject()
PEMDecryptorProvider decProv = new JcePEMDecryptorProviderBuilder().build(password)
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC")
KeyPair kp
if (object instanceof PEMEncryptedKeyPair) {
kp = converter.getKeyPair(((PEMEncryptedKeyPair) object).decryptKeyPair(decProv))
} else {
kp = converter.getKeyPair((org.bouncycastle.openssl.PEMKeyPair) object)
}
kp
}
dependencies {
compile("com.lowagie:itext:2.0.8") {
excludes "bouncycastle:bcprov-jdk14:138", "org.bouncycastle:bcprov-jdk14:1.38"
}
}