public static PemPriv cipherPrivFromString(String str) throws ParseException, NotSupportedException, IOException { if (MValidator.isUUID(str)) { MVault vault = MVaultUtil.loadDefault(); VaultEntry entry = vault.getEntry(UUID.fromString(str)); PemPriv key = MVaultUtil.adaptTo(entry, PemPriv.class); return key; } if (isPemBlock(str)) { PemBlockModel block = new PemBlockModel().parse(str); // return new PemKey(PemBlock.BLOCK_CIPHER).set(PemBlock.METHOD, block.getString(PemBlock.METHOD,"")).setBlock(block.getEncodedBlock()); return new PemKey(block); } String name = MString.beforeIndex(str, ':').toUpperCase().trim(); String key = MString.afterIndex(str, ':').trim(); return new PemKey(PemBlock.BLOCK_CIPHER).set(PemBlock.METHOD, name).setBlock(key); }
.set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, pub.getFormat()) .set(PemBlock.PRIV_ID, privId); PemKey xpriv = new PemKey(PemBlock.BLOCK_PRIV, privBytes, true ) .set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, priv.getFormat()) .set(PemBlock.PUB_ID, pubId); if (MString.isSet(passphrase)) xpriv.set(PemBlock.ENCRYPTED, PemBlock.ENC_BLOWFISH);
.set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, pub.getFormat()) .set(PemBlock.PRIV_ID, privId); PemKey xpriv = new PemKey(PemBlock.BLOCK_PRIV, privBytes, true ) .set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, priv.getFormat()) xpriv.set(PemBlock.ENCRYPTED, PemBlock.ENC_BLOWFISH); privBytes = null; return new PemKeyPair(xpriv, xpub);
.set(PemBlock.METHOD, getName()) .set("StdName", stdName) .set(PemBlock.FORMAT, pub.getFormat()) .set(PemBlock.PRIV_ID, privId); PemKey xpriv = new PemKey(PemBlock.BLOCK_PRIV, privBytes, true ) .set(PemBlock.METHOD, getName()) .set("StdName", stdName) .set(PemBlock.FORMAT, priv.getFormat()) xpriv.set(PemBlock.ENCRYPTED, PemBlock.ENC_BLOWFISH); privBytes = null; return new PemKeyPair(xpriv, xpub);
.set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, pub.getFormat()) .set(PemBlock.PRIV_ID, privId); PemKey xpriv = new PemKey(PemBlock.BLOCK_PRIV, privBytes, true ) .set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, priv.getFormat()) xpriv.set(PemBlock.ENCRYPTED, PemBlock.ENC_BLOWFISH); privBytes = null; return new PemKeyPair(xpriv, xpub);
.set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, pub.getFormat()) .set(PemBlock.PRIV_ID, privId); PemKey xpriv = new PemKey(PemBlock.BLOCK_PRIV, privBytes, true ) .set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, priv.getFormat()) .set(PemBlock.PUB_ID, pubId); if (MString.isSet(passphrase)) xpriv.set(PemBlock.ENCRYPTED, PemBlock.ENC_BLOWFISH);
.set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, pub.getFormat()) .set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, len) .set(PemBlock.FORMAT, priv.getFormat()) xpriv.set(PemBlock.ENCRYPTED, PemBlock.ENC_BLOWFISH); privBytes = null; return new PemKeyPair(xpriv, xpub);
@Override public PemPair createKeys(IProperties properties) throws MException { int length = properties.getInt(CryptApi.LENGTH, 256); length = length / 8 * 8; byte[] key = new byte[length/8]; MRandom random = MApi.lookup(MRandom.class); for (int i = 0; i < key.length; i++) key[i] = random.getByte(); UUID privId = UUID.randomUUID(); PemKey xpriv = new PemKey(PemBlock.BLOCK_PRIV, key, true ) .set(PemBlock.METHOD, getName()) .set(PemBlock.LENGTH, length) .set(PemBlock.IDENT, privId); return new PemKeyPair(xpriv, xpriv); }
public static PemPriv signPrivFromString(String str) throws Exception, NotSupportedException, IOException { if (MValidator.isUUID(str)) { MVault vault = MVaultUtil.loadDefault(); VaultEntry entry = vault.getEntry(UUID.fromString(str)); PemPriv key = MVaultUtil.adaptTo(entry, PemPriv.class); return key; } if (isPemBlock(str)) { PemBlockModel block = new PemBlockModel().parse(str); // return new PemKey(PemBlock.BLOCK_CIPHER).set(PemBlock.METHOD, block.getString(PemBlock.METHOD,"")).setBlock(block.getEncodedBlock()); return new PemKey(block); } String name = MString.beforeIndex(str, ':'); String key = MString.afterIndex(str, ':'); return new PemKey(PemBlock.BLOCK_SIGN).set(PemBlock.METHOD, name).setBlock(key); }
public static PemPub signPubFromString(String str) throws NotSupportedException, IOException, ParseException { if (MValidator.isUUID(str)) { MVault vault = MVaultUtil.loadDefault(); VaultEntry entry = vault.getEntry(UUID.fromString(str)); PemPub key = MVaultUtil.adaptTo(entry, PemPub.class); return key; } if (isPemBlock(str)) { PemBlockModel block = new PemBlockModel().parse(str); // return new PemKey(PemBlock.BLOCK_CIPHER).set(PemBlock.METHOD, block.getString(PemBlock.METHOD,"")).setBlock(block.getEncodedBlock()); return new PemKey(block); } String name = MString.beforeIndex(str, ':'); String key = MString.afterIndex(str, ':'); return new PemKey(PemBlock.BLOCK_SIGN).set(PemBlock.METHOD, name).setBlock(key); }
public static PemPub cipherPubFromString(String str) throws ParseException, NotSupportedException, IOException { if (MValidator.isUUID(str)) { MVault vault = MVaultUtil.loadDefault(); VaultEntry entry = vault.getEntry(UUID.fromString(str)); PemPub key = MVaultUtil.adaptTo(entry, PemPub.class); return key; } if (isPemBlock(str)) { PemBlockModel block = new PemBlockModel().parse(str); // return new PemKey(PemBlock.BLOCK_CIPHER).set(PemBlock.METHOD, block.getString(PemBlock.METHOD,"")).setBlock(block.getEncodedBlock()); return new PemKey(block); } String name = MString.beforeIndex(str, ':'); String key = MString.afterIndex(str, ':'); return new PemKey(PemBlock.BLOCK_CIPHER).set(PemBlock.METHOD, name).setBlock(key); }