'Make a new association.
@param dumb: Is this association for a dumb-mode transaction?
@type dumb: bool
@param assoc_type: The type of association to create.  Currently
there is only one type defined, C{HMAC-SHA1}.
@type assoc_type: str
@returns: the new association.
@returntype: L{openid.association.Association}'

def createAssociation(self, dumb=True, assoc_type='HMAC-SHA1'):

    secret = cryptutil.getBytes(getSecretSize(assoc_type))
    uniq = oidutil.toBase64(cryptutil.getBytes(4))
    handle = ('{%s}{%x}{%s}' % (assoc_type, int(time.time()), uniq))
    assoc = Association.fromExpiresIn(self.SECRET_LIFETIME, handle, secret, assoc_type)
    if dumb:
        key = self._dumb_key
    else:
        key = self._normal_key
    self.store.storeAssociation(key, assoc)
    return assoc
