/** * Sign message. * * @param message Message to sign. * @return XMSS signature on digest of message. */ public byte[] sign(byte[] message) { if (message == null) { throw new NullPointerException("message == null"); } XMSSSigner signer = new XMSSSigner(); signer.init(true, privateKey); byte[] signature = signer.generateSignature(message); privateKey = (XMSSPrivateKeyParameters)signer.getUpdatedPrivateKey(); importState(privateKey, publicKey); return signature; }