All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy