Alibwliapi example

This example demonstrates how libwliapi functions add and delete WLI file access policies.

A.1 Instructions

This example requires an authorized WLI administrator key.
<admin_key>WLI administrator's private key
<admin_pass>Passphrase for <admin_key>
1.Copy the makefile and source files below to a test directory.2.% su root3.The makefile builds executables, adds user wliusr1, and generates ukey.pvt# make all4.# wlicert -i wliusr1.inst1 -k <admin_key> -p pass:<admin_pass> ukey.pub

5.# wlicert -c wliusr1.inst1 -s -k <admin_key> -p pass:<admin_pass> -o api

6.# su wliusr17.% wlisign -a -k ukey.pvt -p pass:mypasswd -o api api_flac_test8.% wlisign -a -k ukey.pvt -p pass:mypasswd -o api api_ibac_test9.% api_flac_test10.% api_ibac_testCleanup:1.# wlicert -d wliusr1.inst1 -k <admin_key> -p pass:<admin_pass>2.# make clean

A.2 makefile

#Makefile for exercising libwliapi functions SHELL = /bin/sh

CC = cc LD = ld CFLAGS = +DD64

INCLUDES = -I/opt/wli/include -I/usr/include/openssl

#make secure binaries

LDOPTS = +noenvvar +nodefaultrpath +b/opt/wli/lib

LDPATH = -L/opt/wli/lib

#LIBS = -lwliapi -lsec -lcrypto LIBS = -lwliapi -lcrypto

COMPILE = $(CC) $(CFLAGS) $(INCLUDES)

.c.o:

$(COMPILE) -c $< -o $@

all: user_setup progs

progs: api_flac_test api_ibac_test

api_flac_test: api_flac_test.o

$(LD) -o $@ api_flac_test.o $(LDOPTS) $(LDPATH) $(LIBS) echo "flac test file" >flac_test

api_ibac_test: api_ibac_test.o

$(LD) -o $@ api_ibac_test.o $(LDOPTS) $(LDPATH) $(LIBS) echo "ibac test file" >ibac_test

ukey.pvt:

openssl genrsa -aes256 -passout pass:mypasswd -out ukey.pvt 2048

ukey.pub: ukey.pvt

A.1 Instructions

45