## Conceder los Permisos Requeridos

Para conceder permiso al applet WriteFile para que cree y escriva el fichero writetest, debemos crear una entrada de policía concediendo este permiso. Para hacer esto, elegimos el botón Add Policy Entry en la pantalla principal de Policy Tool. Esto nos trae la caja de diálogo Policy Entry, como se muestra en la figura siguiente:

Esta imagen se ha reducido para que quepa en la página.
Pulsa sobre ella para verla a su tamaño natural.

Una entrada de policía especifica uno o más permisos para el código de una fuente de código - código de una localización (URL= particular, código firmado por una entidad particular, o ambos.

Las cajas de texto CodeBase y SignedBy se usan para especificar el código al que queremos conceder los permisos.

- Un valor CodeBase indica la localización del código fuente; concedemos el permiso(s) a todo el código proveniente de esa localización. Un entrada CodeBase vacía significa "cualquier código" -- no importa de donde venga.

- Un valor SignedBy indica el alias para un certificado almacenado en un keystore. La clave pública dentro del certificado es utilizada para verificar la firma digital del código, concedemos el permiso(s) al código firmado con la clave privada correspondiente a la clave pública de la entrad del keystore especificada por el alias. La entrada SignedBy es opcional; omitirla significa "cualquier firmante" -- no importa si el código está firmado ni por quíen.

Se tenemos ambas, una entrada CodeBase y otra SignedBy, los permisos sólo serán concedidos al código que venga de esa localización y esté firmado por el alias correspondiente.

Para conceder el permiso que necesita WriteFile, podemos concederselo a todo el código de la localización (URL) donde se encuentra WriteFile.class.

Teclea la siguiente URL en la caja de exto CodeBase en la caja de diálogo Policy Entry:

    http://java.sun.com/docs/books/tutorial/security1.2/tour1/example-1dot2/

Dejaremos la caja de texto SignedBy en blanco, ya que no necesitamos que el código esté firmado.

> Nota: Si queremos conceder el permiso a cualquier código (fichero .class) no sólo del subdirectorio específicado préviamente sino del directorio security1.2 y todos sus subdirectorios, podríamos tecelar la siguiente URL en la caja CodeBase:

>     http://java.sun.com/docs/books/tutorial/security1.2/-

Hemos especificado de dónde viene el código (el CodeBase), y que el código no tiene porqué estar firmado (ya que no hay valor en SignedBy). Ahora estamos listos para concederle permisos al código

Pulsamos el botón Add Permission para traer la caja de diálogo Permissions.

Esta imagen se ha reducido para que quepa en la página.
Pulsa sobre ella para verla a su tamaño natural.
Hacemos los siguiente para conceder al código del CodeBase especificado el permiso para escribir (y por lo tanto crear) el fichero llamado writetest.

1. Elegimos File Permission de la lista desplegable Permission. Aparecerá el nombre completo del tipo de permiso (java.io.FilePermission) en la caja de texto a la derecha de la lista desplegable.

2. Tecleamos lo siguiente en el caja d etexto a la derecha de la lista etiquetada Target Name para especificar el fichero writetest:

       writetest

3. Especificamos acceso de escritura eligiendo la opción write de la lista desplegable Actions.

Ahora el diálogo Permissions de parecerá a est:.

Esta imagen se ha reducido para que quepa en la página.
Pulsa sobre ella para verla a su tamaño natural.

Elegimos el botón OK. El nuevo permiso aparece en una línea en el diágolo Policy Entry. Por eso ahora el diálogo Policy Entry se parecerá a esto:

Esta imagen se ha reducido para que quepa en la página.
Pulsa sobre ella para verla a su tamaño natural.

Ya hemos especificado la entrada de policía, por eso elegimos el botón Done en el diálogo Policy Entry. Ahora la ventana de Policy Tool contiene una línea que representa la entrada de policía, mostrando el valor CodeBase:.

Esta imagen se ha reducido para que quepa en la página.
Pulsa sobre ella para verla a su tamaño natural.

Ozito