private S3Object decipherWithInstFileSuffix(GetObjectRequest req,
            long[] desiredRange, long[] cryptoRange, S3Object retrieved,
            String instFileSuffix) {
        final S3ObjectId id = req.getS3ObjectId();
        // Check if encrypted info is in an instruction file
        final S3ObjectWrapper ifile = fetchInstructionFile(id, instFileSuffix);
        if (ifile == null) {
            throw new SdkClientException("Instruction file with suffix "
                    + instFileSuffix + " is not found for " + retrieved);
        }
        try {
            return decipherWithInstructionFile(req, desiredRange,
                    cryptoRange, new S3ObjectWrapper(retrieved, id), ifile);
        } finally {
            closeQuietly(ifile, log);
        }
    }
private S3Object decipherWithInstFileSuffix ( GetObjectRequest req , long [ ] desiredRange , long [ ] cryptoRange , S3Object retrieved , String instFileSuffix ) { final S3ObjectId id = req . getS3ObjectId ( ) ; final S3ObjectWrapper ifile = fetchInstructionFile ( id , instFileSuffix ) ; if ( ifile == null ) { throw new SdkClientException ( "Instruction file with suffix " + instFileSuffix + " is not found for " + retrieved ) ; } try { return decipherWithInstructionFile ( req , desiredRange , cryptoRange , new S3ObjectWrapper ( retrieved , id ) , ifile ) ; } finally { closeQuietly ( ifile , log ) ; } }
Same as {@link #decipher(GetObjectRequest, long[], long[], S3Object)}
but makes use of an instruction file with the specified suffix.
@param instFileSuffix never null or empty (which is assumed to have been
sanitized upstream.)