there is not "one way" to do this, actually. i know of at least three methods depending on which approach you prefer the most.
because i'm biased towards things i like, i'm gonna show you the method i prefer (and point you towards the R packages that use the other two approaches).
the method i like is described
here.
you can copy-paste (and declare) the R functions from
here
as a quick example of the function i'm pretending i have some awesome dataset with a correlation of 0.3, and sample size of 178. i'm using a 95% confidence level and declarin iterations = 1000 just for teh lulz
Code:
> CIR.r(0.3, df=176, conf=0.95, iter=1000)
2.5% 97.5%
0.1595146 0.4272240
the df=176 comes from the usual significance testing for the correlation coefficient of N-2
the other two approaches i know are in the MBESS package (that uses the non-central distributions we talked about) and the bootES package (this one uses the bootstrap). the first method i showed you before relies on fiducial probability distributions (which are a nice segway to Bayesian posterior distributions) so i like those.
keep in mind that if you use the MBESS package you'll need to reframe your probelm as a regression problem. which is not too big of a deal because in the context of y ~ b*x + e, the 'b' standardized regression coefficient is the correlation coefficient when there are no other predictors.
if you read the link i attached alongside with the documentation for the MBESS package (which you can find
here you'll see that finding confidence intervals for STANDARDIZED effect sizes (Cohen's d, Pearson's, rho and basically anything that is worth talking about) is *A LOT* more complicated than it seems initially. which is why i doubt the program you showed me earlier is doing things the way it's supposed to do them.
have fun.