Mercury-IM/domain/src/main/java/org/jivesoftware/smackx/ikey/IkeySignatureCreator.java

27 lines
1006 B
Java

package org.jivesoftware.smackx.ikey;
import org.jivesoftware.smack.util.stringencoder.Base64;
import org.jivesoftware.smackx.ikey.element.ProofElement;
import org.jivesoftware.smackx.ikey.element.SignedElement;
import org.jivesoftware.smackx.ikey.element.SubordinateListElement;
import org.jivesoftware.smackx.ikey.mechanism.IkeySignatureCreationMechanism;
import java.io.IOException;
public class IkeySignatureCreator {
private final IkeySignatureCreationMechanism signatureCreationMechanism;
public IkeySignatureCreator(IkeySignatureCreationMechanism signingMechanism) {
this.signatureCreationMechanism = signingMechanism;
}
public ProofElement createProofFor(SubordinateListElement subordinateListElement)
throws IOException {
byte[] utf8 = new SignedElement(subordinateListElement).getUtf8Bytes();
byte[] signature = signatureCreationMechanism.createSignature(utf8);
return new ProofElement(Base64.encodeToString(signature));
}
}