com.samsung.knoxwsm.util.KnoxHeaderUtility Maven / Gradle / Ivy
package com.samsung.knoxwsm.util;
import com.samsung.knoxwsm.header.KnoxHeaders;
import org.apache.commons.codec.binary.Base64;
import java.io.InputStream;
import java.security.PublicKey;
import static com.samsung.knoxwsm.util.KnoxTokenUtility.generateKnoxIdentity;
import static com.samsung.knoxwsm.util.KnoxTokenUtility.generateSignedAccessTokenJWT;
/**
* Created by k.nagraj on 9/7/18.
*/
public class KnoxHeaderUtility {
public static KnoxHeaders.KnoxHeader generateUserIdentifierHeader(InputStream inputStream) {
final KnoxHeaders.KnoxHeader userIdentifier = KnoxHeaders.USER_IDENTIFIER_HEADER;
PublicKey publicKey = generateKnoxIdentity(inputStream).getKeyPair().getPublic();
userIdentifier.setValue(Base64.encodeBase64String(publicKey.getEncoded()));
return userIdentifier;
}
public static KnoxHeaders.KnoxHeader generateAccessTokenHeader(InputStream inputStream, String accessToken) {
final KnoxHeaders.KnoxHeader accessTokenHeader = KnoxHeaders.ACCESS_TOKEN_HEADER;
accessTokenHeader.setValue(generateSignedAccessTokenJWT(inputStream, accessToken));
return accessTokenHeader;
}
}