/** * Build and return a BCFKSLoadStoreParameter. * * @return a new BCFKSLoadStoreParameter. */ public BCFKSLoadStoreParameter build() { return new BCFKSLoadStoreParameter(this); } }
hmacPkbdAlgorithm = generatePkbdAlgorithmIdentifier(bcParam.getStorePBKDFConfig(), 512 / 8); if (bcParam.getStoreEncryptionAlgorithm() == BCFKSLoadStoreParameter.EncryptionAlgorithm.AES256_CCM) if (bcParam.getStoreMacAlgorithm() == BCFKSLoadStoreParameter.MacAlgorithm.HmacSHA512) this.verificationKey = (PublicKey)bcParam.getStoreSignatureKey(); this.validator = bcParam.getCertChainValidator(); this.signatureAlgorithm = generateSignatureAlgId(verificationKey, bcParam.getStoreSignatureAlgorithm()); InputStream inputStream = bcParam.getInputStream(); !isSimilarHmacPbkd(bcParam.getStorePBKDFConfig(), hmacPkbdAlgorithm) || !presetStoreEncryptionAlgorithm.equals(storeEncryptionAlgorithm))
if (bcParam.getStoreSignatureKey() != null) signatureAlgorithm = generateSignatureAlgId(bcParam.getStoreSignatureKey(), bcParam.getStoreSignatureAlgorithm()); hmacPkbdAlgorithm = generatePkbdAlgorithmIdentifier(bcParam.getStorePBKDFConfig(), 512 / 8); if (bcParam.getStoreEncryptionAlgorithm() == BCFKSLoadStoreParameter.EncryptionAlgorithm.AES256_CCM) if (bcParam.getStoreMacAlgorithm() == BCFKSLoadStoreParameter.MacAlgorithm.HmacSHA512) sig.initSign((PrivateKey)bcParam.getStoreSignatureKey()); X509Certificate[] certs = bcParam.getStoreCertificates(); bcParam.getOutputStream().write(store.getEncoded()); bcParam.getOutputStream().flush(); hmacPkbdAlgorithm = generatePkbdAlgorithmIdentifier(bcParam.getStorePBKDFConfig(), 512 / 8); if (bcParam.getStoreEncryptionAlgorithm() == BCFKSLoadStoreParameter.EncryptionAlgorithm.AES256_CCM) if (bcParam.getStoreMacAlgorithm() == BCFKSLoadStoreParameter.MacAlgorithm.HmacSHA512) engineStore(bcParam.getOutputStream(), password);