| package org.bouncycastle.cms.jcajce; |
| |
| import java.io.IOException; |
| |
| import org.bouncycastle.asn1.ASN1Encoding; |
| import org.bouncycastle.asn1.cms.ecc.ECCCMSSharedInfo; |
| import org.bouncycastle.asn1.x509.AlgorithmIdentifier; |
| import org.bouncycastle.util.Pack; |
| |
| class RFC5753KeyMaterialGenerator |
| implements KeyMaterialGenerator |
| { |
| public byte[] generateKDFMaterial(AlgorithmIdentifier keyAlgorithm, int keySize, byte[] userKeyMaterialParameters) |
| { |
| ECCCMSSharedInfo eccInfo = new ECCCMSSharedInfo(keyAlgorithm, userKeyMaterialParameters, Pack.intToBigEndian(keySize)); |
| |
| try |
| { |
| return eccInfo.getEncoded(ASN1Encoding.DER); |
| } |
| catch (IOException e) |
| { |
| throw new IllegalStateException("Unable to create KDF material: " + e); |
| } |
| } |
| } |